Upgrading to 5.0
Pondoknusa 5.0.0 removes the .tyr template language. Views are standard TSX modules. The compiler, view linter rules, and .tyr.ts programmatic views from 4.x do not ship in 5.0.
See the v5.0.0 release notes and changelog.
Before you upgrade
- Pin to the latest 4.x patch and run your test suite.
- Bump every
@pondoknusa/*dependency to^5.0.0(monorepo packages release together). - Inventory
resources/views/**/*.tyrand*.tyr.ts. Those files will not compile.
diff
# package.json
- "@pondoknusa/core": "^4.2.0"
+ "@pondoknusa/core": "^5.0.0"Views are TSX
Each view is a module with a default-exported render function. Layouts and components are PascalCase tags, not @layout / @component.
4.x (.tyr) | 5.0 (.tsx) |
|---|---|
resources/views/welcome.tyr | resources/views/welcome.tsx |
@layout('layouts.app') | <AppLayout>…</AppLayout> |
@component('alert', { message }) | <Alert message={message} /> |
| {name} |
@if / @foreach | {cond && …} / {items.map(…)} |
@island('counter', props) | <Island id="counter" …> |
@csrf | <input type="hidden" name="_token" value={token} /> |
.tyr.ts programmatic views | removed — use .tsx |
Set extension: '.tsx' in config/views.ts (this is the framework default).
Scaffold with pondoknusa make:view and pondoknusa make:island. Both write .tsx.
What else changed
view:lintno longer walks Blade-style directives. Use TypeScript and the IDE for view diagnostics.- Compiled cache still applies. Run
pondoknusa view:cachein production builds. - VitePress docs on this site use VitePress 2 (alpha) with Vite 8.
Checklist
Earlier majors
- On 4.x? Complete this page after Upgrading to 4.0.
- On 3.x? Complete Upgrading to 3.0 and 4.0 first.
5.0.0 shipped in September 2026. Stable APIs only break in major releases per STABILITY.md.