Skip to content

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 ​

CommandeRôle
comphubDémarrer le service local du projet courant
comphub statusAfficher l'état du master et tous les projets en cours d'exécution
comphub stop <hash>Arrêter le projet spécifié
comphub stop --allArrêter tous les projets
comphub killFermer le master et tous les projets
comphub fixNettoyer les fichiers d'exécution résiduels
comphub loginAutoriser 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 ​

bash
comphub

Paramètres :

ParamètreRaccourciValeur par défautDescription
--port-p5478Port du service
--dir-d./Répertoire racine des composants
--log-level-lerrordebug / info / warn / error
--version-v—Afficher la version
--help-h—Afficher l'aide
bash
comphub -p 8080
comphub -d ./src
comphub -l debug

Le 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 :

json
{
  "dir": "./src",
  "allowDebug": false
}
ÉlémentTypeValeur par défautDescription
dirstring./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
allowDebugbooleanfalseAutoriser ou non le mode débogage
proxyobject—Règles de proxy, au format de http-proxy-middleware

.comphub.js s'exporte selon le système de modules du projet :

js
// 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 :

json
{
  "proxy": {
    "/api": {
      "target": "http://10.0.0.5:8080",
      "changeOrigin": true,
      "pathRewrite": { "^/api": "" }
    }
  }
}

Dans le demo, appelez ainsi :

js
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 ; target est obligatoire.
  • pathRewrite s'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 ​

bash
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ésiduels

status 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 ​

bash
comphub login

La 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.

bash
comphub login --no-browser   # Afficher uniquement l'adresse d'autorisation

La 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.

bash
cd src/components/MyComponent
comphub upload -m "Correction du positionnement du tooltip"
ParamètreRaccourciDescription
--message-mNote de mise à niveau, obligatoire
--dry-run—Vérifier et afficher le contenu, sans soumettre
--dir-dRépertoire des ressources, même signification que pour le démarrage

Lors de l'exécution, la CLI :

  1. localise le projet auquel appartient le composant ;
  2. s'assure que ce projet dispose d'un service local (et le démarre si nécessaire) ;
  3. 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.

bash
comphub install ThemeSwitch
comphub install ThemeSwitch@1.0.0
comphub install ThemeSwitch --force
ArgumentRaccourciDescription
<composant>—Nom du composant ; doit être un composant public publié
@version—Facultatif ; sans version, la dernière est installée
--force-fRemplace ./<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 :

  1. recherche le composant par nom exact parmi les composants publics publiés ;
  2. télécharge le zip source (les petits paquets arrivent directement, les gros passent par une URL OSS signée) ;
  3. extrait le contenu dans ./<composant>/ en supprimant le dossier composant_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 --force pour la remplacer.

Plusieurs projets en parallèle ​

Des projets différents peuvent démarrer simultanément, chacun avec son propre port :

bash
# Terminal 1
cd /path/to/project-a && comphub

# Terminal 2
cd /path/to/project-b && comphub

comphub status

Questions 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 ​

Les composants téléversés par les utilisateurs sont open source