detached bc8e6fa

build(make): migrate from typescript frontend to svelte gui build system

commit
bc8e6fa1f68d216ecbed4647849be73adf899d10
author
bamen · · 2025-09-15 05:21 UTC
parent
54fb6a9
signature
unsigned
2 files · +6 -5
M .gitignore +1 -0
@@ -62,6 +62,7 @@ config.local.*
6262 tmp/go-cache/
6363 tmp/go-mod/
6464 tmp/
65+assets/gui
6566
6667 # Node/TypeScript related
6768 node_modules/
@@ -62,6 +62,7 @@ config.local.*
62 tmp/go-cache/62 tmp/go-cache/
63 tmp/go-mod/63 tmp/go-mod/
64 tmp/64 tmp/
65+assets/gui
65 66
66 # Node/TypeScript related67 # Node/TypeScript related
67 node_modules/68 node_modules/
M Makefile +5 -5
@@ -42,10 +42,10 @@ build: build-frontend ## Build the application with GUI (frontend assets, then G
4242 $(GOENV) CGO_ENABLED=1 go build -p $(NPROCS) $(LDFLAGS) -tags=webkit_cgo -o $(DIST_DIR)/$(BINARY_NAME) $(MAIN_PATH)
4343 @echo "✅ Build successful! Binary: $(DIST_DIR)/$(BINARY_NAME)"
4444
45-build-frontend: ## Build TypeScript frontend
46- @echo "Building TypeScript frontend..."
47- @cd frontend && npm install --silent && npm run build
48- @echo "Frontend build complete"
45+build-frontend: ## Build Svelte GUI with Tailwind CSS
46+ @echo "Building Svelte GUI with Tailwind CSS..."
47+ @cd gui && npm install --silent && npm run build
48+ @echo "GUI build complete"
4949
5050 build-no-gui: build-frontend ## Build binary without GUI (CGO disabled, CLI-only functionality)
5151 @echo "Building $(BINARY_NAME) $(VERSION) (CLI-only, no GUI) using $(NPROCS) cores..."
@@ -116,7 +116,7 @@ clean: ## Clean build artifacts
116116 @echo "Cleaning build artifacts..."
117117 rm -rf $(DIST_DIR)
118118 rm -f $(BINARY_NAME) # Remove any old binaries in root
119- rm -rf frontend/dist frontend/node_modules
119+ rm -rf gui/dist gui/node_modules
120120 go clean -cache
121121 go clean -testcache
122122
@@ -42,10 +42,10 @@ build: build-frontend ## Build the application with GUI (frontend assets, then G
42 $(GOENV) CGO_ENABLED=1 go build -p $(NPROCS) $(LDFLAGS) -tags=webkit_cgo -o $(DIST_DIR)/$(BINARY_NAME) $(MAIN_PATH)42 $(GOENV) CGO_ENABLED=1 go build -p $(NPROCS) $(LDFLAGS) -tags=webkit_cgo -o $(DIST_DIR)/$(BINARY_NAME) $(MAIN_PATH)
43 @echo "✅ Build successful! Binary: $(DIST_DIR)/$(BINARY_NAME)"43 @echo "✅ Build successful! Binary: $(DIST_DIR)/$(BINARY_NAME)"
44 44
45-build-frontend: ## Build TypeScript frontend45+build-frontend: ## Build Svelte GUI with Tailwind CSS
46- @echo "Building TypeScript frontend..."46+ @echo "Building Svelte GUI with Tailwind CSS..."
47- @cd frontend && npm install --silent && npm run build47+ @cd gui && npm install --silent && npm run build
48- @echo "Frontend build complete"48+ @echo "GUI build complete"
49 49
50 build-no-gui: build-frontend ## Build binary without GUI (CGO disabled, CLI-only functionality)50 build-no-gui: build-frontend ## Build binary without GUI (CGO disabled, CLI-only functionality)
51 @echo "Building $(BINARY_NAME) $(VERSION) (CLI-only, no GUI) using $(NPROCS) cores..."51 @echo "Building $(BINARY_NAME) $(VERSION) (CLI-only, no GUI) using $(NPROCS) cores..."
@@ -116,7 +116,7 @@ clean: ## Clean build artifacts
116 @echo "Cleaning build artifacts..."116 @echo "Cleaning build artifacts..."
117 rm -rf $(DIST_DIR)117 rm -rf $(DIST_DIR)
118 rm -f $(BINARY_NAME) # Remove any old binaries in root118 rm -f $(BINARY_NAME) # Remove any old binaries in root
119- rm -rf frontend/dist frontend/node_modules119+ rm -rf gui/dist gui/node_modules
120 go clean -cache120 go clean -cache
121 go clean -testcache121 go clean -testcache
122 122

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close