<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7" -->

---
title: From many to one: Moving our JavaScript code into a monorepo
description: The post discusses the process of moving JavaScript code into a monorepo at Aha! The author explains the drawbacks of using private npm packages and the need...
canonical: https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: From many to one: Moving our JavaScript code into a monorepo | daily.dev
og:description: The post discusses the process of moving JavaScript code into a monorepo at Aha! The author explains the drawbacks of using private npm packages and the need...
og:url: https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7
og:image: https://api.daily.dev/og/posts/ODk3Ie1W7.png
og:image:alt: From many to one: Moving our JavaScript code into a monorepo
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# From many to one: Moving our JavaScript code into a monorepo

**[RUBYLAND](https://daily.dev/sources/rubyla)** · 10 min read · 1 upvotes · 0 comments

## Summary

The post discusses the process of moving JavaScript code into a monorepo at Aha! The author explains the drawbacks of using private npm packages and the need for a monorepo. They describe the steps taken to maintain Git history and choose a tool for the monorepo. After trying out various options, they settle on Turborepo and pnpm workspaces. They highlight the simplicity and frictionless experience provided by Turborepo, which has helped save development time and improve the overall developer experience.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.aha.io/engineering/articles/monorepo>

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#javascript](https://daily.dev/tags/javascript), [#pnpm](https://daily.dev/tags/pnpm)

[View this post on daily.dev](https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"From many to one: Moving our JavaScript code into a monorepo","url":"https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7"},"datePublished":"2024-02-05T19:26:20.919Z","dateModified":"2026-05-07T02:13:58.831Z","description":"The post discusses the process of moving JavaScript code into a monorepo at Aha! The author explains the drawbacks of using private npm packages and the need...","image":"https://daily.dev/static/bbb50e0d1222a7d971b5d40760d77df6/aha-engineering.png","thumbnailUrl":"https://daily.dev/static/bbb50e0d1222a7d971b5d40760d77df6/aha-engineering.png","isAccessibleForFree":true,"articleSection":"RUBYLAND","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"RUBYLAND","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/rubyla","url":"https://daily.dev/sources/rubyla"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/from-many-to-one-moving-our-javascript-code-into-a-monorepo-odk3ie1w7","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,javascript,pnpm","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"RUBYLAND","item":"https://daily.dev/sources/rubyla"},{"@type":"ListItem","position":3,"name":"From many to one: Moving our JavaScript code into a monorepo"}]}
```

