devzone 0.8.2 → 0.9.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.
- package/.devcontainer/devzone +33 -1
- package/core/scripts/versions.sh +29 -4
- package/package.json +1 -1
package/.devcontainer/devzone
CHANGED
|
@@ -11,6 +11,7 @@ set -euo pipefail
|
|
|
11
11
|
|
|
12
12
|
ETAT="${DEVZONE_ETAT:-$HOME/.config/devzone/modules}"
|
|
13
13
|
ICI="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
|
|
14
|
+
VERSIONS="$ICI/../core/scripts/versions.sh"
|
|
14
15
|
MODULES=(ia kubernetes)
|
|
15
16
|
|
|
16
17
|
# Assistants IA, versions figées : mettre à jour ici, puis devzone appliquer
|
|
@@ -126,10 +127,30 @@ appliquer_kubernetes() {
|
|
|
126
127
|
fi
|
|
127
128
|
}
|
|
128
129
|
|
|
130
|
+
# Lignes « paquet figée installée » des outils en retard ; échoue si le script
|
|
131
|
+
# versions.sh est absent ou ne peut pas répondre (l'état omet alors la ligne)
|
|
132
|
+
outils_retard() {
|
|
133
|
+
[ -f "$VERSIONS" ] || return 1
|
|
134
|
+
bash "$VERSIONS" --installees 2>/dev/null
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
# Remet repowarden à la version figée s'il en diffère, comme post-create.sh
|
|
138
|
+
# (il installe les hooks git globaux)
|
|
139
|
+
appliquer_repowarden() {
|
|
140
|
+
local ligne figee installee
|
|
141
|
+
[ -f "$VERSIONS" ] || return 0
|
|
142
|
+
ligne="$(bash "$VERSIONS" --installees 2>/dev/null | awk '$1 == "repowarden"' || true)"
|
|
143
|
+
[ -n "$ligne" ] || return 0
|
|
144
|
+
read -r _ figee installee <<<"$ligne"
|
|
145
|
+
npm install -g "repowarden@$figee" >/dev/null
|
|
146
|
+
repowarden install --global --lang fr
|
|
147
|
+
echo "devzone : repowarden $installee → $figee"
|
|
148
|
+
}
|
|
149
|
+
|
|
129
150
|
# État complet : ✔ prêt, ✖ nécessaire, ○ facultatif, ⚠ à corriger ; chaque
|
|
130
151
|
# point à faire avec sa commande (affiché à chaque démarrage)
|
|
131
152
|
etat() {
|
|
132
|
-
local nom email statut m
|
|
153
|
+
local nom email statut m retards
|
|
133
154
|
echo "devzone : état (devzone pour le réafficher)"
|
|
134
155
|
nom="$(git config --get user.name || true)"
|
|
135
156
|
email="$(git config --get user.email || true)"
|
|
@@ -146,6 +167,16 @@ etat() {
|
|
|
146
167
|
else
|
|
147
168
|
echo " ✔ GitHub connecté"
|
|
148
169
|
fi
|
|
170
|
+
if retards="$(outils_retard)"; then
|
|
171
|
+
if [ -z "$retards" ]; then
|
|
172
|
+
echo " ✔ outils versions figées"
|
|
173
|
+
else
|
|
174
|
+
while read -r paquet figee installee; do
|
|
175
|
+
[ -n "$paquet" ] || continue
|
|
176
|
+
echo " ⚠ outils $paquet $installee installé, $figee figé : devzone appliquer"
|
|
177
|
+
done <<<"$retards"
|
|
178
|
+
fi
|
|
179
|
+
fi
|
|
149
180
|
for m in "${MODULES[@]}"; do
|
|
150
181
|
if [ "$(valeur "$m")" = on ]; then
|
|
151
182
|
printf ' ✔ module %-10s actif : %s\n' "$m" "$(description "$m")"
|
|
@@ -170,6 +201,7 @@ case "${1:-}" in
|
|
|
170
201
|
activer) changer on "${2:-}" ;;
|
|
171
202
|
desactiver) changer off "${2:-}" ;;
|
|
172
203
|
appliquer)
|
|
204
|
+
appliquer_repowarden
|
|
173
205
|
[ "$(valeur ia)" = off ] || appliquer_ia on
|
|
174
206
|
;;
|
|
175
207
|
actif)
|
package/core/scripts/versions.sh
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
# une montée.
|
|
5
5
|
# bash core/scripts/versions.sh
|
|
6
6
|
# une ligne « paquet ancienne nouvelle » par paquet en retard, rien sinon
|
|
7
|
+
# bash core/scripts/versions.sh --installees
|
|
8
|
+
# une ligne « paquet figée installée » par outil installé en retard
|
|
7
9
|
# bash core/scripts/versions.sh --appliquer <paquet> <version>
|
|
8
10
|
# remplace cette version figée dans son fichier, rien d'autre
|
|
9
11
|
# bash core/scripts/versions.sh --ticket-existant <paquet> <auteur>
|
|
@@ -70,6 +72,28 @@ lister() {
|
|
|
70
72
|
done < <(figees)
|
|
71
73
|
}
|
|
72
74
|
|
|
75
|
+
# Versions installées globalement (paquet version), lues en une seule fois ;
|
|
76
|
+
# échoue si npm ou jq ne répond pas (l'état omet alors la ligne)
|
|
77
|
+
installees() {
|
|
78
|
+
local json
|
|
79
|
+
json="$(npm ls -g --depth=0 --json 2>/dev/null || true)"
|
|
80
|
+
[ -n "$json" ] || return 1
|
|
81
|
+
printf '%s\n' "$json" | jq -r '.dependencies // {} | to_entries[] | "\(.key) \(.value.version)"'
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
# Une ligne « paquet figée installée » par outil installé dont la version
|
|
85
|
+
# diffère de la version figée ; un outil non installé n'est pas listé
|
|
86
|
+
comparer_installees() {
|
|
87
|
+
local paquet figee installee liste
|
|
88
|
+
liste="$(installees)"
|
|
89
|
+
while read -r paquet figee; do
|
|
90
|
+
[ -n "$paquet" ] || continue
|
|
91
|
+
installee="$(printf '%s\n' "$liste" | awk -v p="$paquet" '$1 == p { print $2; exit }')"
|
|
92
|
+
[ -n "$installee" ] || continue
|
|
93
|
+
[ "$installee" = "$figee" ] || echo "$paquet $figee $installee"
|
|
94
|
+
done < <(figees)
|
|
95
|
+
}
|
|
96
|
+
|
|
73
97
|
# Affiche « numéro<TAB>titre » du ticket ouvert par $2 dont le titre commence
|
|
74
98
|
# par « $1 », rien sinon : un ticket au même titre ouvert par un autre est ignoré.
|
|
75
99
|
ticket_existant() {
|
|
@@ -124,19 +148,20 @@ appliquer() {
|
|
|
124
148
|
|
|
125
149
|
case "${1:-}" in
|
|
126
150
|
"") lister ;;
|
|
151
|
+
--installees) comparer_installees ;;
|
|
127
152
|
--appliquer)
|
|
128
153
|
[ "$#" -eq 3 ] ||
|
|
129
|
-
{ echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2; exit 2; }
|
|
154
|
+
{ echo "usage : bash core/scripts/versions.sh [--installees | --appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2; exit 2; }
|
|
130
155
|
appliquer "$2" "$3"
|
|
131
156
|
;;
|
|
132
157
|
--ticket-existant)
|
|
133
158
|
[ "$#" -eq 3 ] ||
|
|
134
|
-
{ echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2; exit 2; }
|
|
159
|
+
{ echo "usage : bash core/scripts/versions.sh [--installees | --appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2; exit 2; }
|
|
135
160
|
ticket_existant "$2" "$3"
|
|
136
161
|
;;
|
|
137
|
-
-h | --help) sed -n '2,
|
|
162
|
+
-h | --help) sed -n '2,17p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//' ;;
|
|
138
163
|
*)
|
|
139
|
-
echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2
|
|
164
|
+
echo "usage : bash core/scripts/versions.sh [--installees | --appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2
|
|
140
165
|
exit 2
|
|
141
166
|
;;
|
|
142
167
|
esac
|
package/package.json
CHANGED