mirror of
https://github.com/meshtastic/web.git
synced 2026-05-19 03:35:06 -04:00
refactor: switch to using Bun (#718)
This commit is contained in:
28
.github/workflows/ci.yml
vendored
28
.github/workflows/ci.yml
vendored
@@ -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
|
||||
|
||||
22
.github/workflows/nightly.yml
vendored
22
.github/workflows/nightly.yml
vendored
@@ -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
|
||||
|
||||
32
.github/workflows/pr.yml
vendored
32
.github/workflows/pr.yml
vendored
@@ -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
|
||||
|
||||
22
.github/workflows/release.yml
vendored
22
.github/workflows/release.yml
vendored
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user