Utiliser la CLI
La CLI remplit trois rôles : démarrer le service local, gérer les projets en cours d'exécution et publier des mises à jour de composants dans le terminal. Les trois noms de binaire comphub, ch et comp-hub désignent le même programme.
Vue d'ensemble des commandes
| Commande | Rôle |
|---|---|
comphub | Démarrer le service local du projet courant |
comphub status | Afficher l'état du master et tous les projets en cours d'exécution |
comphub stop <hash> | Arrêter le projet spécifié |
comphub stop --all | Arrêter tous les projets |
comphub kill | Fermer le master et tous les projets |
comphub fix | Nettoyer les fichiers d'exécution résiduels |
comphub login | Autoriser la connexion dans le navigateur et enregistrer les identifiants |
comphub upload [compDir] | Publier une nouvelle version d'un composant déjà publié |
comphub install <composant[@version]> | Télécharger un composant public publié dans le répertoire courant |
Démarrer le service
comphubParamètres :
| Paramètre | Raccourci | Valeur par défaut | Description |
|---|---|---|---|
--port | -p | 5478 | Port du service |
--dir | -d | ./ | Répertoire racine des composants |
--log-level | -l | error | debug / info / warn / error |
--version | -v | — | Afficher la version |
--help | -h | — | Afficher l'aide |
comphub -p 8080
comphub -d ./src
comphub -l debugLe paramètre de port ne prend effet que si le master n'est pas démarré
Si un service tourne déjà, la CLI réutilise le port d'origine et signale que -p est ignoré. Pour changer de port, exécutez d'abord comphub kill.
Après le démarrage, le terminal affiche :
Version 0.44.11
Project D:\project\my-app
Hash 94525912
Port 5478
URL http://localhost:5478/94525912/main/Hash identifie le répertoire courant ; la commande stop en a besoin. Appuyez sur Ctrl+C pour arrêter l'affichage des journaux du projet courant et désinscrire automatiquement ce projet.
Fichier de configuration
Créez .comphub.json ou .comphub.js à la racine du projet :
{
"dir": "./src",
"allowDebug": false
}| Élément | Type | Valeur par défaut | Description |
|---|---|---|---|
dir | string | ./ | Répertoire racine des composants ; le téléversement et le téléchargement ne peuvent opérer que dans ce répertoire et ses sous-répertoires |
allowDebug | boolean | false | Autoriser ou non le mode débogage |
proxy | object | — | Règles de proxy, au format de http-proxy-middleware |
.comphub.js s'exporte selon le système de modules du projet :
// CommonJS
module.exports = { dir: "./src" };
// ESM (package.json avec "type": "module")
export default { dir: "./src" };Ordre de chargement : .comphub.json → .comphub.js → valeurs par défaut. Priorité de configuration : paramètres de ligne de commande > fichier de configuration > valeurs par défaut.
Règles de proxy
Les demos de composants s'exécutent dans une iframe et ne peuvent accéder qu'au service local. Pour appeler un backend intranet ou une API sans en-tête CORS, utilisez proxy pour le relais :
{
"proxy": {
"/api": {
"target": "http://10.0.0.5:8080",
"changeOrigin": true,
"pathRewrite": { "^/api": "" }
}
}
}Dans le demo, appelez ainsi :
fetch("/__proxy__/api/users");Règles :
- La clé correspond au chemin situé après
/__proxy__, par préfixe ou par expression régulière. - La valeur est transmise telle quelle à http-proxy-middleware ;
targetest obligatoire. pathRewrites'applique après le retrait du préfixe/__proxy__.- Sans règle correspondante, la réponse est
404 {"message":"Proxy not found"}. - Une règle ne s'applique qu'au projet qui la déclare.
Consulter et arrêter
comphub status # Afficher le master et la liste des projets
comphub stop 94525912 # Arrêter le projet spécifié
comphub stop --all # Arrêter tous les projets
comphub kill # Fermer le master et tous les projets
comphub fix # Nettoyer les fichiers d'exécution résiduelsstatus liste le hash, le chemin et l'adresse d'accès de chaque projet. fix sert lorsque des fichiers résiduels laissés par une sortie anormale empêchent le démarrage.
Connexion
comphub loginLa CLI demande une autorisation et ouvre une page dans le navigateur ; après votre confirmation, les identifiants sont enregistrés dans ~/.comphub/credentials.json. Une seule connexion par machine suffit.
comphub login --no-browser # Afficher uniquement l'adresse d'autorisationLa session d'autorisation est à usage unique : une session en attente expire au bout de 2 minutes, et la CLI attend 5 minutes au maximum. Si les identifiants ne sont plus valides, relancez comphub login.
Publier une nouvelle version
comphub upload ne sert qu'aux composants déjà publiés. Pour la première publication, voir Téléverser et publier.
cd src/components/MyComponent
comphub upload -m "Correction du positionnement du tooltip"| Paramètre | Raccourci | Description |
|---|---|---|
--message | -m | Note de mise à niveau, obligatoire |
--dry-run | — | Vérifier et afficher le contenu, sans soumettre |
--dir | -d | Répertoire des ressources, même signification que pour le démarrage |
Lors de l'exécution, la CLI :
- localise le projet auquel appartient le composant ;
- s'assure que ce projet dispose d'un service local (et le démarre si nécessaire) ;
- soumet le répertoire du composant ; le serveur effectue la vérification, la précompilation des dépendances et le téléversement.
La soumission peut durer plusieurs minutes ; la CLI a un délai d'expiration de 10 minutes.
La version doit être supérieure à celle en ligne
Si le version du comp.json local n'est pas supérieur à la version en ligne, la CLI refuse directement. Après avoir modifié le code, incrémentez la version avant de téléverser. Pour ne changer que la description ou la configuration d'aperçu, passez par la page de mise à jour.
Installer un composant
comphub install télécharge le zip source d'un composant public déjà publié et l'extrait dans le répertoire courant.
comphub install ThemeSwitch
comphub install ThemeSwitch@1.0.0
comphub install ThemeSwitch --force| Argument | Raccourci | Description |
|---|---|---|
<composant> | — | Nom du composant ; doit être un composant public publié |
@version | — | Facultatif ; sans version, la dernière est installée |
--force | -f | Remplace ./<composant>/ s'il existe déjà |
--remote | — | Adresse du service distant, même signification que pour les autres commandes |
Lors de l'exécution, la CLI :
- recherche le composant par nom exact parmi les composants publics publiés ;
- télécharge le zip source (les petits paquets arrivent directement, les gros passent par une URL OSS signée) ;
- extrait le contenu dans
./<composant>/en supprimant le dossiercomposant_version/du zip.
Aucune connexion ni service local n'est nécessaire. Les dépendances ne sont pas installées : suivez le README du composant.
ThemeSwitch/
├── index.vue # index.jsx / index.tsx pour React
├── comp.json
├── README.md
└── demo/--force remplace le répertoire
Le dossier existant n'est supprimé qu'après l'extraction du nouveau paquet ; si le remplacement final échoue, il n'est pas récupérable. Validez vos modifications locales avant.
Erreurs courantes :
- Composant introuvable : seuls les composants publics publiés sont installables ; la CLI propose des noms proches.
- Version introuvable : la CLI affiche la version publiée actuelle.
- La cible existe déjà : ajoutez
--forcepour la remplacer.
Plusieurs projets en parallèle
Des projets différents peuvent démarrer simultanément, chacun avec son propre port :
# Terminal 1
cd /path/to/project-a && comphub
# Terminal 2
cd /path/to/project-b && comphub
comphub statusQuestions fréquentes
Le démarrage demande une mise à niveau
Exécutez npm install comp-hub@latest -g comme indiqué, puis redémarrez.
L'upload signale une erreur de numéro de version
La version locale n'est pas supérieure à la version en ligne. Incrémentez le version de comp.json, ou utilisez la page de mise à jour pour soumettre les métadonnées.
Délai dépassé / résultat impossible à confirmer
Ne réessayez pas directement. Vérifiez d'abord sur la plateforme si la dernière version a été mise à jour, puis décidez de renvoyer ou non.
Le navigateur ne s'ouvre pas après le start
Vérifiez que vous utilisez l'URL complète affichée par le terminal (avec /{hash}/main/), et non le port seul.
Prochaines étapes
- Première publication : Téléverser et publier
- Développer un composant dans le navigateur : Utiliser Studio