From 5331a0513641fb66083821594cf8a268208a2258 Mon Sep 17 00:00:00 2001 From: Shaun Campbell Date: Fri, 20 Feb 2026 22:15:22 -0500 Subject: [PATCH] ci) switch linting to biome --- .gitea/workflows/pr-checks.yml | 2 +- README.md | 2 +- biome.json | 14 ++++++++++++++ bun.lock | 19 +++++++++++++++++++ package.json | 3 ++- 5 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 biome.json diff --git a/.gitea/workflows/pr-checks.yml b/.gitea/workflows/pr-checks.yml index 2ef6e5e..589747f 100644 --- a/.gitea/workflows/pr-checks.yml +++ b/.gitea/workflows/pr-checks.yml @@ -29,7 +29,7 @@ jobs: run: bun install --frozen-lockfile - name: Lint - run: bun run lint -- --format unix + run: bun run lint - name: Unit tests run: bun run test diff --git a/README.md b/README.md index fb35fc5..0da085c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A SvelteKit travel planning app for managing trips, travelers, transportation, l - SvelteKit + TypeScript - SQLite (`better-sqlite3`) - Vitest for unit tests -- ESLint + Prettier for code quality +- Biome + Prettier for code quality - Bun for local/deploy build workflows - Docker multi-stage build for production image diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..54fbc00 --- /dev/null +++ b/biome.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.4.4/schema.json", + "files": { + "includes": [ + "src/**/*.ts", + "src/**/*.js", + "src/**/*.mjs", + "src/**/*.cjs" + ] + }, + "linter": { + "enabled": true + } +} diff --git a/bun.lock b/bun.lock index 6b39a06..b9710f4 100644 --- a/bun.lock +++ b/bun.lock @@ -9,6 +9,7 @@ "better-sqlite3": "^12.6.2", }, "devDependencies": { + "@biomejs/biome": "^2.4.4", "@eslint/js": "^10.0.1", "@sveltejs/adapter-node": "^5.5.3", "@sveltejs/kit": "^2.50.2", @@ -47,6 +48,24 @@ "@bcoe/v8-coverage": ["@bcoe/v8-coverage@1.0.2", "", {}, "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA=="], + "@biomejs/biome": ["@biomejs/biome@2.4.4", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.4.4", "@biomejs/cli-darwin-x64": "2.4.4", "@biomejs/cli-linux-arm64": "2.4.4", "@biomejs/cli-linux-arm64-musl": "2.4.4", "@biomejs/cli-linux-x64": "2.4.4", "@biomejs/cli-linux-x64-musl": "2.4.4", "@biomejs/cli-win32-arm64": "2.4.4", "@biomejs/cli-win32-x64": "2.4.4" }, "bin": { "biome": "bin/biome" } }, "sha512-tigwWS5KfJf0cABVd52NVaXyAVv4qpUXOWJ1rxFL8xF1RVoeS2q/LK+FHgYoKMclJCuRoCWAPy1IXaN9/mS61Q=="], + + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.4.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-jZ+Xc6qvD6tTH5jM6eKX44dcbyNqJHssfl2nnwT6vma6B1sj7ZLTGIk6N5QwVBs5xGN52r3trk5fgd3sQ9We9A=="], + + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.4.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-Dh1a/+W+SUCXhEdL7TiX3ArPTFCQKJTI1mGncZNWfO+6suk+gYA4lNyJcBB+pwvF49uw0pEbUS49BgYOY4hzUg=="], + + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.4.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-V/NFfbWhsUU6w+m5WYbBenlEAz8eYnSqRMDMAW3K+3v0tYVkNyZn8VU0XPxk/lOqNXLSCCrV7FmV/u3SjCBShg=="], + + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.4.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-+sPAXq3bxmFwhVFJnSwkSF5Rw2ZAJMH3MF6C9IveAEOdSpgajPhoQhbbAK12SehN9j2QrHpk4J/cHsa/HqWaYQ=="], + + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.4.4", "", { "os": "linux", "cpu": "x64" }, "sha512-R4+ZCDtG9kHArasyBO+UBD6jr/FcFCTH8QkNTOCu0pRJzCWyWC4EtZa2AmUZB5h3e0jD7bRV2KvrENcf8rndBg=="], + + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.4.4", "", { "os": "linux", "cpu": "x64" }, "sha512-gGvFTGpOIQDb5CQ2VC0n9Z2UEqlP46c4aNgHmAMytYieTGEcfqhfCFnhs6xjt0S3igE6q5GLuIXtdQt3Izok+g=="], + + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.4.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-trzCqM7x+Gn832zZHgr28JoYagQNX4CZkUZhMUac2YxvvyDRLJDrb5m9IA7CaZLlX6lTQmADVfLEKP1et1Ma4Q=="], + + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.4.4", "", { "os": "win32", "cpu": "x64" }, "sha512-gnOHKVPFAAPrpoPt2t+Q6FZ7RPry/FDV3GcpU53P3PtLNnQjBmKyN2Vh/JtqXet+H4pme8CC76rScwdjDcT1/A=="], + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.3", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg=="], "@esbuild/android-arm": ["@esbuild/android-arm@0.27.3", "", { "os": "android", "cpu": "arm" }, "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA=="], diff --git a/package.json b/package.json index 610232c..596ce36 100644 --- a/package.json +++ b/package.json @@ -10,13 +10,14 @@ "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "eslint src", + "lint": "biome lint .", "format": "prettier --write .", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" }, "devDependencies": { + "@biomejs/biome": "^2.4.4", "@eslint/js": "^10.0.1", "@sveltejs/adapter-node": "^5.5.3", "@sveltejs/kit": "^2.50.2",