@massimo-cassandro/minimo 1.31.4 → 1.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,14 +3,20 @@
|
|
|
3
3
|
# IMPORTANTE: questo script è idempotente e deve restare tale.
|
|
4
4
|
# Può essere rilanciato più volte sullo stesso progetto (anche via `npx starter-kit`
|
|
5
5
|
# per aggiornare un setup esistente) senza sovrascrivere nulla né creare duplicati:
|
|
6
|
-
# i file
|
|
7
|
-
#
|
|
8
|
-
#
|
|
6
|
+
# per i singoli file, se il contenuto esistente è identico al sorgente la copia
|
|
7
|
+
# viene saltata; se è diverso e non esiste ancora un OLD- corrispondente, il
|
|
8
|
+
# file esistente viene rinominato con prefisso OLD- (preservato da quel momento
|
|
9
|
+
# in poi, non viene più toccato nelle esecuzioni successive) e il nuovo file
|
|
10
|
+
# prende il nome originale; se l'OLD- corrispondente esiste già, viene invece
|
|
11
|
+
# sovrascritto direttamente il file "nuovo", senza aggiungere ulteriori prefissi.
|
|
12
|
+
# Stessa logica, a livello di intera cartella e senza diff sui singoli file
|
|
13
|
+
# contenuti, per le cartelle installate (./app, ./webpack-config-modules).
|
|
9
14
|
# Ogni modifica futura deve conservare questa proprietà.
|
|
10
15
|
|
|
11
16
|
RED='\033[0;31m'
|
|
12
17
|
YELLOW='\033[0;33m'
|
|
13
18
|
GREEN='\033[0;32m'
|
|
19
|
+
DIM='\033[2m' # Dim
|
|
14
20
|
NC='\033[0m' # No Color
|
|
15
21
|
|
|
16
22
|
DEBUG=FALSE
|
|
@@ -36,7 +42,12 @@ WEBPACK_MODULES_INSTALL_PATH="./webpack-config-modules"
|
|
|
36
42
|
set -C
|
|
37
43
|
|
|
38
44
|
|
|
39
|
-
# Wrapper: copia il file
|
|
45
|
+
# Wrapper: copia il file. Se dest esiste con contenuto identico al sorgente,
|
|
46
|
+
# la copia viene saltata. Se il contenuto è diverso: la prima volta il file
|
|
47
|
+
# esistente viene rinominato con prefisso OLD- (preservato da quel momento in
|
|
48
|
+
# poi, mai più toccato) e il nuovo file prende il nome originale; se l'OLD-
|
|
49
|
+
# corrispondente esiste già, viene invece sovrascritto direttamente il file
|
|
50
|
+
# "nuovo", senza aggiungere ulteriori prefissi.
|
|
40
51
|
safe_cat() {
|
|
41
52
|
local src="$1"
|
|
42
53
|
local dest="$2"
|
|
@@ -45,18 +56,27 @@ safe_cat() {
|
|
|
45
56
|
return 1
|
|
46
57
|
fi
|
|
47
58
|
if [ -e "$dest" ]; then
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
if cmp -s "$src" "$dest"; then
|
|
60
|
+
return 0
|
|
61
|
+
fi
|
|
62
|
+
local old_dest="$(dirname "$dest")/OLD-$(basename "$dest")"
|
|
63
|
+
if [ ! -e "$old_dest" ]; then
|
|
64
|
+
mv "$dest" "$old_dest"
|
|
65
|
+
fi
|
|
52
66
|
fi
|
|
67
|
+
cat "$src" >| "$dest"
|
|
53
68
|
}
|
|
54
69
|
|
|
55
70
|
FRONTEND_INSTALL_PATH="./app"
|
|
56
|
-
# se la cartella esiste gi
|
|
57
|
-
# (
|
|
71
|
+
# se la cartella esiste già: la prima volta viene rinominata per intero in
|
|
72
|
+
# OLD-app (preservata, mai più toccata); se OLD-app esiste già, la cartella
|
|
73
|
+
# esistente non viene rinominata e i file al suo interno vengono gestiti
|
|
74
|
+
# singolarmente dalla stessa logica di safe_cat.
|
|
58
75
|
if [ -d "$FRONTEND_INSTALL_PATH" ]; then
|
|
59
|
-
|
|
76
|
+
OLD_FRONTEND_INSTALL_PATH="$(dirname "$FRONTEND_INSTALL_PATH")/OLD-$(basename "$FRONTEND_INSTALL_PATH")"
|
|
77
|
+
if [ ! -e "$OLD_FRONTEND_INSTALL_PATH" ]; then
|
|
78
|
+
mv "$FRONTEND_INSTALL_PATH" "$OLD_FRONTEND_INSTALL_PATH"
|
|
79
|
+
fi
|
|
60
80
|
fi
|
|
61
81
|
|
|
62
82
|
echo -e "${GREEN}Files will be installed in: '${FRONTEND_INSTALL_PATH}'${NC}"
|
|
@@ -85,10 +105,16 @@ safe_cat "${WEBPACK_CONFIG_SOURCE_PATH}/webpack-template.ejs" "${FRONTEND_INSTAL
|
|
|
85
105
|
|
|
86
106
|
|
|
87
107
|
echo -e "${GREEN}..WEBPACK CONFIG MODULES${NC}"
|
|
88
|
-
# se la cartella esiste gi
|
|
89
|
-
# (
|
|
108
|
+
# se la cartella esiste già: la prima volta viene rinominata per intero in
|
|
109
|
+
# OLD-webpack-config-modules (preservata, mai più toccata); se l'OLD-
|
|
110
|
+
# corrispondente esiste già, la cartella esistente non viene rinominata e i
|
|
111
|
+
# file al suo interno vengono gestiti singolarmente dalla stessa logica di
|
|
112
|
+
# safe_cat.
|
|
90
113
|
if [ -d "$WEBPACK_MODULES_INSTALL_PATH" ]; then
|
|
91
|
-
|
|
114
|
+
OLD_WEBPACK_MODULES_INSTALL_PATH="$(dirname "$WEBPACK_MODULES_INSTALL_PATH")/OLD-$(basename "$WEBPACK_MODULES_INSTALL_PATH")"
|
|
115
|
+
if [ ! -e "$OLD_WEBPACK_MODULES_INSTALL_PATH" ]; then
|
|
116
|
+
mv "$WEBPACK_MODULES_INSTALL_PATH" "$OLD_WEBPACK_MODULES_INSTALL_PATH"
|
|
117
|
+
fi
|
|
92
118
|
fi
|
|
93
119
|
|
|
94
120
|
mkdir -p "$WEBPACK_MODULES_INSTALL_PATH"
|
|
@@ -155,11 +181,13 @@ if [ "$DEBUG" = "TRUE" ]; then
|
|
|
155
181
|
fi
|
|
156
182
|
|
|
157
183
|
for pkg in "${dependencies[@]}"; do
|
|
184
|
+
echo -e "${DIM}...installing "$pkg"${NC}"
|
|
158
185
|
npm i -S "$pkg"
|
|
159
186
|
done
|
|
160
187
|
|
|
161
188
|
for pkg in "${devDependencies[@]}"; do
|
|
162
|
-
|
|
189
|
+
echo -e "${DIM}...installing "$pkg"${NC}"
|
|
190
|
+
npm i -D "$pkg"
|
|
163
191
|
done
|
|
164
192
|
|
|
165
193
|
echo -e "\n${GREEN}...creating default folders${NC}"
|