server : (web ui) Various improvements, now use vite as bundler #10599
+3,921
−27,397
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
The new web UI has received significantly more positive feedback than anticipated, prompting consideration for further enhancements.
Currently, we operate without a bundler, running code directly from
index.html
and 3rd party libraries fromdeps.sh
. However, this approach has limitations, particularly with daisyui component compatibility. It also leave a big binary size with many redundant parts inside.Given that many llama.cpp contributors have a lower-level programming background, here's a brief overview of the current UI tech stack and why we need to use them:
.html
file, eliminating runtime dependencies.Improvements
Key updates in this PR:
server/webui
usingnpm
for dependency management (withdeps.sh
script removed)server/README.md
). Outputindex.html
size is just under 500kb, which is smaller than the old approach withdeps.sh
(Remind: this newindex.html
contains everything needed)For binary size, this PR recudes 1MB of the final compiled binary compared to
master
:|