haiku-atelier-2024/.ddev/commands/web/vite
2024-10-02 23:54:52 +02:00

49 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
#ddev-generated
## Description: Run vite inside the web container. Servers started by vite (dev, preview) are proxied and made available at https://vite.$PROJECTNAME.ddev.site
## Usage: vite dev|serve|build|optimize|preview [flags] [args]
## Example: "ddev vite" or "ddev vite build" or "ddev vite build --outDir path/to/output/"
## ExecRaw: true
## HostWorkingDir: true
## AutocompleteTerms: ["dev","serve","build","optimize","preview"]
# Preferred package manager can be specified via VITE_PACKAGE_MANAGER environment variable in config.vite.yaml
PACKAGE_MANAGER="${VITE_PACKAGE_MANAGER:-npm}"
COMMAND="${1:-dev}"
OPTIONS=$@
case $PACKAGE_MANAGER in
npm | npx)
PACKAGE_MANAGER_COMMAND="npx vite"
;;
yarn)
PACKAGE_MANAGER_COMMAND="yarn exec vite --"
;;
pnpm)
PACKAGE_MANAGER_COMMAND="pnpm exec vite"
;;
bun)
PACKAGE_MANAGER_COMMAND="bun vite"
;;
*)
echo "Invalid node package manager specified: $PACKAGE_MANAGER"
exit 1
;;
esac
if [[ "${COMMAND:0:1}" == "-" ]]; then
COMMAND="dev"
else
OPTIONS="${@:2}"
fi
echo "Using $PACKAGE_MANAGER to run vite..."
if [[ $COMMAND == "dev" ]] || [[ $COMMAND == "serve" ]] || [[ $COMMAND == "preview" ]]; then
$PACKAGE_MANAGER_COMMAND $COMMAND --host --port 5173 --strictPort $OPTIONS
else
$PACKAGE_MANAGER_COMMAND $COMMAND $OPTIONS
fi