From c1fe97d0cd6fde650ce22c0b902cd916fa41beac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Xalambr=C3=AD?= Date: Fri, 6 Dec 2024 00:19:03 -0500 Subject: [PATCH] Remove ESLint configuration and add Biome configuration for linting and formatting --- .eslintrc.cjs | 50 -------------------------------- biome.json | 55 ++++++++++++++++++++++++++++++++++++ bun.lockb | Bin 191108 -> 75444 bytes package.json | 24 +++------------- prettier.config.mjs | 9 ------ src/cloudflare.ts | 6 ++-- src/handler.ts | 3 +- src/i18next.ts | 3 +- src/session.ts | 3 +- src/typed-env.ts | 3 +- test/cloudflare.test.ts | 3 +- test/handler.test.ts | 6 ++-- test/security.test.ts | 3 +- test/session.test.ts | 4 +-- test/setup.ts | 3 +- test/trailing-slash.test.ts | 3 +- 16 files changed, 72 insertions(+), 106 deletions(-) delete mode 100644 .eslintrc.cjs create mode 100644 biome.json delete mode 100644 prettier.config.mjs diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index eb99357..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,50 +0,0 @@ -/* eslint-disable unicorn/no-empty-file */ -/* eslint-disable unicorn/prefer-module */ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint", "prefer-let", "import", "promise", "unicorn"], - extends: [ - "prettier", - "plugin:@typescript-eslint/recommended", - "plugin:import/errors", - "plugin:import/typescript", - "plugin:import/warnings", - "plugin:promise/recommended", - "plugin:unicorn/recommended", - ], - settings: { - "import/resolver": { typescript: {} }, - }, - rules: { - "@typescript-eslint/explicit-module-boundary-types": "off", - - "no-unused-vars": "off", - "no-var": "off", - "prefer-const": "off", - - "prefer-let/prefer-let": 2, - - "unicorn/prevent-abbreviations": "off", - - "import/order": [ - "error", - { - alphabetize: { - order: "asc", - }, - groups: [ - "type", - "builtin", - "external", - "internal", - "parent", - ["sibling", "index"], - ], - "newlines-between": "always", - pathGroups: [], - pathGroupsExcludedImportTypes: [], - }, - ], - }, -}; diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..d6a3498 --- /dev/null +++ b/biome.json @@ -0,0 +1,55 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.7.1/schema.json", + "organizeImports": { + "enabled": true + }, + "files": { + "ignore": ["src/server/json-hash.ts"] + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "correctness": { + "useHookAtTopLevel": "error" + }, + "performance": { + "noBarrelFile": "error", + "noReExportAll": "error" + }, + "style": { + "noNegationElse": "error", + "useConst": "off", + "useExportType": "off", + "useImportType": "off" + }, + "suspicious": { + "noConsoleLog": "warn", + "noEmptyBlockStatements": "warn", + "noSkippedTests": "error" + }, + "nursery": { + "useSortedClasses": { + "level": "error", + "options": { + "attributes": ["className", "class"], + "functions": ["cn", "tv"] + } + } + } + } + }, + "formatter": { "enabled": true }, + "vcs": { + "enabled": true, + "clientKind": "git", + "defaultBranch": "main", + "useIgnoreFile": true + }, + "overrides": [ + { + "include": ["**/*.md"], + "formatter": { "indentStyle": "tab" } + } + ] +} diff --git a/bun.lockb b/bun.lockb index c8aea110f64b90e3c5aad9f793e2ec6f83cf743d..af63e38a1af36798df28d20c6161a16f049fe9a8 100755 GIT binary patch delta 16131 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 diff --git a/package.json b/package.json index 419c9f7..243f61b 100644 --- a/package.json +++ b/package.json @@ -62,12 +62,7 @@ "sponsor": { "url": "https://github.com/sponsors/sergiodxa" }, - "files": [ - "src", - "build", - "package.json", - "README.md" - ], + "files": ["src", "build", "package.json", "README.md"], "scripts": { "build": "tsc", "typecheck": "tsc --noEmit", @@ -102,28 +97,17 @@ } }, "devDependencies": { + "@biomejs/biome": "^1.9.4", "@cloudflare/workers-types": "^4.20241112.0", "@react-router/cloudflare": "^7.0.1", "@total-typescript/tsconfig": "^1.0.4", "@types/bun": "^1.1.14", - "@types/node": "^20.11.28", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-typescript": "^3.6.1", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-prefer-let": "^3.0.1", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-testing-library": "^6.2.0", - "eslint-plugin-unicorn": "^53.0.0", "i18next": "^23.10.1", - "prettier": "^3.2.4", "remix-i18next": "^7.0.0", "typescript": "^5.7.2", "vite": "^5.4.11", "vite-tsconfig-paths": "^5.1.3", "zod": "^3.22.4" - } + }, + "trustedDependencies": ["@biomejs/biome"] } diff --git a/prettier.config.mjs b/prettier.config.mjs deleted file mode 100644 index f5e5a30..0000000 --- a/prettier.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import("prettier").Options} */ -const config = { - trailingComma: "all", - tabWidth: 2, - useTabs: true, - proseWrap: "always", -}; - -export default config; diff --git a/src/cloudflare.ts b/src/cloudflare.ts index 1859a2f..d38d6fe 100644 --- a/src/cloudflare.ts +++ b/src/cloudflare.ts @@ -1,11 +1,10 @@ import type { Fetcher, - RequestInit, KVNamespace, + RequestInit, } from "@cloudflare/workers-types"; -import type { Context } from "hono"; - import { createWorkersKVSessionStorage } from "@react-router/cloudflare"; +import type { Context } from "hono"; import { createMiddleware } from "hono/factory"; import { cacheHeader } from "pretty-cache-header"; import { @@ -13,7 +12,6 @@ import { type SessionData, createCookieSessionStorage, } from "react-router"; - import { session } from "./session.js"; interface StaticAssetsOptions { diff --git a/src/handler.ts b/src/handler.ts index fb0f798..d4c0503 100644 --- a/src/handler.ts +++ b/src/handler.ts @@ -1,7 +1,6 @@ import type { Context } from "hono"; -import type { AppLoadContext, ServerBuild } from "react-router"; - import { createMiddleware } from "hono/factory"; +import type { AppLoadContext, ServerBuild } from "react-router"; import { createRequestHandler } from "react-router"; export interface ReactRouterMiddlewareOptions { diff --git a/src/i18next.ts b/src/i18next.ts index 4fe8114..912cc92 100644 --- a/src/i18next.ts +++ b/src/i18next.ts @@ -1,8 +1,7 @@ import type { Context } from "hono"; +import { createMiddleware } from "hono/factory"; import type { FlatNamespace, TFunction } from "i18next"; import type { RemixI18NextOption } from "remix-i18next/server"; - -import { createMiddleware } from "hono/factory"; import { RemixI18Next } from "remix-i18next/server"; const i18nSymbol = Symbol().toString(); diff --git a/src/session.ts b/src/session.ts index 0af284e..c4a7549 100644 --- a/src/session.ts +++ b/src/session.ts @@ -1,7 +1,6 @@ import type { Context } from "hono"; -import type { Session, SessionData, SessionStorage } from "react-router"; - import { createMiddleware } from "hono/factory"; +import type { Session, SessionData, SessionStorage } from "react-router"; type Env = { Variables: Record; diff --git a/src/typed-env.ts b/src/typed-env.ts index ee7b5ff..839d6b5 100644 --- a/src/typed-env.ts +++ b/src/typed-env.ts @@ -1,7 +1,6 @@ import type { Context } from "hono"; -import type { z } from "zod"; - import { env } from "hono/adapter"; +import type { z } from "zod"; export function typedEnv( c: Context, diff --git a/test/cloudflare.test.ts b/test/cloudflare.test.ts index 86e1f8f..8f89826 100644 --- a/test/cloudflare.test.ts +++ b/test/cloudflare.test.ts @@ -1,8 +1,7 @@ +import { afterAll, describe, expect, mock, test } from "bun:test"; import { createWorkersKVSessionStorage } from "@react-router/cloudflare"; -import { describe, test, expect, mock, afterAll } from "bun:test"; import { Context } from "hono"; import { createCookieSessionStorage } from "react-router"; - import { cookieSession, staticAssets, diff --git a/test/handler.test.ts b/test/handler.test.ts index 5eeeda3..be55ce0 100644 --- a/test/handler.test.ts +++ b/test/handler.test.ts @@ -1,8 +1,6 @@ -import type { ServerBuild } from "react-router"; - -import { describe, test, expect, mock, afterAll } from "bun:test"; +import { afterAll, describe, expect, mock, test } from "bun:test"; import { Hono } from "hono"; - +import type { ServerBuild } from "react-router"; import { reactRouter } from "../src/handler"; const build = { diff --git a/test/security.test.ts b/test/security.test.ts index 2f237a3..f801434 100644 --- a/test/security.test.ts +++ b/test/security.test.ts @@ -1,6 +1,5 @@ -import { describe, test, expect, mock, afterAll } from "bun:test"; +import { afterAll, describe, expect, mock, test } from "bun:test"; import { Context } from "hono"; - import { httpsOnly } from "../src/security"; describe(httpsOnly.name, () => { diff --git a/test/session.test.ts b/test/session.test.ts index 17a5187..4ac2e28 100644 --- a/test/session.test.ts +++ b/test/session.test.ts @@ -1,7 +1,6 @@ -import { describe, test, expect, mock, afterAll, spyOn } from "bun:test"; +import { afterAll, describe, expect, mock, spyOn, test } from "bun:test"; import { Context } from "hono"; import { createCookieSessionStorage } from "react-router"; - import { getSession, getSessionStorage, session } from "../src/session"; const sessionStorage = createCookieSessionStorage({ @@ -75,7 +74,6 @@ describe(session.name, () => { }); await middleware(c, next); - console.log("here"); expect(createSessionStorage).toHaveBeenCalledTimes(2); expect(c.set).toHaveBeenNthCalledWith( diff --git a/test/setup.ts b/test/setup.ts index e2f4f7c..d759d41 100644 --- a/test/setup.ts +++ b/test/setup.ts @@ -1,7 +1,6 @@ -import { createWorkersKVSessionStorage } from "@react-router/cloudflare"; import { mock } from "bun:test"; +import { createWorkersKVSessionStorage } from "@react-router/cloudflare"; import { createCookieSessionStorage } from "react-router"; - import * as session from "../src/session"; mock.module("@react-router/cloudflare", () => { diff --git a/test/trailing-slash.test.ts b/test/trailing-slash.test.ts index 66a1bc5..d03bfbc 100644 --- a/test/trailing-slash.test.ts +++ b/test/trailing-slash.test.ts @@ -1,6 +1,5 @@ -import { describe, test, expect, mock, afterAll } from "bun:test"; +import { afterAll, describe, expect, mock, test } from "bun:test"; import { Context } from "hono"; - import { trailingSlash } from "../src/trailing-slash"; describe(trailingSlash.name, () => {