Files
kjol/go/jsruntime/doc.go

37 lines
1.8 KiB
Go

// Package jsruntime is the JS/TS half of kjol: the Solid component kit, the
// vendored Solid runtime, the FontAwesome SVG source kit, the shared Tailwind
// @theme scaffold, and the generic TS scaffolding (auth, hooks, ssr, utils).
//
// It holds no Go beyond this file. The package exists so the tree has a stable
// home inside the Go module rather than a sibling directory the build has to go
// hunting for — kjol/go is the module root, and everything a consuming app needs
// now lives under it.
//
// Nothing here is compiled by Go. The tree is built by kjol/jsbundler (TSX ->
// Solid -> esbuild) and kjol/tw (Tailwind v4), both of which read it off disk;
// an app points the bundler at this directory:
//
// jsbundler.Configure(jsbundler.Config{
// AppFrontend: "frontend",
// WebDir: "./kjol/go/jsruntime",
// })
//
// Layout:
//
// uikit/ Solid .tsx component kit. Apps import components as @ui/*.
// runtime/ vendored Solid runtime + vendor.json (base entrypoints). The app
// merges its own vendor.json (chart.js, pdf-lib, ...) on top; kjol's
// solid-js must resolve FIRST so there is a single reactive instance.
// icons/ FontAwesome SVG source kit. The bundler scans usage and generates a
// per-app registry (@appgen/faIcons); the registry is app-owned and is
// not committed here. An app's own frontend/icons is searched first, so
// an app with a fuller kit keeps it (see jsbundler.iconsDirs).
// styles/ theme.css — the @theme scaffold + :root fa vars, prepended to the
// app's brand style.css by the bundler. Brand color/font tokens stay
// app-side.
//
// The rest (auth/ hooks/ ssr/ utils/ env.ts basic.ts finance.ts superfun.ts) is
// generic TS scaffolding; apps import it as @kjol/*. Concrete permission
// constants stay app-side.
package jsruntime