DEV Community

CodePen Radio

#305: CodePen’s Monorepo

Alex and Chris talk about the glory that is having all of CodePen’s code base in a single repository. This was a slow journey of a couple of years. The biggest step was what jokingly named “CodePen in Stereo” which involved consolidating everything Node-based on CodePen (mostly a bunch of lambdas) into a single repo, but still having a second repo for our Rails stuff. The final leap was consolidating those.

This opened up some cool doors for us, like having a sub-project that is our design system that any other sub-project can use. This meant getting into stuff like Lerna and Yarn Workspaces. We were also particularly excited about making sure that every single bit of code we run is right in our main repo meaning it won’t be forgotten or neglected and can share resources and dependencies from elsewhere in the code base.

Just as meaningful, it consolidates the human action around the code. A monorepo means all the branches and pull requests are in one place. All the issues are in one place. When you git pull you get everything you need. When you spin up our scriped dev environment, it can be sure it has everything it needs.

Chris wrote a bit more about it here, including touching on why others might not like the idea of a monorepo, which we get deeper into in the podcast.

Time Jumps

  • 01:23 What is a true monorepo?
  • 02:26 CodePen’s monorepo
  • 15:10 Sponsor: Linode
  • 16:30 Advantages of monorepos
  • 21:48 Why monorepos work for CodePen
  • 27:36 Why did CodePen go monorepo?

Sponsor: Linode

Simplify your infrastructure and cut your cloud bills in half with Linode’s Linux virtual machines. Develop, deploy, and scale your modern applications faster and easier.

Whether you’re developing a personal project or managing larger workloads, you deserve simple, affordable, and accessible cloud computing solutions.

Get started on Linode today with a $100 in free credit for listeners of CodePen Radio. You can find all the details at linode.com/codepen.

Linode has data centers around the world with the same simple and consistent pricing regardless of location. Choose the data center nearest to you.

You also receive 24/7/365 human support with no tiers or hand-offs regardless of your plan size. You can choose shared and dedicated compute instances or you can use your $100 in credit on S3-compatible object storage, Managed Kubernetes, and more. If it runs on Linux, it runs on Linode.

Visit linode.com/codepen and click on the “Create Free Account” button to get started.

Episode source