fix: aggiorna gli script per utilizzare npx con pnpm e allinea la versione nel package.json
This commit is contained in:
@@ -11,8 +11,9 @@ final "add to cart" action posted back to the parent window via `postMessage`.
|
|||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
Package manager is **pnpm** (`pnpm-lock.yaml` is the lockfile of record even though `package-lock.json` is
|
Package manager is **pnpm 10.34.7** (pinned in `packageManager`; `build.sh`/`dev.sh` run it via
|
||||||
also present).
|
`npx pnpm@10.34.7`, so lockfiles stay at `lockfileVersion: '9.0'`). `pnpm-lock.yaml` is the lockfile of record
|
||||||
|
even though `package-lock.json` is also present.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pnpm install # install deps
|
pnpm install # install deps
|
||||||
|
|||||||
@@ -14,5 +14,6 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-vue": "^5.2.1",
|
"@vitejs/plugin-vue": "^5.2.1",
|
||||||
"vite": "^6.0.7"
|
"vite": "^6.0.7"
|
||||||
}
|
},
|
||||||
|
"packageManager": "pnpm@10.34.7"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+503
-422
File diff suppressed because it is too large
Load Diff
@@ -7,5 +7,10 @@ set -euo pipefail
|
|||||||
|
|
||||||
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
|
||||||
(cd "$ROOT" && pnpm install --frozen-lockfile && pnpm build)
|
# Versione di pnpm fissata (formato dei pnpm-lock.yaml): usata via npx così non dipende dal pnpm
|
||||||
(cd "$ROOT/backoffice/cliente" && pnpm install --frozen-lockfile && pnpm build)
|
# installato sulla macchina. Va tenuta allineata al campo "packageManager" dei package.json.
|
||||||
|
PNPM=(npx --yes pnpm@10.34.7)
|
||||||
|
|
||||||
|
for dir in "$ROOT" "$ROOT/backoffice/cliente"; do
|
||||||
|
(cd "$dir" && "${PNPM[@]}" install --frozen-lockfile --config.confirmModulesPurge=false && "${PNPM[@]}" build)
|
||||||
|
done
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ CLIENTE="$BACKOFFICE/cliente"
|
|||||||
port_in_use() { lsof -nP -iTCP:"$1" -sTCP:LISTEN >/dev/null 2>&1; }
|
port_in_use() { lsof -nP -iTCP:"$1" -sTCP:LISTEN >/dev/null 2>&1; }
|
||||||
|
|
||||||
# --- Controlli preliminari ---------------------------------------------------
|
# --- Controlli preliminari ---------------------------------------------------
|
||||||
for cmd in php pnpm lsof; do
|
for cmd in php npx lsof; do
|
||||||
command -v "$cmd" >/dev/null || { echo "Errore: '$cmd' non trovato nel PATH." >&2; exit 1; }
|
command -v "$cmd" >/dev/null || { echo "Errore: '$cmd' non trovato nel PATH." >&2; exit 1; }
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -32,8 +32,11 @@ for port in 8000; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
[ -d "$BACKOFFICE/vendor" ] || (cd "$BACKOFFICE" && composer install)
|
[ -d "$BACKOFFICE/vendor" ] || (cd "$BACKOFFICE" && composer install)
|
||||||
[ -d "$CLIENTE/node_modules" ] || (cd "$CLIENTE" && pnpm install)
|
# Stessa versione di pnpm di build.sh (formato dei pnpm-lock.yaml).
|
||||||
[ -d "$ROOT/node_modules" ] || (cd "$ROOT" && pnpm install)
|
PNPM=(npx --yes pnpm@10.34.7)
|
||||||
|
for dir in "$ROOT" "$CLIENTE"; do
|
||||||
|
(cd "$dir" && "${PNPM[@]}" install --frozen-lockfile --config.confirmModulesPurge=false)
|
||||||
|
done
|
||||||
|
|
||||||
# --- Avvio servizi -----------------------------------------------------------
|
# --- Avvio servizi -----------------------------------------------------------
|
||||||
PIDS=()
|
PIDS=()
|
||||||
@@ -63,8 +66,8 @@ run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run "laravel" "$BACKOFFICE" php artisan serve --port=8000
|
run "laravel" "$BACKOFFICE" php artisan serve --port=8000
|
||||||
run "cliente" "$CLIENTE" pnpm build --watch
|
run "cliente" "$CLIENTE" "${PNPM[@]}" build --watch
|
||||||
run "config " "$ROOT" pnpm build --watch
|
run "config " "$ROOT" "${PNPM[@]}" build --watch
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
|
||||||
|
|||||||
@@ -84,10 +84,10 @@ sono in git: le genera `./build.sh` sul server dopo ogni pull.
|
|||||||
|
|
||||||
1. **Git**: repository collegato al dominio, cartella di deploy es. `kreios/`.
|
1. **Git**: repository collegato al dominio, cartella di deploy es. `kreios/`.
|
||||||
2. **Hosting**: Document root = `kreios/backoffice/public`, PHP 8.3+.
|
2. **Hosting**: Document root = `kreios/backoffice/public`, PHP 8.3+.
|
||||||
3. **Node.js + pnpm**: estensione Node.js di Plesk (versione 22), accesso SSH dell'utente della subscription
|
3. **Node.js**: estensione Node.js di Plesk (versione 22) e accesso SSH dell'utente della subscription con
|
||||||
con shell `/bin/bash` (non chroot, altrimenti `/opt/plesk/node` non è visibile), poi via SSH, una volta:
|
shell `/bin/bash` (non chroot, altrimenti `/opt/plesk/node` non è visibile). pnpm non va installato:
|
||||||
`PATH=/opt/plesk/node/22/bin:$PATH npm install -g pnpm@8.10.2 --prefix ~/.local`. La versione 8 è quella
|
`build.sh` usa `npx pnpm@10.34.7`, la versione dei lockfile (`lockfileVersion: '9.0'`), qualunque pnpm
|
||||||
dei lockfile (`lockfileVersion: '6.0'`); si installa nella home dell'utente, senza permessi di root.
|
sia presente sulla macchina.
|
||||||
4. **`.env`** creato a mano in `kreios/backoffice/.env` (`APP_ENV=production`, `APP_DEBUG=false`, `APP_URL`,
|
4. **`.env`** creato a mano in `kreios/backoffice/.env` (`APP_ENV=production`, `APP_DEBUG=false`, `APP_URL`,
|
||||||
`DB_*`, `MAIL_*`, `ADMIN_NOTIFY_EMAIL`), poi una volta sola: `php artisan key:generate`,
|
`DB_*`, `MAIL_*`, `ADMIN_NOTIFY_EMAIL`), poi una volta sola: `php artisan key:generate`,
|
||||||
`php artisan storage:link`, `php artisan db:seed --force` (admin, catalogo e immagini del configuratore).
|
`php artisan storage:link`, `php artisan db:seed --force` (admin, catalogo e immagini del configuratore).
|
||||||
@@ -95,7 +95,7 @@ sono in git: le genera `./build.sh` sul server dopo ogni pull.
|
|||||||
di PHP/Node del server:
|
di PHP/Node del server:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export PATH=/var/www/vhosts/<dominio>/.local/bin:/opt/plesk/node/22/bin:$PATH
|
export PATH=/opt/plesk/node/22/bin:$PATH
|
||||||
PHP=/opt/plesk/php/8.3/bin/php
|
PHP=/opt/plesk/php/8.3/bin/php
|
||||||
(cd backoffice && $PHP /usr/lib/plesk-9.0/composer.phar install --no-dev --optimize-autoloader --no-interaction)
|
(cd backoffice && $PHP /usr/lib/plesk-9.0/composer.phar install --no-dev --optimize-autoloader --no-interaction)
|
||||||
# svuota tutte le cache di Laravel (config, route, view, eventi, cache applicativa, compilati)
|
# svuota tutte le cache di Laravel (config, route, view, eventi, cache applicativa, compilati)
|
||||||
@@ -107,7 +107,7 @@ sono in git: le genera `./build.sh` sul server dopo ogni pull.
|
|||||||
```
|
```
|
||||||
|
|
||||||
`build.sh` installa le dipendenze con `pnpm install --frozen-lockfile`: se `package.json` cambia, va
|
`build.sh` installa le dipendenze con `pnpm install --frozen-lockfile`: se `package.json` cambia, va
|
||||||
committato anche il `pnpm-lock.yaml` aggiornato, altrimenti il deploy fallisce. Durante la build le cartelle
|
committato anche il `pnpm-lock.yaml` aggiornato (generato con pnpm 10), altrimenti il deploy fallisce. Durante la build le cartelle
|
||||||
`public/configuratore` e `public/preventivo` vengono svuotate e riscritte: per qualche secondo le due
|
`public/configuratore` e `public/preventivo` vengono svuotate e riscritte: per qualche secondo le due
|
||||||
pagine non sono disponibili.
|
pagine non sono disponibili.
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -24,5 +24,6 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"vite": "^6.2.4",
|
"vite": "^6.2.4",
|
||||||
"vite-plugin-minify": "^2.1.0"
|
"vite-plugin-minify": "^2.1.0"
|
||||||
}
|
},
|
||||||
|
"packageManager": "pnpm@10.34.7"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+752
-521
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user