介绍
Turbo(涡轮增压)是用Rust开发的下一代前端开发的工具链,它包含三个主要部分:
开始
访问 Turbo 来开启 Turbo打包 and Turbo仓库的旅程
贡献
原文链接CONTRIBUTING.md
Turbo仓库
- 安装
# 在OSX系统上
brew install sponge jq protobuf protoc-gen-go protoc-gen-go-grpc golang
# 在根目录
pnpm install
- 构建
# 在cli目录构建 `turbo`
make turbo
# 使用 `turbo` 去构建 `turbo` CLI
./turbow.js
- 测试
# 在`cli`目录你可以执行
# run smoke tests
make e2e
# run unit tests
make test-go
你可以通过命令go test ./[path/to/package/]跑一个测试,想了解更多可以浏览Go 测试
- 调试
go install github.com/go-delve/delve/cmd/dlv@latest
在 VS Code的 "Run and Debug" 标签, 选择 Build Basic来基于基本实例的目标build来调试turbo的启动代码。 这个任务被配置在了 launch.json.
- 更新
turbo
你可能需要更新 packages/turbo 来支持一个新的平台。 当你做这个的时候你需要连接模块以便继续工作。 如下的实例, 通过 npm link:
cd ~/repos/vercel/turborepo/packages/turbo
npm link
# Run your build, e.g. `go build ./cmd/turbo` if you're on the platform you're adding.
cd ~/repos/vercel/turborepo/cli
go build ./cmd/turbo
# You can then run the basic example specifying the build asset path.
cd ~/repos/vercel/turborepo/examples/basic
TURBO_BINARY_PATH=~/repos/vercel/turborepo/cli/turbo.exe npm install
TURBO_BINARY_PATH=~/repos/vercel/turborepo/cli/turbo.exe npm link turbo
如果你用的其它包管理器,相应地替换npm
- 发布
turbo到 npm仓库
所有的构建处理是通过手动触发正确的发布 GitHub 工作流.
手动执行release
brew install goreleaser
# Add `GORELEASER_KEY` env var with the GoReleaser Pro key (ask @turbo-oss to get access to the key)
# Update `version.txt` (do not commit this change to git manually)
cd cli && make publish
Turbo 工具链
turbo-tooling 使用了 Cargo workspaces monorepo. 你可以在crates/ 目录找到多个工作空间.
- 运行
为了执行特定的crate, 你可以使用 cargo run -p [CRATE_NAME] 命令.
有运行入口的create如下:
# example
cargo run -p next-dev
- 调试
到入口直接打断点Debug就行
- 测试
安装cargo-nextest (nexte.st/)
同执行一下命令运行
cargo nextest run
为了测试你需要执行 yarn 来安装一些依赖. 查看 Troubleshooting 来找到通用问题的解决方案.
你也可以创建一个小的demo应用来执行测试
cargo run -p node-file-trace -- print demo/index.js
- 问题
查看 Troubleshooting.
社区
Turbo的社区地址在这GitHub讨论,你可以在里面问问题,表达你的想法,分享你的项目
想和社区成员交流你可以加入 Turbo Discord
我们的 行为准则适用于所有的社区频道
谁在使用Turbo?
全世界领先的公司在使用Turbo,你可以查看Turbo 案例来了解更多
更新
在Twitter上跟随 @turborepo 来查看更多更新
作者
Turbo仓库
- 贾里德.帕尔默 (@jaredpalmer)
Turbo打包和Turbo引擎
安全
如果你确信你发现一个Turbo的安全漏洞,我们鼓励你去负责任地披露他,而不是提一个公开的issue。
我们将调查所有合法的报道。发电子邮件到security@vercel.com,以披露任何安全漏洞。