Skip to content

feat(playground): add app setup with template and static page#75

Merged
qantrepreneur merged 4 commits into
mainfrom
25-playground-setup
May 14, 2026
Merged

feat(playground): add app setup with template and static page#75
qantrepreneur merged 4 commits into
mainfrom
25-playground-setup

Conversation

@qantrepreneur
Copy link
Copy Markdown
Contributor

Summary

  • Set up playground app with Vite config using frameworkPlugin(), createApp entry point, default HTML template (header/main/footer slots), and a static home page route
  • Added vite as a dev dependency and updated scripts (dev: vite, build: vite build)
  • Fixed a bug in generateDeclarations where the codegen output was missing export {}, causing declare module blocks to shadow the real module instead of augmenting it (broke all framework imports when moduleDetection: "force" was active)
  • Added framework.gen.d.ts to .gitignore since it's machine-generated

Test plan

  • pnpm --filter @sundayceo/framework test — all 158 tests pass
  • pnpm --filter @sundayceo/playground check-types — passes after codegen
  • Vite dev server starts without errors

Closes #25

🤖 Generated with Claude Code

Lorenzo and others added 2 commits May 14, 2026 20:53
Set up the playground app with a Vite config, createApp entry point,
default HTML template with header/main/footer slots, and a static home
page. Fix codegen output to use module augmentation (export {}) so
generated declarations work correctly with moduleDetection: "force".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update lockfile after rebase, ignore generated framework.gen.d.ts and
vite.config.ts from eslint, and allow default exports in template
files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@qantrepreneur qantrepreneur force-pushed the 25-playground-setup branch from 55f2a61 to 36b6bc0 Compare May 14, 2026 18:58
Lorenzo and others added 2 commits May 14, 2026 20:59
The playground is an SSR app without a client entry point, so vite
build fails looking for index.html.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The framework.gen.d.ts file must be in the repo so that tsc can
resolve TemplateRegistry and RouteMap augmentations on CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@qantrepreneur qantrepreneur merged commit e49986e into main May 14, 2026
2 checks passed
@qantrepreneur qantrepreneur deleted the 25-playground-setup branch May 14, 2026 19:05
@github-actions github-actions Bot mentioned this pull request May 14, 2026
qantrepreneur added a commit that referenced this pull request May 21, 2026
* feat(playground): add first template and static route

Set up the playground app with a Vite config, createApp entry point,
default HTML template with header/main/footer slots, and a static home
page. Fix codegen output to use module augmentation (export {}) so
generated declarations work correctly with moduleDetection: "force".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(playground): fix lockfile and eslint config for playground

Update lockfile after rebase, ignore generated framework.gen.d.ts and
vite.config.ts from eslint, and allow default exports in template
files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(playground): use no-op build script for SSR app

The playground is an SSR app without a client entry point, so vite
build fails looking for index.html.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(playground): commit generated declarations for type-checking

The framework.gen.d.ts file must be in the repo so that tsc can
resolve TemplateRegistry and RouteMap augmentations on CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Lorenzo <lorenzofkramer@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced May 23, 2026
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.

Playground: app.ts + first template + static page

1 participant