begin new custom chart implementation for js ui

This commit is contained in:
2026-07-16 11:45:17 -04:00
parent 13a60a90a1
commit 550e97aa9b
21 changed files with 1001 additions and 179 deletions

10
.vscode/launch.json vendored
View File

@@ -7,6 +7,11 @@
// Solid bundle). Codegen must run before the server is COMPILED — it writes
// app/*.gen.go, which the server imports — and under the debugger the binary is built
// by Delve, not by the server's own Build hook, so nothing else would generate it.
//
// GOWORK=off on every config: kjol-web is its own module (module kjolweb, replace kjol
// => ../..). Inside a parent project the parent's go.work — which lists kjol/go but not
// kjolweb — shadows it, and the build fails "main module (...) does not contain package
// .../kjol-web/server". Off, Go uses kjolweb's own go.mod; standalone it is a no-op.
"version": "0.2.0",
"configurations": [
{
@@ -16,6 +21,7 @@
"mode": "auto",
"program": "${workspaceFolder}/go/cmd/kjol-web/server",
"cwd": "${workspaceFolder}/go/cmd/kjol-web",
"env": { "GOWORK": "off" },
"args": ["-addr", ":8085"],
"preLaunchTask": "kjol-web: prebuild"
},
@@ -26,6 +32,7 @@
"mode": "auto",
"program": "${workspaceFolder}/go/cmd/kjol-web/server",
"cwd": "${workspaceFolder}/go/cmd/kjol-web",
"env": { "GOWORK": "off" },
// -watch=false skips the server's own Build entirely, so wwwroot is served exactly
// as it sits on disk. The prebuild is what puts current generated code, CSS and JS
// bundles there; without it you would be debugging against stale artefacts — and
@@ -43,6 +50,7 @@
// them and Go will not let you import a main.
"program": "${workspaceFolder}/go/cmd/kjol-web/server",
"cwd": "${workspaceFolder}/go/cmd/kjol-web",
"env": { "GOWORK": "off" },
"args": ["-build"]
},
{
@@ -52,6 +60,7 @@
"mode": "auto",
"program": "${workspaceFolder}/go/cmd/wasmgen",
"cwd": "${workspaceFolder}/go/cmd/kjol-web",
"env": { "GOWORK": "off" },
"args": ["./app"]
},
{
@@ -63,6 +72,7 @@
// All of it is Go, so all of it takes a breakpoint.
"program": "${workspaceFolder}/go/cmd/bundle",
"cwd": "${workspaceFolder}/go/cmd/kjol-web",
"env": { "GOWORK": "off" },
"args": [
"-app", "frontend",
"-web", "../../jsruntime",

16
.vscode/tasks.json vendored
View File

@@ -21,6 +21,12 @@
// so nothing else would generate it. Tailwind and the Solid bundle are in there too, so
// that a -watch=false session serves current artefacts instead of stale ones. Each step
// is also exposed on its own, so you can rerun just the one you need.
//
// The kjol-web tasks (cwd go/cmd/kjol-web) set GOWORK=off: kjol-web is its own module
// (module kjolweb, replace kjol => ../..), and inside a parent project the parent's
// go.work — which does not list kjolweb — would shadow it and the go command would fail
// "main module (...) does not contain package .../kjol-web/...". The kjol-module tasks
// (cwd go) keep the workspace, since kjol/go is what a parent's go.work does list.
"version": "2.0.0",
"tasks": [
{
@@ -37,7 +43,7 @@
"type": "shell",
"command": "go",
"args": ["run", "kjol/cmd/wasmgen", "./app"],
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web" },
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web", "env": { "GOWORK": "off" } },
"problemMatcher": ["$go"],
"presentation": { "reveal": "silent", "panel": "shared" },
"group": "build"
@@ -77,7 +83,7 @@
"-out", "wwwroot",
"-gen-ts", "frontend/src/ui/generated"
],
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web" },
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web", "env": { "GOWORK": "off" } },
"problemMatcher": ["$go"],
"presentation": { "reveal": "silent", "panel": "shared" },
"group": "build"
@@ -88,7 +94,7 @@
"type": "shell",
"command": "go",
"args": ["run", "./server"],
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web" },
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web", "env": { "GOWORK": "off" } },
"dependsOn": ["kjol-web: prebuild"],
"isBackground": true,
"problemMatcher": {
@@ -112,7 +118,7 @@
"type": "shell",
"command": "go",
"args": ["run", "./server", "-build"],
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web" },
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web", "env": { "GOWORK": "off" } },
"problemMatcher": ["$go"],
"group": "build"
},
@@ -159,7 +165,7 @@
"detail": "The site's own tests (SSR, the icon registry, the AutoTable export bytes). Its own module, so `kjol: test ./...` does not reach it.",
"type": "shell",
"command": "go test ./...",
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web" },
"options": { "cwd": "${workspaceFolder}/go/cmd/kjol-web", "env": { "GOWORK": "off" } },
"problemMatcher": ["$go"],
"group": "test"
}