34 lines
956 B
Go
34 lines
956 B
Go
package main
|
|
|
|
// Thin CLI wrapper around kjol/webbundler. The bundler wires its own Go-native
|
|
// Solid JSX compiler (see webbundler.Build), so this wrapper carries no build logic.
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
|
|
"kjol/webbundler"
|
|
)
|
|
|
|
func main() {
|
|
app := flag.String("app", "frontend", "App frontend source root (relative to cwd).")
|
|
web := flag.String("web", "kjol/web", "Path to the kjol web tree (kit, runtime, icons, styles).")
|
|
out := flag.String("out", "wwwroot", "Build output directory.")
|
|
genGo := flag.String("gen-go", "internal/handlers", "Directory for generated Go files.")
|
|
genTS := flag.String("gen-ts", "", "Directory for the generated TS icon registry (default <app>/src/ui/generated).")
|
|
flag.Parse()
|
|
|
|
cfg := webbundler.Config{
|
|
AppFrontend: *app,
|
|
WebDir: *web,
|
|
Output: *out,
|
|
GenGoDir: *genGo,
|
|
GenTSDir: *genTS,
|
|
}
|
|
if err := webbundler.Build(cfg); err != nil {
|
|
fmt.Fprintln(os.Stderr, err)
|
|
os.Exit(1)
|
|
}
|
|
}
|