From 0bc7099bcb5b283dc54e054b62258f9da44d879f Mon Sep 17 00:00:00 2001 From: James Date: Tue, 25 Feb 2025 20:38:45 +0000 Subject: [PATCH] chore: add formatter --- .github/actions/build-docs/action.yml | 22 ++++----- .github/actions/lint/action.yml | 16 +++++++ .github/workflows/check.yml | 21 ++++----- .github/workflows/nextjs.yml | 2 +- .zed/settings.json | 11 +++++ biome.jsonc | 42 ++++++++++++++++++ bun.lockb | Bin 156549 -> 160107 bytes components/Footer.tsx | 4 +- package.json | 6 ++- pages/aws/config/_meta.json | 2 +- pages/aws/config/overrides/_meta.json | 2 +- pages/aws/contribute/_meta.json | 2 +- .../aws/inner_workings/components/_meta.json | 2 +- pages/aws/v2/_meta.json | 2 +- pages/aws/v2/advanced/_meta.json | 2 +- pages/cloudflare/0.2/_meta.json | 2 +- pages/cloudflare/caching.mdx | 16 ++++--- theme.config.jsx | 5 +-- tsconfig.json | 14 ++---- 19 files changed, 121 insertions(+), 52 deletions(-) create mode 100644 .github/actions/lint/action.yml create mode 100644 .zed/settings.json create mode 100644 biome.jsonc diff --git a/.github/actions/build-docs/action.yml b/.github/actions/build-docs/action.yml index 44d6d04..799eff8 100644 --- a/.github/actions/build-docs/action.yml +++ b/.github/actions/build-docs/action.yml @@ -2,16 +2,16 @@ name: Build Docs description: Build docs pages inside /docs directory runs: - using: 'composite' - steps: - - name: Install dependencies - run: bun install - shell: bash + using: "composite" + steps: + - name: Install dependencies + run: bun install + shell: bash - - name: Build with Next.js - run: bun next build - shell: bash + - name: Build with Next.js + run: bun next build + shell: bash - - name: Export static HTML with Next.js - run: bun next export - shell: bash + - name: Export static HTML with Next.js + run: bun next export + shell: bash diff --git a/.github/actions/lint/action.yml b/.github/actions/lint/action.yml new file mode 100644 index 0000000..9415992 --- /dev/null +++ b/.github/actions/lint/action.yml @@ -0,0 +1,16 @@ +name: Lint codebase +description: Run biome to lint codebase and ensure code quality + +runs: + using: "composite" + steps: + - name: Install dependencies + run: bun install + shell: bash + + - name: Setup Biome CLI + uses: biomejs/setup-biome@v2.2.1 + + - name: Run biome + run: biome ci --reporter=github + shell: bash diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 2a2fc68..9d5161e 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,15 +1,16 @@ name: Validate merge requests on: - pull_request: - branches: - - main + pull_request: + branches: + - main jobs: - validate: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - uses: oven-sh/setup-bun@v2 - - uses: ./.github/actions/build-docs + validate: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + - uses: ./.github/actions/lint + - uses: ./.github/actions/build-docs diff --git a/.github/workflows/nextjs.yml b/.github/workflows/nextjs.yml index f0fe1d8..46ce460 100644 --- a/.github/workflows/nextjs.yml +++ b/.github/workflows/nextjs.yml @@ -23,7 +23,7 @@ permissions: # Allow one concurrent deployment concurrency: - group: 'pages' + group: "pages" cancel-in-progress: true jobs: diff --git a/.zed/settings.json b/.zed/settings.json new file mode 100644 index 0000000..dd198c9 --- /dev/null +++ b/.zed/settings.json @@ -0,0 +1,11 @@ +{ + "formatter": { + "language_server": { + "name": "biome" + } + }, + "code_actions_on_format": { + "source.fixAll.biome": true, + "source.organizeImports.biome": true + } +} diff --git a/biome.jsonc b/biome.jsonc new file mode 100644 index 0000000..7a8015f --- /dev/null +++ b/biome.jsonc @@ -0,0 +1,42 @@ +{ + "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", + "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "files": { + "ignoreUnknown": true + }, + "organizeImports": { "enabled": true }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "ignore": ["**/package.json"] + }, + "css": { "formatter": { "quoteStyle": "single" } }, + "linter": { + "enabled": true, + "rules": { + "a11y": { + "all": false + }, + "suspicious": { + "noExplicitAny": "off", + "noAssignInExpressions": "off", + "noConfusingVoidType": "off" + }, + "style": { + "noNonNullAssertion": "off", + "noParameterAssign": "info", + "noCommaOperator": "info" + }, + "complexity": { + "noForEach": "off", + "noBannedTypes": "off" + }, + "performance": { + "noDelete": "off" + }, + "correctness": { + "noUnusedImports": "error" + } + } + } +} diff --git a/bun.lockb b/bun.lockb index d373d48687d5f409a4e2f3f087a0effe3a3f72c1..bce0e758543209fbba931fe60886baa061083248 100755 GIT binary patch delta 25611 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 diff --git a/components/Footer.tsx b/components/Footer.tsx index f7a3cad..c690535 100644 --- a/components/Footer.tsx +++ b/components/Footer.tsx @@ -4,9 +4,7 @@ import styles from "../styles/Layout.module.css"; export default function Footer() { return (