// Package jsruntime is the JS/TS tree 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