vorma

package module
v0.85.0-pre.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2026 License: BSD-3-Clause Imports: 8 Imported by: 0

README

Vorma Framework

Vorma banner

The Golang metaframework, powered by Vite.

vorma.dev | github.com | pkg.go.dev | npmjs.com | x.com

Quick Start

npm create vorma@latest

What is Vorma?

Vorma is a lot like Next.js, Remix, or TanStack Start, but it uses Go on the backend, with your choice of React, Solid, or Preact on the frontend.

It has nested routing, effortless end-to-end type safety (including Link components!), parallel-executed route loaders, and much, much more.

It's deeply integrated with Vite to give you full hot module reloading at dev-time.

Get Started

If you want to dive right in, just open a terminal and run npm create vorma@latest and follow the prompts.

If you'd prefer to read more first, take a peek at our docs.

Status

Vorma's underlying tech has reached a good degree of stability, but its APIs are still evolving. Sub-1.0 releases may contain breaking changes. If you ever need help upgrading to the latest version, feel free to file an issue on GitHub or reach out on X.

Documentation

Index

Constants

View Source
const VormaBuildIDHeaderKey = vormaruntime.VormaBuildIDHeaderKey

Variables

This section is empty.

Functions

func EnableThirdPartyRouter

func EnableThirdPartyRouter(next http.Handler) http.Handler

func GetIsDev

func GetIsDev() bool

func Internal__GetCurrentReleaseVersion

func Internal__GetCurrentReleaseVersion() string

func IsJSONRequest

func IsJSONRequest(r *http.Request) bool

func MustGetPort

func MustGetPort() int

func SetModeToDev

func SetModeToDev()

Types

type Action

type Action[I any, O any] = mux.TaskHandler[I, O]

Type aliases for public API

func Internal__RegisterDiscoveredAction

func Internal__RegisterDiscoveredAction[I any, O any, CtxPtr ~*Ctx, Ctx any](
	app *Vorma,
	m string,
	p string,
	f func(CtxPtr) (O, error),
	decorateCtx func(*ActionReqData[I]) CtxPtr,
) *Action[I, O]

func NewAction

func NewAction[I any, O any, CtxPtr ~*Ctx, Ctx any](
	app *Vorma,
	m string,
	p string,
	f func(CtxPtr) (O, error),
	decorateCtx func(*ActionReqData[I]) CtxPtr,
) *Action[I, O]

type ActionFunc

type ActionFunc[Ctx any, I any, O any] = func(*Ctx) (O, error)

Type aliases for public API

type ActionReqData

type ActionReqData[I any] = vormaruntime.ActionReqData[I]

Type aliases for public API

type ActionsRouter

type ActionsRouter = vormaruntime.ActionsRouter

Type aliases for public API

type ActionsRouterOptions

type ActionsRouterOptions = vormaruntime.ActionsRouterOptions

Type aliases for public API

type AdHocType

type AdHocType = tsgen.AdHocType

Type aliases for public API

type FormData

type FormData = vormaruntime.FormData

Type aliases for public API

type HeadEls

type HeadEls = headels.HeadEls

Type aliases for public API

type Loader

type Loader[O any] = mux.TaskHandler[None, O]

Type aliases for public API

func Internal__RegisterDiscoveredLoader

func Internal__RegisterDiscoveredLoader[O any, CtxPtr ~*Ctx, Ctx any](
	app *Vorma,
	p string,
	f func(CtxPtr) (O, error),
	decorateCtx func(*LoaderReqData) CtxPtr,
) *Loader[O]

func NewLoader

func NewLoader[O any, CtxPtr ~*Ctx, Ctx any](
	app *Vorma,
	p string,
	f func(CtxPtr) (O, error),
	decorateCtx func(*LoaderReqData) CtxPtr,
) *Loader[O]

type LoaderError

type LoaderError = vormaruntime.LoaderError

Type aliases for public API

type LoaderFunc

type LoaderFunc[Ctx any, O any] = func(*Ctx) (O, error)

Type aliases for public API

type LoaderReqData

type LoaderReqData = vormaruntime.LoaderReqData

Type aliases for public API

type LoadersRouter

type LoadersRouter = vormaruntime.LoadersRouter

Type aliases for public API

type LoadersRouterOptions

type LoadersRouterOptions = vormaruntime.LoadersRouterOptions

Type aliases for public API

type None

type None = mux.None

Type aliases for public API

type Vorma

type Vorma = vormaruntime.Vorma

Type aliases for public API

func NewVormaApp

func NewVormaApp(o VormaAppConfig) *Vorma

type VormaAppConfig

type VormaAppConfig = vormaruntime.VormaAppConfig

Type aliases for public API

Directories

Path Synopsis
This package is not meant to be called directly by users.
This package is not meant to be called directly by users.
internal
scripts/buildts command
scripts/release command
scripts/sum command
vormaruntime
Package vormaruntime contains Vorma runtime internals used by package vorma.
Package vormaruntime contains Vorma runtime internals used by package vorma.
kit
bytesutil
Package bytesutil provides utility functions for byte slice operations.
Package bytesutil provides utility functions for byte slice operations.
cryptoutil
Package cryptoutil provides utility functions for cryptographic operations.
Package cryptoutil provides utility functions for cryptographic operations.
csrf
Package csrf provides a robust, stateless, and layered CSRF protection middleware for Go.
Package csrf provides a robust, stateless, and layered CSRF protection middleware for Go.
fsutil
Package fsutil provides utility functions for working with the filesystem.
Package fsutil provides utility functions for working with the filesystem.
genericsutil
Package genericsutil provides helpers for implementing type erasure patterns
Package genericsutil provides helpers for implementing type erasure patterns
id
k9
Package k9 generates 16-byte k-sortable IDs, with human-friendly string encoding.
Package k9 generates 16-byte k-sortable IDs, with human-friendly string encoding.
lru
Package lru implements a generic Least Recently Used (LRU) cache with support for "spam" items and TTL (Time-To-Live).
Package lru implements a generic Least Recently Used (LRU) cache with support for "spam" items and TTL (Time-To-Live).
mux
securebytes
This package assumes that the caller's use case is not sensitive to timing attacks.
This package assumes that the caller's use case is not sensitive to timing attacks.
securestring
This package assumes that the caller's use case is not sensitive to timing attacks.
This package assumes that the caller's use case is not sensitive to timing attacks.
set
tasks
A "Task", as used in this package, is simply a function that takes in input, returns data (or an error), and runs a maximum of one time per execution context / input value pairing, even if invoked repeatedly during the lifetime of the execution context.
A "Task", as used in this package, is simply a function that takes in input, returns data (or an error), and runs a maximum of one time per execution context / input value pairing, even if invoked repeatedly during the lifetime of the execution context.
validate
Package validate provides a simple way to validate and parse data from HTTP requests.
Package validate provides a simple way to validate and parse data from HTTP requests.
lab
fsmarkdown
buyer beware
buyer beware
jsonschema
NOTE:
NOTE:
parseutil
NOTE:
NOTE:
rpc
timer
Package timer provides a simple timer for measuring the duration of code execution.
Package timer provides a simple timer for measuring the duration of code execution.
vitecmd
Package vitecmd provides build/dev command orchestration for Vite.
Package vitecmd provides build/dev command orchestration for Vite.
xyz
buyer beware
buyer beware
Package vormabuild contains Vorma build and dev entrypoints.
Package vormabuild contains Vorma build and dev entrypoints.
Package wave provides runtime services that may be linked into production binaries.
Package wave provides runtime services that may be linked into production binaries.
tooling
Package tooling provides build-time and dev-time functionality for Wave.
Package tooling provides build-time and dev-time functionality for Wave.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL