Nous exploitons la puissance des espaces de travail pnpm pour que notre monorepo fonctionne plus facilement qu'une crêpe fraîchement beurrée.
Clonez le monorepo Hey sur votre machine locale :
git clone [email protected]:/repos/hey/hey.git
Vous utilisez macOS ? Vous pouvez saisir les deux avec Homebrew, comme un véritable maître brasseur :
brew install nvm pnpm
Utilisez nvm
pour invoquer la version magique de Node.js dont vous avez besoin :
nvm install
Téléportez-vous à la racine du dépôt et laissez pnpm saupoudrer sa magie des dépendances :
pnpm install
.env
Canalisez votre assistant intérieur et créez un fichier .env
à partir du modèle .env.example
pour chaque package et application qui en a besoin. N'oubliez pas de saupoudrer les variables d'environnement nécessaires !
cp .env.example .env
N'oubliez pas de jouer à Copycat et de répéter cette création de fichier .env
pour chaque package et application qui en a besoin. La cohérence est la clé !
Lorsque toutes les étoiles s'alignent et que tout est en place, lancez l'application en mode développement :
pnpm dev
Prêt à créer l'application ? Exécutez simplement cette commande :
pnpm build
Vous souhaitez exécuter des tests pendant que vous développez ? Voici comment procéder :
pnpm test
Nous utilisons ts-prune
pour traquer et éliminer les exportations et les assistants inutilisés qui se cachent dans notre base de code. Juste un avertissement : vous devrez exécuter cette tâche manuellement pour chaque package et application. Bonne taille !
cd apps/web ; npx ts-prune -i generated.ts
Il est temps de relooker nos dépendances ! Nous comptons sur les pouvoirs magiques de pnpm
pour que tout reste à jour et impeccable.
script/clean-branches
script/update-dependencies
Nous faisons confiance à pnpm
pour garder notre fichier de verrouillage frais et fabuleux !
script/clean-branches
script/update-lock-file
Nous utilisons Ripgrep pour rechercher du texte dans la base de code. C'est comme si grep
et ag
avaient eu un bébé, et ce bébé a grandi pour devenir un démon de la vitesse !
Installez-le via Homebrew :
brew install ripgrep
Rechercher du texte dans la base de code :
rg " const Verified "
Dans apps/web
, nous disposons d’un analyseur de bundles qui révèle la taille et le contenu de nos bundles de production. C'est comme avoir une vision aux rayons X pour votre code !
Pour générer cette sortie, exécutez :
cd apps/web
ANALYZE=true pnpm build
Lancez cette commande pour créer le projet apps/web
et regardez trois fenêtres de navigateur s'ouvrir comme par magie, chacune présentant les détails de l'ensemble pour les ensembles de nœuds, de périphérie et de client. Le bundle client est le super-héros en matière de performances des pages, tandis que tous les bundles jouent un rôle essentiel dans les performances de développement et de construction.
Nous demandons à tous les contributeurs et membres de l’équipe de suivre notre code de conduite. Considérez-le comme le livre de règles d'or de notre communauté : jouez gentiment et faites circuler les bonnes vibrations !
Ce projet est open source sous licence AGPL-3.0 . Pour tous les détails essentiels, consultez le fichier LICENSE. C'est un véritable tourne-page !
Nous ? vous allez sur la lune et revenez ! Votre soutien est comme une réserve inépuisable de café pour notre code. Merci d'avoir fait de Hey l'endroit le plus génial de l'univers !
?