rename packages, refactor out tailwind compiler,

This commit is contained in:
2026-07-13 15:06:09 -04:00
parent c5b14d7c41
commit d52151cc1a
62 changed files with 1446 additions and 460 deletions

View File

@@ -24,23 +24,29 @@ Each top-level directory is one language / build root:
```
kjol/
go/ all Go. Module `kjol` (go.mod lives in go/). Imports are `kjol/<pkg>`.
web/ all JS/TS (browser + SSR). No build system of its own; built by go/bundler.
web/ all JS/TS (browser + SSR). No build system of its own; built by go/webbundler.
# future: cpp/ kotlin/ swift/
```
Language-first, **not** feature-first. Consequence: the **bundler is Go** and lives in
`go/bundler` even though it builds `web/`. Don't "fix" this by splitting it.
Language-first, **not** feature-first. Consequence: the **web bundler is Go** and lives in
`go/webbundler` even though it builds `web/`. Don't "fix" this by splitting it.
### go/ — module `kjol`
Packages, imported as `kjol/<name>`: `appenv basic chrono config csv dbutil finance httputil
l4g security snailmail validation bundler`, plus the **gowasm** web-UI engine (`vdom`
l4g security snailmail validation webbundler tw`, plus the **gowasm** web-UI engine (`vdom`
`wasmruntime` `rsc` `wasmdevserver`, and `webui` — a Tailwind-styled component kit ported
from `web/kit`; author components in pure Go compiled to WebAssembly; all stdlib-only), and
`cmd/{bundle,migrate,loc,passgen,typecheck,wasmgen}`. A runnable
`cmd/{bundle,twcss,migrate,loc,passgen,typecheck,wasmgen}`. A runnable
example lives in `cmd/examples/go-wasm-web` (its own nested module so its go-chart dep stays
out of kjol).
`webbundler` is the **JS** build (TSX → Solid → esbuild). `tw` is the **Tailwind v4
compiler**, and it is deliberately NOT inside it: Tailwind only reads text and writes CSS,
and the text is just as likely to be Go — the gowasm kit writes its markup in Go and has no
JS build at all. Keeping it in the bundler made every Go-only consumer drag a JavaScript
bundler along for a CSS file.
Build / test (run from repo root):
```
go -C go build ./...