Awesome Monorepo Tools
Below is a running list of additional monorepo tools that you may find useful in your turborepo.
💯 = stuff we use or have used in Turborepo's own monorepo
For the foreseeable future,
turbo is not going to deal with package publishing. Versioning/Publishing is an extremely opinionated topic with a lot of existing solutions. Our advice is to avoid versioning packages altogether unless you actually need to publish them to npm for external consumption. If you have to version your packages, we really like the workflow of Changesets (especially for open source projects).
- changesets/changesets - 🦋 A way to manage your versioning and changelogs with a focus on monorepos
- microsoft/beachball - The Sunniest Semantic Version Bumper
- lerna/lerna-changelog - PR-based changelog generator with monorepo support
- intuit/auto - Generate releases based on semantic version labels on pull requests.
- typicode/husky - Modern native Git hooks made easy!
- okonet/lint-staged - Run linters on git staged files
- danger/danger-js - ⚠️ Stop saying "you forgot to …" in code review
- cypress-io/cypress - Fast, easy and reliable testing for anything that runs in a browser.
- cypress-io/github-action - Run Cypress in GitHub Actions
- microsoft/playwright - Build a cross-browser end-to-end test suite with Playwright.
- microsoft/playwright-github-action - Run Playwright tests on GitHub Actions
- Kodiak - Automate your GitHub Pull Request merge behavior 💯
- preactjs/compressed-size-action - GitHub Action that adds compressed size changes to your PRs.
We are planning to officially add code generation to
turbo sometime in the future. In the meantime, we suggest using plopjs/plop.
- sapegin/mrm - Codemods for your project config files
- plopjs/plop - Codegen CLI
- dotansimha/graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins. 💯
- swagger-api/swagger-codegen - swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
One of the cool things we discovered when building Turborepo is how beautifully it works with infrastructure-as-code solutions.
- pulumi/pulumi - Modern Infrastructure as Code. Any cloud, any language
- aws/aws-cdk - The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code
- volta-cli/volta - JS Toolchains as Code (A better NVM)
- ds300/patch-package - Fix broken node modules instantly (without forking) 💯 💯 💯
- atlassian/yarn-deduplicate - Deduplication tool for yarn.lock files
- wclr/yalc - Work with yarn/npm packages locally like a boss. (It's like
yarn linkthat actually works)
- verdaccio/verdaccio - 📦🔐A lightweight private proxy registry build in Node.js