Skip to content

Phase 0 foundation — esbuild renderer bundler (#15) - #21

Merged
ozgesolidkey merged 1 commit into
mainfrom
refactor/v2-architecture
Jun 25, 2026
Merged

Phase 0 foundation — esbuild renderer bundler (#15)#21
ozgesolidkey merged 1 commit into
mainfrom
refactor/v2-architecture

Conversation

@ozgesolidkey

Copy link
Copy Markdown
Contributor

First step of the v2 refactor (epic #14, phase #15) on branch refactor/v2-architecture.

What: adds an esbuild bundler for the renderer (scripts/build-renderer.js, wired into npm build) so the 7000-line renderer.ts can be split into ES modules while still shipping as one renderer.js.

Behavior-preserving: no code moved — the renderer stays a single script, esbuild just bundles+wraps it. tsc clean, build green, 340 tests pass. Output: dist/renderer/renderer.js (553 KB) + sourcemap.

Why separate from the actual module split: flipping the renderer to a module surfaces ~37 latent type issues (unused-locals + inline interfaces that currently merge with ambient ones). Documented on #15; the conversion is its own PR, to be done with the app runnable for smoke-testing.

⚠️ Please smoke-test the app from this branch before merging (renderer build path changed from tsc-emit to esbuild-bundle). The change is isolated to this branch — main is untouched.

Part of #14.

🤖 Generated with Claude Code

Adds scripts/build-renderer.js (esbuild) and wires it into npm build, so the
renderer can be split into ES modules while still loading as one renderer.js.
No code moved yet — the renderer stays a single script, so this build is
behavior-preserving (tsc clean, build green, 340 tests pass). esbuild added
as an explicit devDependency.

This is the gating step for #15: the actual module conversion is its own PR
(see the issue note — flipping the renderer to a module surfaces ~37 latent
type issues that must be cleaned deliberately).

Part of #14.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ozgesolidkey
ozgesolidkey merged commit 1401322 into main Jun 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant