[web-client] simple theme: build & development env based on vite.

Vite is a build tool, it consists of two major parts [1]:

- A dev server that provides rich feature enhancements over native ES modules,
  for example extremely fast Hot Module Replacement (HMR).

- A build command that bundles your code with Rollup, pre-configured to output
  highly optimized static assets for production.

[1] https://vite.dev/guide/

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2025-01-23 11:03:58 +01:00 committed by Markus Heiser
parent e86bfa163b
commit b6487b70aa
13 changed files with 4480 additions and 4 deletions

42
utils/lib_sxng_vite.sh Normal file
View file

@ -0,0 +1,42 @@
#!/usr/bin/env bash
# SPDX-License-Identifier: AGPL-3.0-or-later
vite.help(){
cat <<EOF
vite.: .. to be done ..
simple.:
build: build static files of the simple theme
dev: start development server
EOF
}
VITE_SIMPLE_THEME="${REPO_ROOT}/client/simple"
VITE_SIMPLE_DIST="${REPO_ROOT}/searx/static/themes/simple"
vite.simple.dev() {
( set -e
build_msg SIMPLE "start server for FE development of: ${VITE_SIMPLE_THEME}"
pushd "${VITE_SIMPLE_THEME}"
npm install
npm exec -- vite
popd &> /dev/null
)
}
vite.simple.build() {
# build static files of the simple theme
( set -e
build_msg SIMPLE "run build of theme from: ${VITE_SIMPLE_THEME}"
pushd "${VITE_SIMPLE_THEME}"
npm install
npm run fix
npm run build
)
}