Migrate from 0.10.2
The 0.11.0 release replaces browser RPC imports from heliumts/server with a generated module in your application. Use matching framework and scaffolder versions when upgrading.
Update browser imports
1// src/pages/tasks.tsx2import { useFetch, useCall } from "heliumts/client";3import { getTasks, saveTask } from "../rpc.generated";45// Server implementations stay in src/server.6// Keep importing defineMethod from "heliumts/server" there.
Delete the obsolete generated src/types/heliumts-server.d.ts. Do not edit the new generated module by hand or import application server implementations into browser components.
%npx helium typegen%npx helium check%npm run build
typegen discovers explicit server exports without executing application modules. It supports aliases and relative server re-exports; arbitrary wrapper factories, computed calls and tsconfig path aliases are not inferred. Keep an explicit defineMethod export at the discovery boundary.
Verify behavior, not just types
- Keep server input parsers, authentication, ownership checks and rate limits. TypeScript alone cannot validate a network request.
- Catch rejected mutation promises in event handlers and render the hook’s error state.
- Invalidate detail, lists and summaries affected by a successful mutation. Test returning to a cached page.
- Retain streaming cancellation and cleanup. Rebuild and deploy matching clients and servers.
Scaffolding and compatibility
The new scaffolder defaults to a minimal app. Add -- --template examples for the larger demonstration template. Normal Helium commands retain Node 20 support subject to your Vite version’s requirements.
Coming from 0.9? Apply the HTTP transport migration too.