Installation
La commande colis depuis npm, et le reste de colis construit depuis le dépôt.
La commande colis est publiée sur npm sous le nom @mdemb/colis (le nom colis seul est refusé
par npm, trop proche de colors) :
npm i -g @mdemb/colis
colis envoyer ./maquette.pdf
colis statut <CODE>Sans rien configurer, ces commandes passent par le service public de colis (colis-tau.vercel.app), ouvert à tous et donc limité : un fichier de 100 Mo au plus, gardé 24 h au plus, et 20 envois par heure depuis une même adresse. Voir CLI.
Le nœud n8n est publié aussi, sous le nom n8n-nodes-colis (voir Webhooks & n8n).
Les paquets @colis/* ne sont pas encore publiés : eux, et la page de livraison, se construisent
depuis le dépôt, comme ci-dessous.
Prérequis
- Node 20 ou plus récent. Le dépôt fixe Node 22 dans
.node-version, et la CI teste 20, 22 et 24. - Bun 1.2 ou plus récent, qui installe les dépendances et orchestre les tâches avec Turborepo. Les outils eux-mêmes (tsup, vitest, next) tournent sur Node.
Cloner et construire
git clone https://github.com/mamadouwhile/colis.git && cd colis
bun install && bun run buildbun run build lance turbo build sur tout l’espace de travail : les paquets sous packages/, la
page de livraison, le site et cette documentation. Pour ne construire que ce qui sert à livrer :
bunx turbo run build --filter=@mdemb/colis --filter=colis-dropTurborepo construit d’abord les dépendances de chaque cible (@colis/protocol, puis @colis/core).
La commande colis
Le build produit packages/cli/dist/index.js. Un alias suffit :
alias colis="node $PWD/packages/cli/dist/index.js"
colis --versionMettez l’alias dans votre ~/.bashrc ou ~/.zshrc, avec le chemin absolu du dépôt, pour le garder.
Chaque commande est décrite dans CLI.
La page de livraison
templates/drop se construit depuis le monorepo, parce qu’elle dépend de @colis/core,
@colis/protocol et @colis/react en version ^0.1.0 que Bun relie aux paquets locaux. En local :
bun run --filter colis-drop dev # http://localhost:3400Sur Vercel, on importe le dépôt entier avec templates/drop comme Root Directory :
Page de livraison.
Le nœud n8n
bun run --filter n8n-nodes-colis build # dist/, et les icônes à côté des nœuds
bun run --filter n8n-nodes-colis testL’installer dans une instance n8n auto-hébergée est décrit dans Webhooks & n8n.
Utiliser les bibliothèques dans votre code
Tant que rien n’est publié, le plus sûr est de travailler dans l’espace de travail : un dossier sous
apps/, examples/ ou templates/ qui dépend de @colis/core@^0.1.0, comme le fait
templates/drop. Bun relie alors la version locale.
| Paquet | Quand l’utiliser |
|---|---|
@colis/core | Votre serveur parle au bucket. Apporte le SDK AWS (@aws-sdk/client-s3, @aws-sdk/s3-request-presigner). |
@colis/protocol | Vous écrivez un client ou vérifiez des webhooks. Aucun client S3, donc utilisable dans un navigateur. |
@colis/react | Votre app React envoie ou retrouve des colis. Dépend du protocole, jamais du SDK AWS. |
colis | La commande colis. Embarque @colis/core et @colis/protocol : un seul paquet à installer. |
Chaque paquet est livré en ESM et en CommonJS, avec ses déclarations TypeScript. @colis/core ne
tourne que côté serveur : il n’a pas de build navigateur, et aucun chemin de code qui mettrait des
identifiants sous les yeux d’un utilisateur.
Les commandes du dépôt
bun run build # turbo build sur tout l’espace de travail
bun run test # les tests de chaque paquet et de la page de livraison
bun run type-check
bun run lint
bun run formatVoir Tests pour ce que couvre la suite.