rename packages, refactor out tailwind compiler,
This commit is contained in:
16
.vscode/launch.json
vendored
16
.vscode/launch.json
vendored
@@ -1,7 +1,12 @@
|
||||
{
|
||||
// Debug configs for the gowasm example. cwd is the example dir because the
|
||||
// dev server resolves ./wwwroot, ./app, ./wasm and the watched engine dir
|
||||
// dev server resolves ./wwwroot, ./app, ./wasm and the watched engine dirs
|
||||
// relative to it.
|
||||
//
|
||||
// The dev-server configs preLaunchTask the prebuild (codegen + Tailwind). 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.
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
@@ -11,7 +16,8 @@
|
||||
"mode": "auto",
|
||||
"program": "${workspaceFolder}/go/cmd/examples/go-wasm-web/server",
|
||||
"cwd": "${workspaceFolder}/go/cmd/examples/go-wasm-web",
|
||||
"args": ["-addr", ":8085"]
|
||||
"args": ["-addr", ":8085"],
|
||||
"preLaunchTask": "gowasm: prebuild"
|
||||
},
|
||||
{
|
||||
"name": "gowasm: dev server (no watch)",
|
||||
@@ -20,7 +26,11 @@
|
||||
"mode": "auto",
|
||||
"program": "${workspaceFolder}/go/cmd/examples/go-wasm-web/server",
|
||||
"cwd": "${workspaceFolder}/go/cmd/examples/go-wasm-web",
|
||||
"args": ["-watch=false"]
|
||||
// -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 CSS and generated code
|
||||
// there; without it you would be debugging against stale artefacts.
|
||||
"args": ["-watch=false"],
|
||||
"preLaunchTask": "gowasm: prebuild"
|
||||
},
|
||||
{
|
||||
"name": "gowasm: codegen (wasmgen)",
|
||||
|
||||
74
.vscode/tasks.json
vendored
74
.vscode/tasks.json
vendored
@@ -2,14 +2,62 @@
|
||||
// Tasks for the kjol repo. The gowasm example is a nested module at
|
||||
// go/cmd/examples/go-wasm-web, so its tasks set cwd there; the module-wide
|
||||
// Go tasks run in go/.
|
||||
//
|
||||
// The example's build pipeline is Go, not a shell script — see
|
||||
// go/cmd/examples/go-wasm-web/buildsteps. The dev server calls the same steps on every
|
||||
// save, and a bash script would not run for anyone on Windows. "gowasm: prebuild" is
|
||||
// codegen + Tailwind, and everything that runs the app depends on it; the two steps are
|
||||
// also exposed on their own so you can rerun just the one you need.
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "gowasm: dev server (hot reload)",
|
||||
"detail": "Run the go-wasm-web example: codegen + SSR + hot reload on :8085",
|
||||
"label": "gowasm: prebuild",
|
||||
"detail": "Codegen (pages/layouts/server components) then Tailwind. Dependency of the run + debug configs.",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn": ["gowasm: codegen", "gowasm: tailwind"],
|
||||
"problemMatcher": [],
|
||||
"group": "build"
|
||||
},
|
||||
{
|
||||
"label": "gowasm: codegen",
|
||||
"detail": "Regenerate app/*.gen.go from the //gowasm: directives (pages, layouts, server components)",
|
||||
"type": "shell",
|
||||
"command": "go run ./server",
|
||||
"command": "go",
|
||||
"args": ["run", "kjol/cmd/wasmgen", "./app"],
|
||||
"options": { "cwd": "${workspaceFolder}/go/cmd/examples/go-wasm-web" },
|
||||
"problemMatcher": ["$go"],
|
||||
"presentation": { "reveal": "silent", "panel": "shared" },
|
||||
"group": "build"
|
||||
},
|
||||
{
|
||||
"label": "gowasm: tailwind",
|
||||
"detail": "Compile css/app.css -> wwwroot/app.css, scanning the webui kit + the example's Go markup",
|
||||
"type": "shell",
|
||||
"command": "go",
|
||||
"args": [
|
||||
"run", "./cmd/twcss",
|
||||
"-entry", "cmd/examples/go-wasm-web/css/app.css",
|
||||
"-out", "cmd/examples/go-wasm-web/wwwroot/app.css",
|
||||
"-base", ".",
|
||||
"webui/**/*.go",
|
||||
"cmd/examples/go-wasm-web/app/**/*.go",
|
||||
"cmd/examples/go-wasm-web/server/**/*.go"
|
||||
],
|
||||
// Run from the kjol module root so the Tailwind engine's deps resolve in kjol's
|
||||
// go.mod, not the example's.
|
||||
"options": { "cwd": "${workspaceFolder}/go" },
|
||||
"problemMatcher": ["$go"],
|
||||
"presentation": { "reveal": "silent", "panel": "shared" },
|
||||
"group": "build"
|
||||
},
|
||||
{
|
||||
"label": "gowasm: dev server (hot reload)",
|
||||
"detail": "SSR + hot reload on :8085. Rebuilds Go on save; a .css save recompiles Tailwind only and swaps the stylesheet in place.",
|
||||
"type": "shell",
|
||||
"command": "go",
|
||||
"args": ["run", "./server"],
|
||||
"options": { "cwd": "${workspaceFolder}/go/cmd/examples/go-wasm-web" },
|
||||
"dependsOn": ["gowasm: prebuild"],
|
||||
"isBackground": true,
|
||||
"problemMatcher": {
|
||||
"owner": "go",
|
||||
@@ -19,27 +67,19 @@
|
||||
},
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": "rebuilding",
|
||||
"endsPattern": "serving|reloading clients"
|
||||
"beginsPattern": "rebuilding|recompiling",
|
||||
"endsPattern": "serving|reloading clients|stylesheet updated"
|
||||
}
|
||||
},
|
||||
"presentation": { "reveal": "always", "panel": "dedicated", "clear": true },
|
||||
"group": { "kind": "build", "isDefault": true }
|
||||
},
|
||||
{
|
||||
"label": "gowasm: build (build.sh)",
|
||||
"detail": "One-off build of the example: codegen + wasm + stage wasm_exec.js",
|
||||
"label": "gowasm: build",
|
||||
"detail": "One-off cold build of the example: codegen + Tailwind + wasm + stage wasm_exec.js",
|
||||
"type": "shell",
|
||||
"command": "./build.sh",
|
||||
"options": { "cwd": "${workspaceFolder}/go/cmd/examples/go-wasm-web" },
|
||||
"problemMatcher": ["$go"],
|
||||
"group": "build"
|
||||
},
|
||||
{
|
||||
"label": "gowasm: codegen",
|
||||
"detail": "Regenerate app/*.gen.go from //gowasm: directives",
|
||||
"type": "shell",
|
||||
"command": "go run kjol/cmd/wasmgen ./app",
|
||||
"command": "go",
|
||||
"args": ["run", "./build"],
|
||||
"options": { "cwd": "${workspaceFolder}/go/cmd/examples/go-wasm-web" },
|
||||
"problemMatcher": ["$go"],
|
||||
"group": "build"
|
||||
|
||||
Reference in New Issue
Block a user