我们利用 pnpm 工作区的力量来保持我们的 monorepo 比新鲜黄油煎饼运行得更顺畅。
将 Hey monorepo 克隆到本地计算机:
git clone [email protected]:/repos/hey/hey.git
摇摆 macOS?您可以像真正的酿酒大师一样使用 Homebrew 获取两者:
brew install nvm pnpm
使用nvm
召唤你需要的 Node.js 神奇版本:
nvm install
将自己传送到存储库的根目录并让 pnpm 施展其依赖魔法:
pnpm install
.env
文件引导您的内部向导,并从.env.example
模板为每个需要它的包和应用程序创建一个.env
文件。不要忘记添加必要的环境变量!
cp .env.example .env
不要忘记模仿并为每个需要它的包和应用程序重复创建.env
文件。一致性是关键!
当所有的星星对齐并且一切就位时,在开发模式下启动应用程序:
pnpm dev
准备好构建应用程序了吗?只需运行这个命令:
pnpm build
想在开发时运行测试吗?操作方法如下:
pnpm test
我们使用ts-prune
来寻找并消除潜伏在代码库中未使用的导出和帮助程序。请注意:您需要为每个包和应用程序手动运行此任务。快乐修剪!
cd apps/web ; npx ts-prune -i generated.ts
是时候对我们的依赖项进行改造了!我们依靠pnpm
的神奇力量来保持一切最新且清晰。
script/clean-branches
script/update-dependencies
我们相信pnpm
能让我们的锁文件保持新鲜和精彩!
script/clean-branches
script/update-lock-file
我们使用 Ripgrep 在代码库中搜索文本。这就像grep
和ag
生了一个孩子,而那个孩子长大后成为了速度恶魔!
通过 Homebrew 安装它:
brew install ripgrep
在代码库中搜索文本:
rg " const Verified "
在apps/web
中,我们有一个包分析器,可以泄露我们生产包的大小和内容。这就像对您的代码进行 X 射线透视一样!
要生成此输出,请运行:
cd apps/web
ANALYZE=true pnpm build
启动此命令来构建apps/web
项目,并观察三个浏览器窗口神奇地弹出,每个窗口都显示节点、边缘和客户端捆绑包的捆绑包详细信息。客户端捆绑包是页面性能的超级英雄,而所有捆绑包在开发和构建性能中都发挥着至关重要的作用。
我们恳请所有贡献者和团队成员遵守我们的行为准则。将其视为我们社区的黄金规则手册 - 玩得开心并保持良好的氛围!
该项目是在AGPL-3.0许可证下开源的。有关所有详细信息,请查看许可证文件。这真是一个引人入胜的书!
我们 ?你去月球并返回!您的支持就像我们的代码源源不断的咖啡。感谢您让 Hey 成为宇宙中最棒的地方!
?