devzone 0.8.1 → 0.8.2

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.
@@ -6,6 +6,8 @@
6
6
  # une ligne « paquet ancienne nouvelle » par paquet en retard, rien sinon
7
7
  # bash core/scripts/versions.sh --appliquer <paquet> <version>
8
8
  # remplace cette version figée dans son fichier, rien d'autre
9
+ # bash core/scripts/versions.sh --ticket-existant <paquet> <auteur>
10
+ # « numéro<TAB>titre » du ticket ouvert par <auteur>, rien sinon
9
11
  # Compatible bash 3.2 (macOS).
10
12
  set -euo pipefail
11
13
 
@@ -68,6 +70,24 @@ lister() {
68
70
  done < <(figees)
69
71
  }
70
72
 
73
+ # Affiche « numéro<TAB>titre » du ticket ouvert par $2 dont le titre commence
74
+ # par « $1 », rien sinon : un ticket au même titre ouvert par un autre est ignoré.
75
+ ticket_existant() {
76
+ local paquet="$1" auteur="$2" tickets numero titre auteur_ticket
77
+ tickets="$(gh issue list --state open --limit 200 --json number,title,author \
78
+ --jq '.[] | "\(.number)\t\(.title)\t\(.author.login)"')"
79
+ while IFS=$'\t' read -r numero titre auteur_ticket; do
80
+ [ -n "$numero" ] || continue
81
+ case "$titre" in
82
+ "$paquet "*) ;;
83
+ *) continue ;;
84
+ esac
85
+ [ "$auteur_ticket" = "$auteur" ] || continue
86
+ printf '%s\t%s\n' "$numero" "$titre"
87
+ return 0
88
+ done <<<"$tickets"
89
+ }
90
+
71
91
  # Échappe $1 pour un motif sed (le délimiteur est « | »)
72
92
  echapper() {
73
93
  printf '%s' "$1" | sed "s/[][\\\\.*^$()+?{}|]/\\\\&/g"
@@ -106,12 +126,17 @@ case "${1:-}" in
106
126
  "") lister ;;
107
127
  --appliquer)
108
128
  [ "$#" -eq 3 ] ||
109
- { echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version>]" >&2; exit 2; }
129
+ { echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2; exit 2; }
110
130
  appliquer "$2" "$3"
111
131
  ;;
112
- -h | --help) sed -n '2,9p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//' ;;
132
+ --ticket-existant)
133
+ [ "$#" -eq 3 ] ||
134
+ { echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2; exit 2; }
135
+ ticket_existant "$2" "$3"
136
+ ;;
137
+ -h | --help) sed -n '2,11p' "${BASH_SOURCE[0]}" | sed 's/^# \{0,1\}//' ;;
113
138
  *)
114
- echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version>]" >&2
139
+ echo "usage : bash core/scripts/versions.sh [--appliquer <paquet> <version> | --ticket-existant <paquet> <auteur>]" >&2
115
140
  exit 2
116
141
  ;;
117
142
  esac
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devzone",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Zone de dev conteneurisée : Java, Node, Python, Docker, Kubernetes et outils repowarden, dans un devcontainer",
5
5
  "license": "GPL-3.0-only",
6
6
  "repository": {