From c9f52a5c197a00c69bdbc09c12a0bae2bd95ca0a Mon Sep 17 00:00:00 2001 From: Thomas Queste Date: Tue, 5 Nov 2024 07:24:58 +0100 Subject: [PATCH] chore: switch from eslint and prettier to biome --- .eslintrc.cjs | 42 ---------------------- .github/workflows/check.yml | 4 +-- biome.jsonc | 24 +++++++++++++ bun.lockb | Bin 134226 -> 20467 bytes package.json | 68 +++++++++++++----------------------- src/getHelloWorld.test.ts | 4 +-- src/getHelloWorld.ts | 2 +- src/index.ts | 2 +- tsconfig.json | 54 ++++++++++++++-------------- 9 files changed, 81 insertions(+), 119 deletions(-) delete mode 100644 .eslintrc.cjs create mode 100644 biome.jsonc diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 07351e3..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,42 +0,0 @@ -/* eslint-env node */ -module.exports = { - root: true, - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/strict-type-checked", - "plugin:@typescript-eslint/stylistic-type-checked", - // Turns off all rules that are unnecessary or might conflict with Prettier. - "prettier", - ], - plugins: [ - "@typescript-eslint", - "simple-import-sort", - "import", - "unused-imports", - ], - parser: "@typescript-eslint/parser", - parserOptions: { - project: "./tsconfig.json", - }, - ignorePatterns: ["/dist"], - rules: { - /* Sort imports */ - "simple-import-sort/imports": "error", - "simple-import-sort/exports": "error", - "import/first": "error", - "import/newline-after-import": "error", - "import/no-duplicates": "error", - /* Make unused imports fixable */ - "@typescript-eslint/no-unused-vars": "off", - "unused-imports/no-unused-imports": "error", - "unused-imports/no-unused-vars": [ - "error", - { - vars: "all", - varsIgnorePattern: "^_", - args: "after-used", - argsIgnorePattern: "^_", - }, - ], - }, -}; diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 57b1d0c..0dd834e 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -13,6 +13,6 @@ jobs: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 - run: bun install --frozen-lockfile - - run: bun check:prettier + - run: bun check:format - run: bun check:lint - - run: bun check:typescript + - run: bun check:ts diff --git a/biome.jsonc b/biome.jsonc new file mode 100644 index 0000000..5bd6957 --- /dev/null +++ b/biome.jsonc @@ -0,0 +1,24 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true, + "defaultBranch": "main" + }, + "files": { + "ignoreUnknown": true + }, + "organizeImports": { + "enabled": true + }, + "formatter": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + } +} diff --git a/bun.lockb b/bun.lockb index dd8124e3eec60d2032b92c4442651b7c9fce5c3e..c4c90e83cee52415de139cd7575e0cc5fce50106 100755 GIT binary patch delta 5552 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 (https://www.tomsquest.com/)", - "license": "MIT", - "type": "module", - "module": "src/index.ts", - "devDependencies": { - "@tsconfig/node22": "^22.0.0", - "@types/bun": "^1.1.13", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", - "bun-types": "^1.1.34", - "eslint": "^8.57.1", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-unused-imports": "^3.2.0", - "husky": "^8.0.3", - "lint-staged": "^14.0.1", - "prettier": "^3.3.3", - "rimraf": "^5.0.10", - "typescript": "^5.6.3" - }, - "lint-staged": { - "*.{md,js,cjs,json}": [ - "prettier --write --cache" - ], - "src/**/*.ts": [ - "eslint --fix --cache --cache-location .cache/", - "prettier --write --cache", - "bun test" - ] - }, - "scripts": { - "prepare": "husky install", - "clean": "rimraf .cache dist", - "fix:prettier": "prettier . --cache --write", - "fix:lint": "bun check:lint -- --fix", - "check:prettier": "prettier . --cache --check", - "check:lint": "eslint . --cache --cache-location .cache/", - "check:typescript": "tsc" - } + "name": "mediathequeroubaix.typescript", + "version": "1.0.0", + "description": "CLI for the library of Roubaix (Médiathèque Roubaix)", + "keywords": [], + "author": "Thomas Queste (https://www.tomsquest.com/)", + "license": "MIT", + "type": "module", + "module": "src/index.ts", + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@tsconfig/node22": "22.0.0", + "@types/bun": "1.1.13", + "bun-types": "1.1.34", + "rimraf": "5.0.10", + "typescript": "5.6.3" + }, + "scripts": { + "clean": "rimraf .cache dist", + "check:format": "biome format", + "check:lint": "biome lint", + "check:ts": "tsc --noEmit", + "lint:format": "biome format --fix", + "lint:check": "biome lint --fix" + } } diff --git a/src/getHelloWorld.test.ts b/src/getHelloWorld.test.ts index 8745491..5ab2f9f 100644 --- a/src/getHelloWorld.test.ts +++ b/src/getHelloWorld.test.ts @@ -3,7 +3,7 @@ import { expect, test } from "bun:test"; import { getHelloWorld } from "./getHelloWorld"; test("ok", () => { - const result = getHelloWorld(); + const result = getHelloWorld(); - expect(result).toEqual("Hello World"); + expect(result).toEqual("Hello World"); }); diff --git a/src/getHelloWorld.ts b/src/getHelloWorld.ts index 98078a0..6ed75b1 100644 --- a/src/getHelloWorld.ts +++ b/src/getHelloWorld.ts @@ -1,3 +1,3 @@ export const getHelloWorld = (): string => { - return "Hello World"; + return "Hello World"; }; diff --git a/src/index.ts b/src/index.ts index 3b38179..5cd1321 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ import { getHelloWorld } from "./getHelloWorld"; const main = (): void => { - console.log(getHelloWorld()); + console.log(getHelloWorld()); }; main(); diff --git a/tsconfig.json b/tsconfig.json index c0464d4..031f9a3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,32 +1,32 @@ { - "extends": "@tsconfig/node22/tsconfig.json", - "compilerOptions": { - "types": ["bun-types"], + "extends": "@tsconfig/node22/tsconfig.json", + "compilerOptions": { + "types": ["bun-types"], - // Enable latest features - "lib": ["ESNext"], - "target": "ESNext", - "module": "ESNext", - "moduleDetection": "force", - "jsx": "react-jsx", - "allowJs": true, + // Enable latest features + "lib": ["ESNext"], + "target": "ESNext", + "module": "ESNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, - // Bundler mode - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "noEmit": true, + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, - // Strict - "strict": true, - "skipLibCheck": true, - "allowUnreachableCode": false, - "allowUnusedLabels": false, - "noFallthroughCasesInSwitch": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noPropertyAccessFromIndexSignature": true, - "noUnusedLocals": true, - "noUnusedParameters": true - } + // Strict + "strict": true, + "skipLibCheck": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUnusedLocals": true, + "noUnusedParameters": true + } }