- html
- Standard HTML, made reactive and dynamic. TypeScript expressions in attributes and body, and templates with typed attributes. Renders on the server, updates in place in the browser, with no virtual DOM diffing.
- rpc
- Call a server function from the browser like any other function. The compiler turns the call into a request and keeps the body out of the browser bundle.
- routes
- Declared in TypeScript with a typed request and response. Return a page, or return data.
- sessions
- Signed cookie sessions with login and logout built in. Works in routes, rpc functions, and reactively in Elements HTML.
- sql
- Write sql in your code. It is parameterized at build time, against the Postgres the install already gave you.
- migrations
- Applied by the build: the test database before the tests run, the app database after.
- live tables
- Real time publish and subscribe for your data, with optimistic mutations. Declare the set of rows a page needs and every browser subscribed to it stays current: insert, update or delete anywhere and the change arrives everywhere, painting locally before the server has answered.
- channels
- Broadcast from the server to every browser listening, on every app server.
- jobs and cron
- Queue work off the request path, or schedule it. A job server starts with the project, on your machine and on every machine you deploy to.
- email
- Write mail in the same Elements HTML as your pages. The compiler inlines the stylesheets so it renders in a mail client.
- tests
- Run across child node processes with hot reload on, against a freshly migrated test database. A test reruns only when something it depends on changes.