@massimo-cassandro/minimo 1.31.3 → 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 esistenti vengono copiati con prefisso NEW- (da integrare manualmente
7
- # o rimuovere); la cartella di installazione del frontend, fissa su ./app, se
8
- # già esistente viene sostituita con ./NEW-app.
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, se esiste viene copiato con prefisso NEW- (da integrare manualmente o rimuovere).
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
- local new_dest="$(dirname "$dest")/NEW-$(basename "$dest")"
49
- cat "$src" >| "$new_dest"
50
- else
51
- cat "$src" > "$dest"
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à, i moduli vengono copiati in NEW-webpack-modules
57
- # (da integrare manualmente o rimuovere)
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
- FRONTEND_INSTALL_PATH="./NEW-$(basename "$FRONTEND_INSTALL_PATH")"
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à, i moduli vengono copiati in NEW-webpack-modules
89
- # (da integrare manualmente o rimuovere)
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
- WEBPACK_MODULES_INSTALL_PATH="./NEW-$(basename "$WEBPACK_MODULES_INSTALL_PATH")"
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
- npm i -S "$pkg"
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}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massimo-cassandro/minimo",
3
- "version": "1.31.3",
3
+ "version": "1.32.0",
4
4
  "description": "Light css framework & utilities",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -100,6 +100,7 @@ function getDomBuilderContentProps(value) {
100
100
  * @param {string | number | null} [params.dialogHeight=null] - optional dialog height value - if set, overrides main css custom prop (default: null)
101
101
  * @param {string | number | null} [params.dialogMinHeight=null] - optional dialog min-height value - if set, overrides main css custom prop (default: null)
102
102
  * @param {string | number | null} [params.dialogMaxHeight=null] - optional dialog max-height value - if set, overrides main css custom prop (default: null)
103
+ * @param {string | number | null} [params.dialogContentPadding=null] - optional dialog content padding value - if set, overrides main css custom prop (default: null)
103
104
  * @param {string | null} [params.iframeUrl=null] - URL to load in an iframe. (default: null)
104
105
  * @param {string | null} [params.ajaxUrl=null] - URL for Ajax content loading. (default: null)
105
106
  * @param {((el: HTMLDialogElement) => void) | null} [params.openCallback=null] - Called with the dialog element after opening, receives the dialog element (`openCallback(dialogEl)`). (default: null)
@@ -119,13 +120,14 @@ export function modalPopup({
119
120
  /** extra classname added to dialogInner */
120
121
  contentExtraClassName = null,
121
122
 
122
- /** optional values for maon custom props overriding */
123
+ /** optional values for main custom props overriding */
123
124
  dialogWidth = null,
124
125
  dialogMinWidth = null,
125
126
  dialogMaxWidth = null,
126
127
  dialogHeight = null,
127
128
  dialogMinHeight = null,
128
129
  dialogMaxHeight = null,
130
+ dialogContentPadding = null,
129
131
 
130
132
  addFocus = true,
131
133
 
@@ -198,15 +200,17 @@ export function modalPopup({
198
200
  dialogHeight,
199
201
  dialogMinHeight,
200
202
  dialogMaxHeight,
203
+ dialogContentPadding,
201
204
  };
202
205
  /** @type {Record<string, string>} */
203
206
  const cpropsMap = {
204
- dialogWidth : '--mpopup-width',
205
- dialogMinWidth : '--mpopup-min-width',
206
- dialogMaxWidth : '--mpopup-max-width',
207
- dialogHeight : '--mpopup-height',
208
- dialogMinHeight : '--mpopup-min-height',
209
- dialogMaxHeight : '--mpopup-max-height'
207
+ dialogWidth : '--mpopup-width',
208
+ dialogMinWidth : '--mpopup-min-width',
209
+ dialogMaxWidth : '--mpopup-max-width',
210
+ dialogHeight : '--mpopup-height',
211
+ dialogMinHeight : '--mpopup-min-height',
212
+ dialogMaxHeight : '--mpopup-max-height',
213
+ dialogContentPadding : '--mpopup-content-padding'
210
214
  };
211
215
  /** @type {string[]} */
212
216
  let dialogStyle = [];