@lystech/core 3.0.49 → 3.0.50
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/README.md +1 -1
- package/bin/README.md +126 -126
- package/bin/attach.cjs +276 -276
- package/bin/check-pwa.cjs +276 -276
- package/bin/postinstall.cjs +216 -216
- package/bin/setup-github-action.cjs +208 -208
- package/bin/setup-registry.cjs +188 -188
- package/bin/update-lystech-package.yml +114 -114
- package/dist/lystech-core-provider.es.js +5833 -5721
- package/dist/lystech-core-provider.umd.js +154 -154
- package/package.json +77 -79
package/bin/postinstall.cjs
CHANGED
|
@@ -1,216 +1,216 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const fs = require("fs");
|
|
4
|
-
const path = require("path");
|
|
5
|
-
|
|
6
|
-
// Ne pas exécuter si on est dans le package lui-même (dev)
|
|
7
|
-
const currentDir = process.cwd();
|
|
8
|
-
const packageJsonPath = path.join(currentDir, "package.json");
|
|
9
|
-
|
|
10
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
11
|
-
console.log("⏭️ Pas de package.json trouvé, skip postinstall");
|
|
12
|
-
process.exit(0);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
16
|
-
|
|
17
|
-
// Skip si c'est lystech-core lui-même
|
|
18
|
-
if (packageJson.name === "@lystech/core") {
|
|
19
|
-
console.log("⏭️ Postinstall skipped (package lystech-core lui-même)");
|
|
20
|
-
process.exit(0);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Skip si variable d'environnement SKIP_LYSTECH_SETUP est définie
|
|
24
|
-
if (process.env.SKIP_LYSTECH_SETUP === "true") {
|
|
25
|
-
console.log("⏭️ Postinstall skipped (SKIP_LYSTECH_SETUP=true)");
|
|
26
|
-
process.exit(0);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Vérifier si le package contient @lystech/core
|
|
30
|
-
const hasLystechCore = !!(
|
|
31
|
-
(packageJson.dependencies && packageJson.dependencies["@lystech/core"]) ||
|
|
32
|
-
(packageJson.devDependencies &&
|
|
33
|
-
packageJson.devDependencies["@lystech/core"]) ||
|
|
34
|
-
(packageJson.peerDependencies &&
|
|
35
|
-
packageJson.peerDependencies["@lystech/core"])
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
if (!hasLystechCore) {
|
|
39
|
-
console.log("⏭️ @lystech/core non trouvé dans les dépendances");
|
|
40
|
-
process.exit(0);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const workflowDir = path.join(currentDir, ".github", "workflows");
|
|
44
|
-
const workflowPath = path.join(workflowDir, "sync-package-registry.yml");
|
|
45
|
-
|
|
46
|
-
// Skip si le workflow existe déjà
|
|
47
|
-
if (fs.existsSync(workflowPath)) {
|
|
48
|
-
console.log("✅ Workflow sync-package-registry.yml déjà présent");
|
|
49
|
-
process.exit(0);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
console.log(
|
|
53
|
-
"\n🚀 @lystech/core - Configuration automatique du Package Registry...\n",
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
const WORKFLOW_CONTENT = `name: Sync Package Registry
|
|
57
|
-
|
|
58
|
-
on:
|
|
59
|
-
push:
|
|
60
|
-
branches:
|
|
61
|
-
- master
|
|
62
|
-
- main
|
|
63
|
-
workflow_dispatch:
|
|
64
|
-
|
|
65
|
-
jobs:
|
|
66
|
-
sync-registry:
|
|
67
|
-
runs-on: ubuntu-latest
|
|
68
|
-
|
|
69
|
-
steps:
|
|
70
|
-
- name: Checkout
|
|
71
|
-
uses: actions/checkout@v4
|
|
72
|
-
|
|
73
|
-
- name: Check package.json for @lystech/core
|
|
74
|
-
id: check-package
|
|
75
|
-
run: |
|
|
76
|
-
echo "🔍 Vérification de package.json..."
|
|
77
|
-
|
|
78
|
-
# Extraire owner et repo depuis GITHUB_REPOSITORY (format: owner/repo)
|
|
79
|
-
OWNER="\${GITHUB_REPOSITORY%%/*}"
|
|
80
|
-
REPO_NAME="\${GITHUB_REPOSITORY#*/}"
|
|
81
|
-
|
|
82
|
-
echo "owner=$OWNER" >> "$GITHUB_OUTPUT"
|
|
83
|
-
echo "repo_name=$REPO_NAME" >> "$GITHUB_OUTPUT"
|
|
84
|
-
echo "📦 Repo: $OWNER/$REPO_NAME"
|
|
85
|
-
|
|
86
|
-
# Récupérer le repoId depuis l'API GitHub
|
|
87
|
-
REPO_ID=$(curl -s -H "Authorization: token \${{ secrets.GITHUB_TOKEN }}" \\
|
|
88
|
-
"https://api.github.com/repos/$OWNER/$REPO_NAME" | jq -r '.id')
|
|
89
|
-
|
|
90
|
-
echo "repo_id=$REPO_ID" >> "$GITHUB_OUTPUT"
|
|
91
|
-
echo "🆔 Repo ID: $REPO_ID"
|
|
92
|
-
|
|
93
|
-
# Vérifier que REPO_ID est valide (non vide et non null)
|
|
94
|
-
if [ -z "$REPO_ID" ] || [ "$REPO_ID" = "null" ]; then
|
|
95
|
-
echo "❌ Erreur: Impossible de récupérer le repo ID"
|
|
96
|
-
exit 1
|
|
97
|
-
fi
|
|
98
|
-
|
|
99
|
-
# Vérifier si @lystech/core est dans les dépendances
|
|
100
|
-
HAS_PACKAGE=$(node -e "
|
|
101
|
-
const pkg = require('./package.json');
|
|
102
|
-
const hasIt = !!(
|
|
103
|
-
(pkg.dependencies && pkg.dependencies['@lystech/core']) ||
|
|
104
|
-
(pkg.devDependencies && pkg.devDependencies['@lystech/core']) ||
|
|
105
|
-
(pkg.peerDependencies && pkg.peerDependencies['@lystech/core'])
|
|
106
|
-
);
|
|
107
|
-
console.log(hasIt ? 'true' : 'false');
|
|
108
|
-
" 2>/dev/null || echo "false")
|
|
109
|
-
|
|
110
|
-
echo "has_package=$HAS_PACKAGE" >> "$GITHUB_OUTPUT"
|
|
111
|
-
|
|
112
|
-
if [ "$HAS_PACKAGE" = "true" ]; then
|
|
113
|
-
echo "✅ Package @lystech/core trouvé dans les dépendances"
|
|
114
|
-
else
|
|
115
|
-
echo "❌ Package @lystech/core non trouvé"
|
|
116
|
-
fi
|
|
117
|
-
|
|
118
|
-
- name: Register in Package Registry
|
|
119
|
-
if: steps.check-package.outputs.has_package == 'true'
|
|
120
|
-
run: |
|
|
121
|
-
echo "📝 Enregistrement dans le Package Registry..."
|
|
122
|
-
|
|
123
|
-
# Construire le payload JSON
|
|
124
|
-
PAYLOAD=$(jq -n \\
|
|
125
|
-
--arg packageName "@lystech/core" \\
|
|
126
|
-
--arg owner "\${{ steps.check-package.outputs.owner }}" \\
|
|
127
|
-
--arg repo "\${{ steps.check-package.outputs.repo_name }}" \\
|
|
128
|
-
--argjson repoId "\${{ steps.check-package.outputs.repo_id }}" \\
|
|
129
|
-
'{packageName: $packageName, owner: $owner, repo: $repo, repoId: $repoId}')
|
|
130
|
-
|
|
131
|
-
echo "📤 Payload envoyé:"
|
|
132
|
-
echo "$PAYLOAD" | jq '.'
|
|
133
|
-
|
|
134
|
-
RESPONSE=$(curl -s -X POST \\
|
|
135
|
-
-H "Content-Type: application/json" \\
|
|
136
|
-
-d "$PAYLOAD" \\
|
|
137
|
-
https://lysbunback-usgg4.ondigitalocean.app/api/package-registry)
|
|
138
|
-
|
|
139
|
-
echo "Réponse API:"
|
|
140
|
-
echo "$RESPONSE" | jq '.'
|
|
141
|
-
|
|
142
|
-
SUCCESS=$(echo "$RESPONSE" | jq -r '.success')
|
|
143
|
-
|
|
144
|
-
if [ "$SUCCESS" = "true" ]; then
|
|
145
|
-
echo "✅ Enregistré avec succès dans le registry"
|
|
146
|
-
else
|
|
147
|
-
echo "⚠️ L'enregistrement a échoué (peut-être déjà enregistré)"
|
|
148
|
-
fi
|
|
149
|
-
|
|
150
|
-
- name: Remove from Package Registry
|
|
151
|
-
if: steps.check-package.outputs.has_package == 'false'
|
|
152
|
-
run: |
|
|
153
|
-
echo "🗑️ Suppression du Package Registry..."
|
|
154
|
-
|
|
155
|
-
PACKAGE_NAME="@lystech/core"
|
|
156
|
-
ENCODED_NAME=$(echo "$PACKAGE_NAME" | jq -sRr @uri)
|
|
157
|
-
|
|
158
|
-
RESPONSE=$(curl -s -X DELETE \\
|
|
159
|
-
"https://lysbunback-usgg4.ondigitalocean.app/api/package-registry/$ENCODED_NAME/\${{ steps.check-package.outputs.owner }}/\${{ steps.check-package.outputs.repo_name }}")
|
|
160
|
-
|
|
161
|
-
echo "Réponse API:"
|
|
162
|
-
echo "$RESPONSE" | jq '.'
|
|
163
|
-
|
|
164
|
-
SUCCESS=$(echo "$RESPONSE" | jq -r '.success')
|
|
165
|
-
|
|
166
|
-
if [ "$SUCCESS" = "true" ]; then
|
|
167
|
-
echo "✅ Supprimé avec succès du registry"
|
|
168
|
-
else
|
|
169
|
-
echo "⚠️ La suppression a échoué (peut-être déjà supprimé)"
|
|
170
|
-
fi
|
|
171
|
-
|
|
172
|
-
- name: Summary
|
|
173
|
-
if: always()
|
|
174
|
-
run: |
|
|
175
|
-
echo "### 📊 Résumé Sync Registry" >> $GITHUB_STEP_SUMMARY
|
|
176
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
177
|
-
echo "**Repo:** \${{ steps.check-package.outputs.owner }}/\${{ steps.check-package.outputs.repo_name }}" >> $GITHUB_STEP_SUMMARY
|
|
178
|
-
echo "**Package @lystech/core:** \${{ steps.check-package.outputs.has_package == 'true' && '✅ Présent' || '❌ Absent' }}" >> $GITHUB_STEP_SUMMARY
|
|
179
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
180
|
-
if [ "\${{ steps.check-package.outputs.has_package }}" = "true" ]; then
|
|
181
|
-
echo "**Action:** Enregistré dans le registry" >> $GITHUB_STEP_SUMMARY
|
|
182
|
-
else
|
|
183
|
-
echo "**Action:** Supprimé du registry" >> $GITHUB_STEP_SUMMARY
|
|
184
|
-
fi
|
|
185
|
-
`;
|
|
186
|
-
|
|
187
|
-
try {
|
|
188
|
-
// Créer le dossier .github/workflows s'il n'existe pas
|
|
189
|
-
if (!fs.existsSync(workflowDir)) {
|
|
190
|
-
fs.mkdirSync(workflowDir, { recursive: true });
|
|
191
|
-
console.log("📂 Dossier .github/workflows créé");
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
// Créer le fichier workflow
|
|
195
|
-
fs.writeFileSync(workflowPath, WORKFLOW_CONTENT, "utf8");
|
|
196
|
-
|
|
197
|
-
console.log("✅ Workflow créé automatiquement!\n");
|
|
198
|
-
console.log("📄 Fichier: .github/workflows/sync-package-registry.yml\n");
|
|
199
|
-
console.log("📋 Prochaines étapes:");
|
|
200
|
-
console.log(
|
|
201
|
-
" 1. Commitez le workflow: git add .github/workflows/sync-package-registry.yml",
|
|
202
|
-
);
|
|
203
|
-
console.log(
|
|
204
|
-
' 2. Pushez: git commit -m "feat: add package registry auto-sync" && git push',
|
|
205
|
-
);
|
|
206
|
-
console.log(
|
|
207
|
-
" 3. Votre projet recevra les mises à jour automatiques de @lystech/core!\n",
|
|
208
|
-
);
|
|
209
|
-
console.log(
|
|
210
|
-
"💡 Pour désactiver: ajoutez SKIP_LYSTECH_SETUP=true dans vos variables d'environnement\n",
|
|
211
|
-
);
|
|
212
|
-
} catch (error) {
|
|
213
|
-
console.error("❌ Erreur lors de la création du workflow:", error.message);
|
|
214
|
-
// Ne pas faire échouer l'installation
|
|
215
|
-
process.exit(0);
|
|
216
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
|
|
6
|
+
// Ne pas exécuter si on est dans le package lui-même (dev)
|
|
7
|
+
const currentDir = process.cwd();
|
|
8
|
+
const packageJsonPath = path.join(currentDir, "package.json");
|
|
9
|
+
|
|
10
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
11
|
+
console.log("⏭️ Pas de package.json trouvé, skip postinstall");
|
|
12
|
+
process.exit(0);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
16
|
+
|
|
17
|
+
// Skip si c'est lystech-core lui-même
|
|
18
|
+
if (packageJson.name === "@lystech/core") {
|
|
19
|
+
console.log("⏭️ Postinstall skipped (package lystech-core lui-même)");
|
|
20
|
+
process.exit(0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Skip si variable d'environnement SKIP_LYSTECH_SETUP est définie
|
|
24
|
+
if (process.env.SKIP_LYSTECH_SETUP === "true") {
|
|
25
|
+
console.log("⏭️ Postinstall skipped (SKIP_LYSTECH_SETUP=true)");
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Vérifier si le package contient @lystech/core
|
|
30
|
+
const hasLystechCore = !!(
|
|
31
|
+
(packageJson.dependencies && packageJson.dependencies["@lystech/core"]) ||
|
|
32
|
+
(packageJson.devDependencies &&
|
|
33
|
+
packageJson.devDependencies["@lystech/core"]) ||
|
|
34
|
+
(packageJson.peerDependencies &&
|
|
35
|
+
packageJson.peerDependencies["@lystech/core"])
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
if (!hasLystechCore) {
|
|
39
|
+
console.log("⏭️ @lystech/core non trouvé dans les dépendances");
|
|
40
|
+
process.exit(0);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const workflowDir = path.join(currentDir, ".github", "workflows");
|
|
44
|
+
const workflowPath = path.join(workflowDir, "sync-package-registry.yml");
|
|
45
|
+
|
|
46
|
+
// Skip si le workflow existe déjà
|
|
47
|
+
if (fs.existsSync(workflowPath)) {
|
|
48
|
+
console.log("✅ Workflow sync-package-registry.yml déjà présent");
|
|
49
|
+
process.exit(0);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
console.log(
|
|
53
|
+
"\n🚀 @lystech/core - Configuration automatique du Package Registry...\n",
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
const WORKFLOW_CONTENT = `name: Sync Package Registry
|
|
57
|
+
|
|
58
|
+
on:
|
|
59
|
+
push:
|
|
60
|
+
branches:
|
|
61
|
+
- master
|
|
62
|
+
- main
|
|
63
|
+
workflow_dispatch:
|
|
64
|
+
|
|
65
|
+
jobs:
|
|
66
|
+
sync-registry:
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
|
|
69
|
+
steps:
|
|
70
|
+
- name: Checkout
|
|
71
|
+
uses: actions/checkout@v4
|
|
72
|
+
|
|
73
|
+
- name: Check package.json for @lystech/core
|
|
74
|
+
id: check-package
|
|
75
|
+
run: |
|
|
76
|
+
echo "🔍 Vérification de package.json..."
|
|
77
|
+
|
|
78
|
+
# Extraire owner et repo depuis GITHUB_REPOSITORY (format: owner/repo)
|
|
79
|
+
OWNER="\${GITHUB_REPOSITORY%%/*}"
|
|
80
|
+
REPO_NAME="\${GITHUB_REPOSITORY#*/}"
|
|
81
|
+
|
|
82
|
+
echo "owner=$OWNER" >> "$GITHUB_OUTPUT"
|
|
83
|
+
echo "repo_name=$REPO_NAME" >> "$GITHUB_OUTPUT"
|
|
84
|
+
echo "📦 Repo: $OWNER/$REPO_NAME"
|
|
85
|
+
|
|
86
|
+
# Récupérer le repoId depuis l'API GitHub
|
|
87
|
+
REPO_ID=$(curl -s -H "Authorization: token \${{ secrets.GITHUB_TOKEN }}" \\
|
|
88
|
+
"https://api.github.com/repos/$OWNER/$REPO_NAME" | jq -r '.id')
|
|
89
|
+
|
|
90
|
+
echo "repo_id=$REPO_ID" >> "$GITHUB_OUTPUT"
|
|
91
|
+
echo "🆔 Repo ID: $REPO_ID"
|
|
92
|
+
|
|
93
|
+
# Vérifier que REPO_ID est valide (non vide et non null)
|
|
94
|
+
if [ -z "$REPO_ID" ] || [ "$REPO_ID" = "null" ]; then
|
|
95
|
+
echo "❌ Erreur: Impossible de récupérer le repo ID"
|
|
96
|
+
exit 1
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Vérifier si @lystech/core est dans les dépendances
|
|
100
|
+
HAS_PACKAGE=$(node -e "
|
|
101
|
+
const pkg = require('./package.json');
|
|
102
|
+
const hasIt = !!(
|
|
103
|
+
(pkg.dependencies && pkg.dependencies['@lystech/core']) ||
|
|
104
|
+
(pkg.devDependencies && pkg.devDependencies['@lystech/core']) ||
|
|
105
|
+
(pkg.peerDependencies && pkg.peerDependencies['@lystech/core'])
|
|
106
|
+
);
|
|
107
|
+
console.log(hasIt ? 'true' : 'false');
|
|
108
|
+
" 2>/dev/null || echo "false")
|
|
109
|
+
|
|
110
|
+
echo "has_package=$HAS_PACKAGE" >> "$GITHUB_OUTPUT"
|
|
111
|
+
|
|
112
|
+
if [ "$HAS_PACKAGE" = "true" ]; then
|
|
113
|
+
echo "✅ Package @lystech/core trouvé dans les dépendances"
|
|
114
|
+
else
|
|
115
|
+
echo "❌ Package @lystech/core non trouvé"
|
|
116
|
+
fi
|
|
117
|
+
|
|
118
|
+
- name: Register in Package Registry
|
|
119
|
+
if: steps.check-package.outputs.has_package == 'true'
|
|
120
|
+
run: |
|
|
121
|
+
echo "📝 Enregistrement dans le Package Registry..."
|
|
122
|
+
|
|
123
|
+
# Construire le payload JSON
|
|
124
|
+
PAYLOAD=$(jq -n \\
|
|
125
|
+
--arg packageName "@lystech/core" \\
|
|
126
|
+
--arg owner "\${{ steps.check-package.outputs.owner }}" \\
|
|
127
|
+
--arg repo "\${{ steps.check-package.outputs.repo_name }}" \\
|
|
128
|
+
--argjson repoId "\${{ steps.check-package.outputs.repo_id }}" \\
|
|
129
|
+
'{packageName: $packageName, owner: $owner, repo: $repo, repoId: $repoId}')
|
|
130
|
+
|
|
131
|
+
echo "📤 Payload envoyé:"
|
|
132
|
+
echo "$PAYLOAD" | jq '.'
|
|
133
|
+
|
|
134
|
+
RESPONSE=$(curl -s -X POST \\
|
|
135
|
+
-H "Content-Type: application/json" \\
|
|
136
|
+
-d "$PAYLOAD" \\
|
|
137
|
+
https://lysbunback-usgg4.ondigitalocean.app/api/package-registry)
|
|
138
|
+
|
|
139
|
+
echo "Réponse API:"
|
|
140
|
+
echo "$RESPONSE" | jq '.'
|
|
141
|
+
|
|
142
|
+
SUCCESS=$(echo "$RESPONSE" | jq -r '.success')
|
|
143
|
+
|
|
144
|
+
if [ "$SUCCESS" = "true" ]; then
|
|
145
|
+
echo "✅ Enregistré avec succès dans le registry"
|
|
146
|
+
else
|
|
147
|
+
echo "⚠️ L'enregistrement a échoué (peut-être déjà enregistré)"
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
- name: Remove from Package Registry
|
|
151
|
+
if: steps.check-package.outputs.has_package == 'false'
|
|
152
|
+
run: |
|
|
153
|
+
echo "🗑️ Suppression du Package Registry..."
|
|
154
|
+
|
|
155
|
+
PACKAGE_NAME="@lystech/core"
|
|
156
|
+
ENCODED_NAME=$(echo "$PACKAGE_NAME" | jq -sRr @uri)
|
|
157
|
+
|
|
158
|
+
RESPONSE=$(curl -s -X DELETE \\
|
|
159
|
+
"https://lysbunback-usgg4.ondigitalocean.app/api/package-registry/$ENCODED_NAME/\${{ steps.check-package.outputs.owner }}/\${{ steps.check-package.outputs.repo_name }}")
|
|
160
|
+
|
|
161
|
+
echo "Réponse API:"
|
|
162
|
+
echo "$RESPONSE" | jq '.'
|
|
163
|
+
|
|
164
|
+
SUCCESS=$(echo "$RESPONSE" | jq -r '.success')
|
|
165
|
+
|
|
166
|
+
if [ "$SUCCESS" = "true" ]; then
|
|
167
|
+
echo "✅ Supprimé avec succès du registry"
|
|
168
|
+
else
|
|
169
|
+
echo "⚠️ La suppression a échoué (peut-être déjà supprimé)"
|
|
170
|
+
fi
|
|
171
|
+
|
|
172
|
+
- name: Summary
|
|
173
|
+
if: always()
|
|
174
|
+
run: |
|
|
175
|
+
echo "### 📊 Résumé Sync Registry" >> $GITHUB_STEP_SUMMARY
|
|
176
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
177
|
+
echo "**Repo:** \${{ steps.check-package.outputs.owner }}/\${{ steps.check-package.outputs.repo_name }}" >> $GITHUB_STEP_SUMMARY
|
|
178
|
+
echo "**Package @lystech/core:** \${{ steps.check-package.outputs.has_package == 'true' && '✅ Présent' || '❌ Absent' }}" >> $GITHUB_STEP_SUMMARY
|
|
179
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
180
|
+
if [ "\${{ steps.check-package.outputs.has_package }}" = "true" ]; then
|
|
181
|
+
echo "**Action:** Enregistré dans le registry" >> $GITHUB_STEP_SUMMARY
|
|
182
|
+
else
|
|
183
|
+
echo "**Action:** Supprimé du registry" >> $GITHUB_STEP_SUMMARY
|
|
184
|
+
fi
|
|
185
|
+
`;
|
|
186
|
+
|
|
187
|
+
try {
|
|
188
|
+
// Créer le dossier .github/workflows s'il n'existe pas
|
|
189
|
+
if (!fs.existsSync(workflowDir)) {
|
|
190
|
+
fs.mkdirSync(workflowDir, { recursive: true });
|
|
191
|
+
console.log("📂 Dossier .github/workflows créé");
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Créer le fichier workflow
|
|
195
|
+
fs.writeFileSync(workflowPath, WORKFLOW_CONTENT, "utf8");
|
|
196
|
+
|
|
197
|
+
console.log("✅ Workflow créé automatiquement!\n");
|
|
198
|
+
console.log("📄 Fichier: .github/workflows/sync-package-registry.yml\n");
|
|
199
|
+
console.log("📋 Prochaines étapes:");
|
|
200
|
+
console.log(
|
|
201
|
+
" 1. Commitez le workflow: git add .github/workflows/sync-package-registry.yml",
|
|
202
|
+
);
|
|
203
|
+
console.log(
|
|
204
|
+
' 2. Pushez: git commit -m "feat: add package registry auto-sync" && git push',
|
|
205
|
+
);
|
|
206
|
+
console.log(
|
|
207
|
+
" 3. Votre projet recevra les mises à jour automatiques de @lystech/core!\n",
|
|
208
|
+
);
|
|
209
|
+
console.log(
|
|
210
|
+
"💡 Pour désactiver: ajoutez SKIP_LYSTECH_SETUP=true dans vos variables d'environnement\n",
|
|
211
|
+
);
|
|
212
|
+
} catch (error) {
|
|
213
|
+
console.error("❌ Erreur lors de la création du workflow:", error.message);
|
|
214
|
+
// Ne pas faire échouer l'installation
|
|
215
|
+
process.exit(0);
|
|
216
|
+
}
|