refactor: switch to using Bun (#718)

This commit is contained in:
Dan Ditomaso
2025-07-16 22:30:10 -04:00
committed by GitHub
parent acfd7ebd2d
commit 704d06cfe7
401 changed files with 35294 additions and 39107 deletions

View File

@@ -16,29 +16,29 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v2
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
deno-version: v2.x
bun-version: latest
- name: Install Dependencies
run: deno install
run: bun install
- name: Cache Deno dependencies
- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: |
~/.cache/deno
packages/web/deno.lock
key: ${{ runner.os }}-deno-${{ hashFiles('packages/web/deno.lock') }}
~/.bun/install/cache
packages/web/node_modules
key: ${{ runner.os }}-bun-${{ hashFiles('packages/web/bun.lockb') }}
restore-keys: |
${{ runner.os }}-deno-
${{ runner.os }}-bun-
- name: Run linter
run: deno lint
# - name: Run linter
# run: bun run lint
- name: Check formatter
run: deno fmt --check
# - name: Check formatter
# run: bun run check
- name: Build Package
run: deno task --filter web build
run: bun run build

View File

@@ -15,18 +15,20 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v2
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
deno-version: v2.x
bun-version: latest
- name: Cache Deno dependencies
- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: ${{ steps.setup-deno.outputs.deno-cache-path }}
key: deno-cache-${{ runner.os }}-${{ hashFiles('**/deno.lock') }}
path: |
~/.bun/install/cache
packages/web/node_modules
key: ${{ runner.os }}-bun-${{ hashFiles('packages/web/bun.lockb') }}
restore-keys: |
deno-cache-${{ runner.os }}-*
${{ runner.os }}-bun-
# - name: Run tests
# working-directory: packages/web
@@ -34,15 +36,15 @@ jobs:
- name: Install Dependencies
working-directory: packages/web
run: deno install
run: bun install
- name: Build Package
working-directory: packages/web
run: deno task build
run: bun run build
- name: Package Output
working-directory: packages/web
run: deno task package
run: bun run package
- name: Archive compressed build
uses: actions/upload-artifact@v4

View File

@@ -13,34 +13,34 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Deno
uses: denoland/setup-deno@v2
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
deno-version: v2.x
bun-version: latest
- name: Install Dependencies
# Commands will run from 'packages/web'
working-directory: packages/web
run: deno install
run: bun install
- name: Cache Deno dependencies
- name: Cache Bun dependencies
uses: actions/cache@v4
with:
path: |
~/.cache/deno
packages/web/deno.lock
key: ${{ runner.os }}-deno-${{ hashFiles('packages/web/deno.lock') }}
~/.bun/install/cache
packages/web/node_modules
key: ${{ runner.os }}-bun-${{ hashFiles('packages/web/bun.lockb') }}
restore-keys: |
${{ runner.os }}-deno-
${{ runner.os }}-bun-
- name: Run linter
working-directory: packages/web
run: deno lint
# - name: Run linter
# working-directory: packages/web
# run: bun run lint
- name: Check formatter
working-directory: packages/web
run: deno fmt --check
# - name: Check formatter
# working-directory: packages/web
# run: bun run check
- name: Build Package
working-directory: packages/web
run: deno task --filter web build
run: bun run build

View File

@@ -19,19 +19,27 @@ jobs:
with:
fetch-depth: 0
# --- Setup Deno ---
# --- Setup Bun ---
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
# --- Setup Deno (for NPM package building) ---
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- name: Cache Deno Dependencies
- name: Cache Bun Dependencies
uses: actions/cache@v4
with:
path: ~/.cache/deno
key: ${{ runner.os }}-deno-${{ hashFiles('**/deno.lock') }}
path: |
~/.bun/install/cache
packages/web/node_modules
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
restore-keys: |
${{ runner.os }}-deno-
${{ runner.os }}-bun-
# --- Determine Changed Packages ---
- name: Get Changed Package Directories
@@ -98,12 +106,12 @@ jobs:
- name: Run Web App Tests
if: steps.web_changes.outputs.web_changed == 'true'
working-directory: packages/web
run: deno task test
run: bun run test
- name: Create Web App Release Archive
if: steps.web_changes.outputs.web_changed == 'true'
working-directory: packages/web
run: deno task package # Generates dist/build.tar
run: bun run package # Generates dist/build.tar
- name: Upload Web App Archive
if: steps.web_changes.outputs.web_changed == 'true'