All Projects → korfuri → Awesome Monorepo

korfuri / Awesome Monorepo

A curated list of awesome Monorepo tools, software and architectures.

Projects that are alternatives of or similar to Awesome Monorepo

covector
Transparent and flexible change management for publishing packages and assets.
Stars: ✭ 28 (-99.18%)
Mutual labels:  monorepo
monopacker
A tool for managing builds of monorepo frontend projects with eg. npm- or yarn workspaces, lerna or similar tools into a standalone application - no other tools needed.
Stars: ✭ 17 (-99.5%)
Mutual labels:  monorepo
go
Monorepo for small Go modules maintained by Tawesoft
Stars: ✭ 16 (-99.53%)
Mutual labels:  monorepo
Yggdrasil
Collection of builder repositories for BinaryBuilder.jl
Stars: ✭ 192 (-94.37%)
Mutual labels:  monorepo
book-monorepo-cicd
Effectively build, test, and deploy code with monorepos.
Stars: ✭ 59 (-98.27%)
Mutual labels:  monorepo
speckle-server
The Speckle Server, Frontend, 3D Viewer, & other JS utilities.
Stars: ✭ 224 (-93.44%)
Mutual labels:  monorepo
rnx-kit
Tools which help developers build, deliver, and maintain React Native apps and libraries.
Stars: ✭ 501 (-85.32%)
Mutual labels:  monorepo
mono.ts
A minimal example of a typescript mono repo with pre-build support (tests, vscode).
Stars: ✭ 58 (-98.3%)
Mutual labels:  monorepo
pacote
A box of goodies, in TypeScript.
Stars: ✭ 14 (-99.59%)
Mutual labels:  monorepo
codeowners-generator
CODEOWNERS solution for mono repos
Stars: ✭ 16 (-99.53%)
Mutual labels:  monorepo
react-component-library-lerna
Build your own React component library managed with lerna, presented with storybook and published in private npm registry.
Stars: ✭ 55 (-98.39%)
Mutual labels:  monorepo
monorepo-typescript-next-the-sane-way
A monorepo example using TypeScript and Next.js
Stars: ✭ 104 (-96.95%)
Mutual labels:  monorepo
monopack
A JavaScript bundler for node.js monorepo-codebased applications.
Stars: ✭ 52 (-98.48%)
Mutual labels:  monorepo
React-Native-Web-TypeScript-Prettier-Boilerplate
A starterkit to work with nextjs, react-native, storybook… all with prettified typescript and in a monorepo
Stars: ✭ 16 (-99.53%)
Mutual labels:  monorepo
lerna-learning
基于Lerna管理packages的Monorepo项目最佳实践
Stars: ✭ 105 (-96.92%)
Mutual labels:  monorepo
tangerine-monorepo
A "fast" TypeScript-based Node.js monorepo setup powered by esbuild & turborepo
Stars: ✭ 191 (-94.4%)
Mutual labels:  monorepo
smoovy
A collection of small and useful js packages (smooth scrolling, utils, etc.) preventing copy & paste
Stars: ✭ 25 (-99.27%)
Mutual labels:  monorepo
Imodeljs
Monorepo for iModel.js Library
Stars: ✭ 256 (-92.5%)
Mutual labels:  monorepo
xlib
Your isomorphic toolbox
Stars: ✭ 18 (-99.47%)
Mutual labels:  monorepo
monoreact
📦 React workspaces implementation
Stars: ✭ 13 (-99.62%)
Mutual labels:  monorepo

Awesome Monorepo Awesome

A curated list of awesome Monorepo tools, software and architectures. Monorepos, short for mono-repositories, are repositories that contain multiple projects, usually related to each other.

Inspired by vinta/awesome-python.

Contents

Build systems & dependency management tools

  • baur builds only changed applications in a monorepo branch and manages build artifacts
  • Bazel is Google's monorepo-oriented build system. More on Bazel: awesome-bazel
  • Bit is a tool for building and managing JavaScript projects with multiple components, and managing the dependency graph of components.
  • Bolt Pkg is a super-powered JavaScript project management.
  • Buck is Facebook's monorepo-oriented build system.
  • drkns is a simple and language agnostic monorepo build tool.
  • Garment is Farfetch's monorepo build system with centralized and customizable task management.
  • GitLab CI 11.4 supports running steps based on path changes.
  • Lerna is a tool for managing JavaScript projects with multiple packages, built on Yarn.
  • MBT is a build tool with differential build support.
  • Nix is a package and distribution build tool with remote caching, predominately used by NixOS.
  • Nx is a build system for TypeScript monorepos and a set of monorepo management tools.
  • OAO is a Yarn-based, opinionated JavaScript monorepo management tool.
  • Pants is a monorepo-oriented build system, used by Twitter, Foursquare and multiple other companies.
  • Please a cross-language build system with an emphasis on high performance, extensibility and reproduceability.
  • pnpm is a JavaScript dependency management tool that supports monorepos through a set of dedicated commands called pnpm multi.
  • Rush Stack is a family of tools geared towards large scale TypeScript monorepos, and based around the Rush build orchestrator
  • Spago is a PureScript package manager and build tool powered by Dhall and package-sets.
  • Symplify/MonorepoBuilder is a PHP monorepo management tool.
  • Tainted is a tool to determine which Go packages need to be rebuilt in a monorepo.
  • Versio updates all version numbers in monorepo projects based on conventional commits, and can generate changelogs and tags.
  • Yarn is a JavaScript dependency management tool that supports monorepos through workspaces.
  • Layer-pack is a Webpack plugin allowing monorepo structures via inheritable npm packages/code layers & es6 glob imports.

Repository management tools

  • Builder is a tool that makes it possible to ship the same scripts across projects in a Node.js monorepo. For example, share build and testing scripts across projects.
  • FBShipIt is a library written in Hack for copying commits from one repository to another.
  • adeira/shipit is a simplified JavaScript port of FBShipIt.
  • Lank is a tool that links packages together in a Node.js monorepo using automatic configuration of NODE_PATH instead of symlinks. Lank also allows you to run the same commands across all (or subsets of all) packages.
  • monorepo-run is a collection of helpers to run scripts in each package of a yarn monorepo with a separated pane per package.
  • oao
  • Syncpack allows managing multiple package.json files in Lerna Monorepos.
  • Ultra Runner is a smart script runner and build tool for Lerna, Pnpm, Rush and Yarn. Scripts run concurrently, using the dependency topology. Builds keep track of file changes and are skipped when possible.
  • wsrun allows running a command in each package of a Yarn workspaces monorepo.

Good reads

Version control systems & add-ons

Git

Tools

Scaling info

Mercurial

Tools

  • Watchman, replaced by fsmonitor trigger partial, incremental builds when your files change

Scaling info

Development process tools

Code reviews

  • Pull Review Hubot plugin to automate pull reviews with lots of configuration options.
  • Rietveld is a code review tool by Google used by Chromium.
  • API Extractor is used to detect and review API signatures for TypeScript libraries, and also for publishing a multi-package API reference.

CI tools

Code ownership

Notable public monorepos

Migration tools

Development Workflows

  • Trunk Based Development, a source-control branching model, where developers collaborate on code in a single branch called ‘trunk’, resist any pressure to create other long-lived development branches by employing documented techniques. They therefore avoid merge hell, do not break the build, and live happily ever after.
  • Branch By Abstraction, is a set-piece technique to effect a ‘longer to complete’ change in the trunk.

License

CC0

To the extent possible under law, Uriel Corfa has waived all copyright and related or neighboring rights to this work.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].