Skip to content

Commit 453d41f

Browse files
committed
feat!: migrate to biome
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
1 parent d5f82ff commit 453d41f

79 files changed

Lines changed: 3054 additions & 7751 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/devcontainer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "Debian",
3-
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
2+
"name": "ts-dev-tools",
3+
"image": "mcr.microsoft.com/devcontainers/base:debian",
44
"features": {
55
"ghcr.io/devcontainers/features/node:2": {},
66
"ghcr.io/devcontainers/features/github-cli:1": {}

package-lock.json

Lines changed: 389 additions & 6668 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
"repository": "git@github.com:escemi-tech/ts-dev-tools.git",
66
"author": "ESCEMI <contact@escemi.com>",
77
"private": true,
8+
"engines": {
9+
"node": ">=18"
10+
},
811
"workspaces": [
912
"packages/*"
1013
],
@@ -21,6 +24,7 @@
2124
"ci": "npm run lint:fix && npm run build && npm run test:ci"
2225
},
2326
"devDependencies": {
27+
"@biomejs/biome": "^2.4.8",
2428
"@commitlint/cli": "^21.0.1",
2529
"@commitlint/config-nx-scopes": "^21.0.1",
2630
"lerna": "^9.0.7",
@@ -33,8 +37,8 @@
3337
]
3438
},
3539
"lint-staged": {
36-
"*.{js,ts,tsx}": [
37-
"eslint --fix"
40+
"*.{js,ts,tsx,mjs,cjs,json}": [
41+
"biome check --write"
3842
]
3943
}
4044
}

packages/core/biome.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/2.4.6/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true,
7+
"root": "../.."
8+
},
9+
"formatter": {
10+
"enabled": true,
11+
"indentStyle": "space"
12+
},
13+
"linter": {
14+
"enabled": true,
15+
"rules": {
16+
"recommended": true
17+
}
18+
},
19+
"javascript": {
20+
"formatter": {
21+
"quoteStyle": "double"
22+
}
23+
},
24+
"assist": {
25+
"enabled": true,
26+
"actions": {
27+
"source": {
28+
"organizeImports": "on"
29+
}
30+
}
31+
}
32+
}

packages/core/eslint.config.mjs

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

packages/core/package.json

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
"files": [
2121
"/dist"
2222
],
23+
"engines": {
24+
"node": ">=18"
25+
},
2326
"publishConfig": {
2427
"access": "public"
2528
},
@@ -36,49 +39,26 @@
3639
"test:unit": "npm run test -- --testPathPattern \".+spec\\.ts\"",
3740
"test:e2e": "npm run test -- --testPathPattern \".+e2e\\.spec\\.ts\"",
3841
"test:coverage": "npm run test -- --coverage",
39-
"lint": "eslint \"src/**/*.{ts,tsx}\"",
40-
"lint:ci": "npm run lint -- --output-file eslint-report.json --format json"
42+
"lint": "biome lint src",
43+
"lint:fix": "biome check --write src",
44+
"lint:ci": "biome check src"
4145
},
4246
"bugs": {
4347
"url": "https://github.com/escemi-tech/ts-dev-tools/issues"
4448
},
4549
"dependencies": {
50+
"@biomejs/biome": "^2.4.8",
4651
"@commitlint/cli": "^21.0.1",
4752
"@commitlint/config-conventional": "^21.0.1",
48-
"@eslint/js": "^10.0.1",
49-
"@prettier/plugin-oxc": "^0.1.4",
5053
"@types/jest": "^30.0.0",
5154
"@types/node": "^25.9.1",
52-
"eslint": "^10.4.0",
53-
"eslint-config-prettier": "^10.1.8",
54-
"eslint-plugin-jest": "^29.15.2",
55-
"globals": "^17.6.0",
56-
"import-sort-style-module": "^6.0.0",
5755
"jest": "^30.4.2",
58-
"lint-staged": "^17.0.5",
59-
"prettier": "^3.8.3",
60-
"prettier-plugin-import-sort": "^0.0.7",
61-
"pretty-quick": "^4.2.2",
6256
"ts-jest": "^29.4.11",
63-
"typescript": "^6.0.3",
64-
"typescript-eslint": "^8.60.0"
57+
"typescript": "^6.0.3"
6558
},
6659
"devDependencies": {
6760
"ts-node": "^10.9.2"
6861
},
69-
"prettier": {
70-
"semi": true,
71-
"printWidth": 100,
72-
"trailingComma": "es5",
73-
"plugins": [
74-
"@prettier/plugin-oxc"
75-
]
76-
},
77-
"importSort": {
78-
".js, .jsx, .ts, .tsx": {
79-
"style": "module"
80-
}
81-
},
8262
"jest": {
8363
"preset": "ts-jest",
8464
"testEnvironment": "node",

packages/core/src/__snapshots__/core.e2e.spec.ts.snap

Lines changed: 47 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,18 @@ Applying migration "core - 20250623095500-add-prettier-oxc"...
1616
Migration "core - 20250623095500-add-prettier-oxc" applied!
1717
Applying migration "core - 20250623095600-remove-prettier-oxc"...
1818
Migration "core - 20250623095600-remove-prettier-oxc" applied!
19+
Applying migration "core - 20260311120000-migrate-to-biome"...
20+
Migration "core - 20260311120000-migrate-to-biome" applied!
1921
Symlinking dev dependencies...
22+
- Symlinking @biomejs/biome
2023
- Symlinking @commitlint/cli
2124
- Symlinking @commitlint/config-conventional
22-
- Symlinking @eslint/js
23-
- Symlinking @prettier/plugin-oxc
2425
- Symlinking @types/jest
2526
- Symlinking @types/node
26-
- Symlinking eslint
27-
- Symlinking eslint-config-prettier
28-
- Symlinking eslint-plugin-jest
29-
- Symlinking globals
30-
- Symlinking import-sort-style-module
3127
- Symlinking jest
32-
- Symlinking lint-staged
33-
- Symlinking prettier
34-
- Symlinking prettier-plugin-import-sort
35-
- Symlinking pretty-quick
3628
- Symlinking ts-jest
37-
- Symlinking typescript-eslint
3829
Symlinking dev dependencies done!
3930
Resolving peer dependencies...
40-
- Symlinking peer dependency "jiti" required by "eslint"
41-
- Symlinking peer dependency "@typescript-eslint/eslint-plugin" required by "eslint-plugin-jest"
4231
- Symlinking peer dependency "@babel/core" required by "ts-jest"
4332
- Symlinking peer dependency "@jest/transform" required by "ts-jest"
4433
- Symlinking peer dependency "@jest/types" required by "ts-jest"
@@ -69,29 +58,18 @@ Applying migration "core - 20250623095500-add-prettier-oxc"...
6958
Migration "core - 20250623095500-add-prettier-oxc" applied!
7059
Applying migration "core - 20250623095600-remove-prettier-oxc"...
7160
Migration "core - 20250623095600-remove-prettier-oxc" applied!
61+
Applying migration "core - 20260311120000-migrate-to-biome"...
62+
Migration "core - 20260311120000-migrate-to-biome" applied!
7263
Symlinking dev dependencies...
64+
- Symlinking @biomejs/biome
7365
- Symlinking @commitlint/cli
7466
- Symlinking @commitlint/config-conventional
75-
- Symlinking @eslint/js
76-
- Symlinking @prettier/plugin-oxc
7767
- Symlinking @types/jest
7868
- Symlinking @types/node
79-
- Symlinking eslint
80-
- Symlinking eslint-config-prettier
81-
- Symlinking eslint-plugin-jest
82-
- Symlinking globals
83-
- Symlinking import-sort-style-module
8469
- Symlinking jest
85-
- Symlinking lint-staged
86-
- Symlinking prettier
87-
- Symlinking prettier-plugin-import-sort
88-
- Symlinking pretty-quick
8970
- Symlinking ts-jest
90-
- Symlinking typescript-eslint
9171
Symlinking dev dependencies done!
9272
Resolving peer dependencies...
93-
- Symlinking peer dependency "jiti" required by "eslint"
94-
- Symlinking peer dependency "@typescript-eslint/eslint-plugin" required by "eslint-plugin-jest"
9573
- Symlinking peer dependency "@babel/core" required by "ts-jest"
9674
- Symlinking peer dependency "@jest/transform" required by "ts-jest"
9775
- Symlinking peer dependency "@jest/types" required by "ts-jest"
@@ -109,10 +87,11 @@ Installation done!"
10987
exports[`E2E - core Simple project Installs core package 2`] = `
11088
{
11189
"build": "tsc --noEmit",
90+
"check": "biome check --write .",
11291
"dev": "vite",
113-
"format": "prettier --cache --write '**/*.ts'",
92+
"format": "biome format --write .",
11493
"jest": "jest --detectOpenHandles --forceExit",
115-
"lint": "eslint "src/**/*.{ts,tsx}"",
94+
"lint": "biome lint .",
11695
"prepare": "ts-dev-tools install",
11796
"preview": "vite preview",
11897
"test": "npm run jest --maxWorkers=50%",
@@ -123,15 +102,6 @@ exports[`E2E - core Simple project Installs core package 2`] = `
123102
`;
124103

125104
exports[`E2E - core Simple project Installs core package 3`] = `
126-
{
127-
"plugins": [],
128-
"printWidth": 100,
129-
"semi": true,
130-
"trailingComma": "es5",
131-
}
132-
`;
133-
134-
exports[`E2E - core Simple project Installs core package 4`] = `
135105
{
136106
"collectCoverageFrom": [
137107
"**/src/**/*.[jt]s?(x)",
@@ -144,3 +114,41 @@ exports[`E2E - core Simple project Installs core package 4`] = `
144114
],
145115
}
146116
`;
117+
118+
exports[`E2E - core Simple project Installs core package 4`] = `
119+
"{
120+
"$schema": "https://biomejs.dev/schemas/__VERSION__/schema.json",
121+
"vcs": {
122+
"enabled": true,
123+
"clientKind": "git",
124+
"useIgnoreFile": true
125+
},
126+
"files": {
127+
"ignoreUnknown": false
128+
},
129+
"formatter": {
130+
"enabled": true,
131+
"indentStyle": "tab"
132+
},
133+
"linter": {
134+
"enabled": true,
135+
"rules": {
136+
"recommended": true
137+
}
138+
},
139+
"javascript": {
140+
"formatter": {
141+
"quoteStyle": "double"
142+
}
143+
},
144+
"assist": {
145+
"enabled": true,
146+
"actions": {
147+
"source": {
148+
"organizeImports": "on"
149+
}
150+
}
151+
}
152+
}
153+
"
154+
`;

packages/core/src/bin.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { resolve as resolvePath } from "path";
1+
import { resolve as resolvePath } from "node:path";
22

33
import { exec } from "./tests/cli";
44

55
function execBin(cmd?: string) {
66
return exec(
77
resolvePath("./__tests__/test-project"),
8-
`ts-node ${resolvePath("./src/bin.ts")} ${cmd || ""}`.trim()
8+
`ts-node ${resolvePath("./src/bin.ts")} ${cmd || ""}`.trim(),
99
);
1010
}
1111

packages/core/src/bin.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
22

3-
import { dirname, join } from "path";
3+
import { dirname, join } from "node:path";
44

55
import { PROJECT_NAME } from "./constants";
66
import { install } from "./install/command";
@@ -22,7 +22,9 @@ async function bin() {
2222
});
2323
break;
2424
case ["--version", "-v"].includes(arg):
25-
console.info(PackageJson.fromDirPath(join(__dirname, "..")).getPackageVersion());
25+
console.info(
26+
PackageJson.fromDirPath(join(__dirname, "..")).getPackageVersion(),
27+
);
2628
break;
2729
default:
2830
console.info(`Usage

0 commit comments

Comments
 (0)