Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8921f32
feat(router-plugin): add native Bun bundler integration
RentnerKev Oct 23, 2026
06b4a7c
feat(router-plugin): support native Bun development builds
RentnerKev Oct 24, 2026
818db82
ci(router-plugin): test Bun builds across platforms
RentnerKev Oct 24, 2026
d70b9dd
ci: validate patched Bun on native macOS
RentnerKev Oct 24, 2026
21ed31b
ci: use native arm64 macOS toolchain for Bun validation
RentnerKev Oct 24, 2026
1a8a9bf
ci: use supported native macOS release profile
RentnerKev Oct 24, 2026
efb0b76
fix(router-plugin): watch imported virtual route configuration modules
RentnerKev Oct 24, 2026
15c5aa7
test: validate native config helpers and portable preload paths
RentnerKev Oct 24, 2026
fa67bb0
ci: validate final native Bun fixes with stable release profile
RentnerKev Oct 24, 2026
dba3b4e
test: execute native artifacts and exercise helper reload cycles
RentnerKev Oct 24, 2026
fb30c95
test(router-plugin): cover restored virtual routes and atomic config …
RentnerKev Oct 24, 2026
c7911fb
test: isolate native Jiti validation from the Router workspace
RentnerKev Oct 24, 2026
d22bc91
test: record canonical module paths in native macOS validation
RentnerKev Oct 24, 2026
ad9f1bb
test: validate ordered HMR updates with the native Bun candidate
RentnerKev Oct 24, 2026
5b61bd9
fix(router-plugin): canonicalize native Bun route module paths
RentnerKev Oct 24, 2026
70036aa
test: isolate native macOS watcher diagnostics
RentnerKev Oct 24, 2026
2ef7677
test: execute native Bun Chromium regression on macOS
RentnerKev Oct 24, 2026
cf3e8f4
test: pin reviewed native Chromium fixture
RentnerKev Oct 24, 2026
fe38d46
test: correct native macOS result and path assertions
RentnerKev Oct 24, 2026
cc3ae72
test: validate final native watcher and HMR batches on macOS
RentnerKev Oct 24, 2026
da0d5e8
test: verify external input maps with native platform artifacts
RentnerKev Oct 24, 2026
20aa922
test: preserve sidecar patch context in compressed artifact
RentnerKev Oct 24, 2026
3681c83
test: remove temporary native Bun validation harness
RentnerKev Oct 24, 2026
4aec5dc
test: check native macOS path identities with Bun CI runner
RentnerKev Oct 24, 2026
f892437
test: observe watcher trace writes directly on macOS
RentnerKev Oct 24, 2026
b64d31b
test: isolate native artifact execution from CI helper lifetime
RentnerKev Oct 24, 2026
152f4f2
test: await native trace conditions without a second watcher
RentnerKev Oct 24, 2026
4bb309f
test: run complete native macOS validation with final regression sync…
RentnerKev Oct 24, 2026
815cbaa
chore: remove temporary native Bun validation infrastructure
RentnerKev Oct 24, 2026
6f1b64c
Merge branch 'main' into main
RentnerKev Oct 24, 2026
0116a97
fix(router-plugin): address Bun integration review regressions
RentnerKev Oct 24, 2026
9b4292b
fix(router-generator): retain configured watch inputs after startup e…
RentnerKev Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/fruity-pears-see.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@tanstack/router-plugin': minor
'@tanstack/router-generator': minor
---

Add a native Bun plugin with file-based route generation and automatic code splitting, including shared route modules. Reuse Router HMR and expose resolved generator watch dependencies for native development-server watches.

Reload edited virtual route configurations and their TypeScript imports when regenerating the route tree.
77 changes: 77 additions & 0 deletions .github/workflows/bun.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Bun Router

on:
pull_request:
paths:
- 'packages/router-plugin/**'
- 'e2e/react-router/bun-basic-file-based/**'
- 'e2e/e2e-utils/**'
- 'packages/router-generator/**'
- 'packages/router-utils/**'
- 'packages/virtual-file-routes/**'
- 'packages/router-core/**'
- 'packages/react-router/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- 'nx.json'
- 'tsconfig.json'
- 'scripts/nx/**'
- '.npmrc'
- '.nvmrc'
- '.github/workflows/bun.yml'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true

permissions:
contents: read

env:
CI: '1'
NX_DAEMON: 'false'
NX_NO_CLOUD: 'true'

jobs:
router:
name: Bun Router (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Setup pnpm
uses: pnpm/action-setup@739bfe42ca9233c5e6aca07c1a25a9d34aca49b0 # v6.0.7
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
package-manager-cache: false
- name: Install dependencies
run: >-
pnpm install --frozen-lockfile
--filter .
--filter "@tanstack/router-plugin..."
--filter "tanstack-router-e2e-react-bun-basic-file-based..."
- name: Setup Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
with:
bun-version: '1.4.3'
- name: Install Chromium (Linux)
if: runner.os == 'Linux'
run: pnpm exec playwright install --with-deps chromium --only-shell
- name: Install Chromium (Windows and macOS)
if: runner.os != 'Linux'
run: pnpm exec playwright install chromium --only-shell
- name: Test production builds and navigation
run: pnpm nx run tanstack-router-e2e-react-bun-basic-file-based:test:e2e:bun --outputStyle=stream --skipRemoteCache
Loading