Monorepos - How the Pros Scale Huge Software Projects // Turborepo vs Nx

  Рет қаралды 672,645

Fireship

Fireship

Күн бұрын

Big companies, like Google & Facebook, store all their code in a single monolithic repository or monorepo... but why? Learn how to use tools like NPM or Yarn workspaces, Learna, Nx, and Turborepo to scale your codebase fireship.io/pro
#software #js #compsci
🔗 Resources
Turborepo turborepo.org/
Nx nx.dev/
Lerna lerna.js.org/
Google's Monorepo cacm.acm.org/magazines/2016/7...
📚 Chapters
00:00 The World’s Largest Codebase
00:49 Benefits of Monorepos
01:50 The Problem with Monorepos
02:18 Yarn & NPM Workspaces
02:48 Lerna
03:30 PNPM
03:48 Nx vs Turborepo
06:10 Turborepo Tutorial
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- Monorepo Pros and Cons
- What is a monorepo?
- Who uses Monorepos?
- Should I use a monorepo?
- Nx compared to Turborepo
- How Google's Monorepo works.

Пікірлер: 564
@AzureFlash
@AzureFlash 2 жыл бұрын
Finally, I can have a giga-scalable monorepo and build tools for my 100-line Discord bot written in Python
@gh05tparkourfreerunning31
@gh05tparkourfreerunning31 2 жыл бұрын
I was actually thinking of using this for my Discord bot lol. It has a REST API to manage a roster of members in a DB and I wanted to make a website to interact with the database directly as well. Except in this case, the Discord bot would be a tool for the entire application
@donquixoteupinhere
@donquixoteupinhere 2 жыл бұрын
Hahaha. Yeah context is VERY important as to whether this is the recommended route someone chooses, for highly practical reasons.
@Mkrabs
@Mkrabs 2 жыл бұрын
***written in a single Python file
@andrey2001v
@andrey2001v 2 жыл бұрын
And 40 of those lines are imports. This is literally most of my uni coding experience
@arctic.wizard
@arctic.wizard 2 жыл бұрын
This is the way
@patrik5123
@patrik5123 2 жыл бұрын
This is by far the best channel to get enough knowledge in order to to make it sound like you know what you're talking about.
@patrik5123
@patrik5123 2 жыл бұрын
@@mikkelens Yea I've spent enough time in front of online courses during the various lockdowns to know how demanding it is. I've spent countless hours on React and I still feel like I don't _actually_ 'get it'.
@reed6514
@reed6514 2 жыл бұрын
I like these, more for entertainment than learning. My preferred learning style mainly involves diving in, writing code, and looking at documentation.
@noskillzdad5504
@noskillzdad5504 2 жыл бұрын
Fake it till you make it!
@reed6514
@reed6514 2 жыл бұрын
@@noskillzdad5504 i do this when I'm manic lol. Sometimes it's good. Sometimes not
@heroe1486
@heroe1486 Жыл бұрын
@@reed6514 It's good to discover things and know if you want to dive deep into them, like if a video showcases a new framework which has some particularities you can't live with, if you were able to spot them in the video it may save you hours of reading the docs. Same for this one, most people probably went to the conclusion that Monorepos weren't yet a fit for their projects. These videos are handy in a field with so much (sometimes useless) novelties
@brennanfife
@brennanfife 2 жыл бұрын
Software teams then: ‘This codebase is too coupled together… let’s break it up’ Software teams now: ‘This codebase is too broken up… let’s couple it together’
@overloader7900
@overloader7900 2 жыл бұрын
When the moores law died (as in single core SISD performance, cuz its too hard to make parallel code), code performance became important again
@ronanharris8216
@ronanharris8216 2 жыл бұрын
That one guy on the team : "... this goes against everything that I know to be right and true ..."
@muizzy
@muizzy 2 жыл бұрын
At the risk of sounding like I don't get the joke; a little context for the uninitiated: We're still decoupling as much as possible, we're just doing it in a smarter way which allows us to make simpler use of a single source of truth. (1 monorepo, but still many micro-services)
@MiniKodjo
@MiniKodjo 2 жыл бұрын
do then undo is work
@dorktales254
@dorktales254 2 жыл бұрын
Google's codebase: moaaaaai
@oussamasethoum1665
@oussamasethoum1665 2 жыл бұрын
You explained TurboRepo better than the creator himself, huge respect to Fireship 🎩
@andresramos7965
@andresramos7965 2 жыл бұрын
At this point, all software should feature a Fireship video in their mainpage
@oussamasethoum1665
@oussamasethoum1665 2 жыл бұрын
@@andresramos7965 I couldn't agree more, they should pay this guy to make more understandable explanations.
@hydra4370
@hydra4370 2 жыл бұрын
@@oussamasethoum1665 I already pay him to explain stuff to me 😭
@magnusmarkling
@magnusmarkling 2 жыл бұрын
@@oussamasethoum1665 Maybe you mean WE should pay him
@forrestmorrisey
@forrestmorrisey 2 жыл бұрын
You're comparing apples to oranges here. Engineers are nutoriously bad at explaining their own work. Fireship is a seasoned technology communicator.
@KeithGraves
@KeithGraves 2 жыл бұрын
What people call best practices in software engineering amuse me. Backend: Everything is a microservice Frontend: Use micro frontends Git: Put everything in a giant monorepo
@matheusvictor9629
@matheusvictor9629 2 жыл бұрын
The thing is about performance and not everything going down at once, where you store the codebase doesn't matter
@TheBillionDollarSaaS
@TheBillionDollarSaaS 2 жыл бұрын
Infrastructure and code have different requirements
@webentwicklungmitrobinspan6935
@webentwicklungmitrobinspan6935 Жыл бұрын
no! its all about decoupling. microservices to enforce a api and maybe consider an integration layer. and you split your frontend because you dont want to compile for minutes at a time and have a 100gb node module installed for fixing a a hardcoded link in a selfservice tool which no one seems to use anymore but people manage to complain about somehow
@dadudeme
@dadudeme 3 ай бұрын
​@@matheusvictor9629as linus torvalds said: Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it
@Flackon
@Flackon 2 жыл бұрын
I've actually started using monorepos for a couple of solo projects, due to the ease of packaging and dependency sharing
@krishgarg2806
@krishgarg2806 2 жыл бұрын
Thank you for covering this. Recently vercel acquired turbo repo and I was confused what was it as I use vercel a lot.
@VarunGupta3009
@VarunGupta3009 Жыл бұрын
I scouted the entire internet a few months ago to get the exact same monorepo build setup as I'm used to at Google, but here you are, who explained it all so beautifully in a video under 10 minutes. Bless you.
@webentwicklungmitrobinspan6935
@webentwicklungmitrobinspan6935 Жыл бұрын
how long have u beeing coding before getting into google? is it still worth it?
@vinaymama
@vinaymama 2 жыл бұрын
Just few days back , i saw the Fireship comment in the TURBOREPO launch video. Now we have a complete tutorial on it... Thank You dude
@KerimWillem
@KerimWillem Жыл бұрын
You have no idea how helpful this video is and how much time it saved me. THANK YOU.
@bakedbeings
@bakedbeings 2 жыл бұрын
Another fantastic video, just one nit pick: it wasn't super clear (to me) early on that this was about repositories for web tech specifically. When you started out with 2 billion lines of Google code I had their C++, Go etc code in mind - a major driver of Go's toolchain design was long C/C++ build times on huge code bases - but Turborepo is js/ts only.
@omarkarim9298
@omarkarim9298 2 жыл бұрын
Using build tools like maven/gradle and scripting I found is the best way to go for multiple projects of different programming languages
@tmthyrd
@tmthyrd 2 жыл бұрын
Thanks for pointing this out, I completely missed this point. It's somewhat ironic that a tool written in Go to manage repos doesn't actually support Go. Does NX or Lerna support a larger set of languages?
@IxMeTutorials
@IxMeTutorials 2 жыл бұрын
@@tmthyrd Lerna is based on npm, so probably not.
@nathanhedglin931
@nathanhedglin931 2 жыл бұрын
There is only JavaScript 😂
@Zokiio
@Zokiio 2 жыл бұрын
But Bazel that google use does actually handle multiple codebases like Java, C++, Go, Android, iOS
@a.c.vermillion
@a.c.vermillion 2 жыл бұрын
I was waiting for so long to finally see this uploaded. Thank you!
@badreddine8727
@badreddine8727 2 жыл бұрын
Thank you for the video I was confused when vercel acquired turbo repo and what it was, this cleared up a lot of things
@ultimatum97
@ultimatum97 2 жыл бұрын
As somone who works at a certain large software company with proprietary source code manager, repository and build tool I can tell you it is no fun at all. It is a nightmare dealing with dependencies when you don't have Maven or Gradle.
@JChen7
@JChen7 2 жыл бұрын
Sounds like someone has a case of the NIH blues.
@bobobo1673
@bobobo1673 2 жыл бұрын
"Maven or Gradle" Look with Gradle I can't comment but with Maven? are you serious? Do you know how complicated it is to simply add a project and the problems it gives looking for its dependencies? Sometimes you have to solve the problems yourself by hand (looking at the dependency tree, and that I don't even talk about projects with Wildfly is a horror) and it makes me lose time from work when all I wanted was to install a library
@not_nerp
@not_nerp 2 жыл бұрын
would this proprietary build tool happen to share a name with a certain south american country
@ultimatum97
@ultimatum97 2 жыл бұрын
@@bobobo1673 Be thankful that atleast it downloads the versions you mention in pom. The build system I work with needs a kind of dummy project just to deal with dependencies. It then does some black magic, pulls the wrong jars in a secret location and then shoves it into the cryptic buildpath directly during environment level global build 🤣🤣
@ultimatum97
@ultimatum97 2 жыл бұрын
@@not_nerp Maybe....not
@devbyemil5201
@devbyemil5201 2 жыл бұрын
You are really doing some great explanations! How about a video about how to plan software and what tools to use? Would love to see it👍
@pablopoggio4899
@pablopoggio4899 2 жыл бұрын
That’d be pretty cool actually
@yodkwtf
@yodkwtf 2 жыл бұрын
So much information in one video. Huge respect. ❤️
@clementbowe7594
@clementbowe7594 2 жыл бұрын
I'm probably really late on this but congratulations on reaching 1m subs!! I watch daily and always learn a new thing or two. I hope that you keep making amazing content!
@isaac4386
@isaac4386 2 жыл бұрын
I feel like your tracking my Google search wow. Been researching monorepo since the weekend and now you post this 🤣 . Love it
@osagiee9553
@osagiee9553 2 жыл бұрын
ive been feeling the need for a monorepo for quite some time. this is helpful.
@dmitrii_zolotuhin
@dmitrii_zolotuhin 2 жыл бұрын
Man your channel is pure gold.
@code_react
@code_react 2 жыл бұрын
you saved my life by explaining how monorepos works. Thank you so much.
@erkinkurt6799
@erkinkurt6799 2 жыл бұрын
I was searching for this to decide if I should use this approach or not. OMG either you can hear me or you have amazing skills to access my search history
@akashkumar121213
@akashkumar121213 2 жыл бұрын
I have been setting up a typescript monorepo for one of my personal projects ... And lets just say there are some pains you are gonna feel that you wont forget.
@webentwicklungmitrobinspan6935
@webentwicklungmitrobinspan6935 Жыл бұрын
.. cant wait to get through these pains in my next vacation.
@cornheadahh
@cornheadahh 2 жыл бұрын
I'm loving the frequent uploads
@yurayurec6071
@yurayurec6071 2 жыл бұрын
Top quality as always 👌 waiting for your video on webpack module federation, another hyped tool on the market
@alexIVMKD
@alexIVMKD 2 жыл бұрын
Your videos are spectacular, congratulations in advance for 1M
@PatricioHondagneuRoig
@PatricioHondagneuRoig 2 жыл бұрын
Your videos are my non-guilty pleasure, I always leave having learned cool stuff and enjoying it, it's like having celery for dessert.
@akillersquirrel5880
@akillersquirrel5880 2 жыл бұрын
Having recently left a company that was built around a monorepo, here's my takes: Pros: * Visibility - it's easy to see where things are used and discover stuff. * Uniformity - no need to manage versions between things used internally. Cons: * Upgradability - you can only upgrade something once *all* of its users are upgraded. * Maintenance - if you don't invest enough talent into setting up and maintaining your monorepo tools, it's easy to get to a point where they are no longer usably fast. * Speed - if a simple `git status` command takes multiple seconds to complete, nothing in your project will feel snappy.
@jedcal
@jedcal 2 жыл бұрын
i love this channel
@IsaacAlcocer
@IsaacAlcocer 2 жыл бұрын
You just give me an idea for a personal project, kudos... this is a nice video to watch.
@abh1yan
@abh1yan 2 жыл бұрын
Great video Jeff, really wanted to see this.
@sakthisanthosh0103
@sakthisanthosh0103 2 жыл бұрын
You're videos are great. Congratulations for your 1M subscriber mark. 🎉🎉🎉
@Balance-8
@Balance-8 2 жыл бұрын
you literally read my mind on the video I wanted to see. Incredible!
@kettenbach
@kettenbach 2 жыл бұрын
Frikin love you man! It's been 84 years. That was frikin hilarious bro. 💪❤️👍
@nathanbrown19
@nathanbrown19 2 жыл бұрын
Worked in both mono and traditional repos. Monorepo removes so many dependency and versioning headaches.
@archmad
@archmad 2 жыл бұрын
It can go to an opposite way. 1 app only supported old version while the other uses the new
@GagandeepSingh1984
@GagandeepSingh1984 Жыл бұрын
So much to understand in this build flows .. thanks for sharing it..
@williamchamberlain2263
@williamchamberlain2263 8 ай бұрын
0:30 I like that the codebase is elvoving blindfolded _and_ being pulled side to side by different teams _and_ will irrevocably topple over with crushing force after just one pull too hard or in the wrong direction. Great metaphor.
@abhinavrobinson2310
@abhinavrobinson2310 2 жыл бұрын
Amazing,
@conororeilly5492
@conororeilly5492 2 жыл бұрын
I've got 3 apps, possibly a 4th coming if i finish the current project soon all along the same theme, i might try creating a monorepo for them to share some of the common functionality. It's most likely overkill at this stage but each app was to learn something, so i may as well do it and see what i learn
@FilledStacks
@FilledStacks 2 жыл бұрын
Awesome vid. Good idea to build something like this for flutter as well
@chinmaykabi
@chinmaykabi 2 жыл бұрын
Melos?
@FilledStacks
@FilledStacks 2 жыл бұрын
@@chinmaykabi We use melos but it's not a build tool, it's more accurately defined as a "script coordinator". You're bundling commands for multiple packages under a single command. No caching, no smart rebuilds, etc. It will always execute all commands that you defined.
@jonasbroms
@jonasbroms 2 жыл бұрын
THANKS! Great video! I have to test this now on my monorepos. :D
@dlysele
@dlysele 2 жыл бұрын
Quality video that everyone should watch
@AlexEscalante
@AlexEscalante 2 жыл бұрын
I think I am trying Turborepo soon! Thanks for your videos!
@thepianist6425
@thepianist6425 2 жыл бұрын
Would love to see a video covering Micro Frontends. Having said that, always a big fan of the quality of videos. 10/10 college degree material right here. I should start adding fireship io under the education section of my resume now.
@DominicanRepublicInvestment
@DominicanRepublicInvestment 2 жыл бұрын
Second this!
@muizzy
@muizzy 2 жыл бұрын
I work with a micro frontend every day (though admittedly on the backend). Do you have any specific questions? I may be able to answer them.
@ThiagoVieira91
@ThiagoVieira91 2 жыл бұрын
@@muizzy Do you think micro frontends improved your development experience in you project? How did micro frontends improved your team workflow? Can you talk about some trade offs in comparison to currently traditional frontend architectures?
@JChen7
@JChen7 2 жыл бұрын
Watched "Java in 100 seconds". - Proficient in Java
@essayemyoung4009
@essayemyoung4009 2 жыл бұрын
Would check out Jack Herrington’s videos on this (e.g., kzbin.info/www/bejne/onyupJ2mfZVsmrc where he goes through a React example in detail)
@saurabhjainwal4604
@saurabhjainwal4604 2 жыл бұрын
We use nx at our firm, it’s really cool and definitely helps maintain our mono repo. 😀
@middlefloor
@middlefloor 2 жыл бұрын
🙌
@skyhappy
@skyhappy 2 жыл бұрын
@@middlefloor Why are you raising your hands? Are you catching a basketball?
@middlefloor
@middlefloor 2 жыл бұрын
@@skyhappy yes!
@skyhappy
@skyhappy 2 жыл бұрын
@@middlefloor well this is a tech channel not a basketball one
@johngc2010
@johngc2010 2 жыл бұрын
@@skyhappy Jeffrey Cross is one of the maintainers of Nx...
@sessionswithtemitope
@sessionswithtemitope 2 жыл бұрын
Thank you for this. It's what's I need right now
@andyhall7032
@andyhall7032 Жыл бұрын
I like how the narrator sounds like text-to-speech software...it's one of the many appealing aspects of this channel.
@toilet_man_G
@toilet_man_G 2 жыл бұрын
Just need this! Thanks so much for the explanation
@mustafamirza6807
@mustafamirza6807 2 жыл бұрын
Amazing & concise explanation.
@ShawnCZek
@ShawnCZek 2 жыл бұрын
Another issue with monorepos is the access management. Especially with the public available tools, you cannot easily define what directories one should have access to.
@devnol
@devnol 2 жыл бұрын
Doesn't github's codeowners do that?
@qwerty-or1yg
@qwerty-or1yg 2 жыл бұрын
@@devnol I know that they can limit access to specific repos, but not directories inside a repo. Don't think they can limit your access to specific directories inside a repo (unless I missed and not aware of something)
@mudscuffer
@mudscuffer 2 жыл бұрын
@@devnol Codeowners can limit write / merge / PR rights. But not read access.
@muizzy
@muizzy 2 жыл бұрын
Aside from fringe cases (like fraud rules), why would you want to manage read access?
@mudscuffer
@mudscuffer 2 жыл бұрын
@@muizzy For example if you use freelancers or outsourced development for the frontend or for integrations, but don't want them to see your proprietary backend algorithms.
@OptrixTV
@OptrixTV 2 жыл бұрын
i knew this was coming when i saw you put "nice" on Vercel's stream on Turborepo :D
@0xedb
@0xedb 2 жыл бұрын
turborepo is great. I just want a demo where everything is done from scratch instead of the boilerplate to better explain it.
@AndersonSousa33
@AndersonSousa33 2 жыл бұрын
me too
@kevyyar
@kevyyar 2 жыл бұрын
That is my only problem with Fireship. Everything else is great.
@floffah264
@floffah264 2 жыл бұрын
their docs have a good step by step process of this and their examples help a lot
@nanotichorizon9644
@nanotichorizon9644 2 жыл бұрын
Thank you so much for this content!
@ThaChillz
@ThaChillz 2 жыл бұрын
Thanks Jeff, this video was very cache
@nmanikiran
@nmanikiran 2 жыл бұрын
Please build a course around it (mono repo) with all the tools you have mentioned. take 1 big project and architect the same in all tools like nx, turborepo, lerna, yarn, blaze, webpack module federation etc
@JonathanAdami
@JonathanAdami 2 жыл бұрын
"You might know him with packages like Formik" Telling me that after 3 weeks of trying to solve issues with fomik and eventually having to refactor my entire code base to use react-hook-forms (which is MUUUUCH better) makes me wanna ditch Turborepo even if I know nothing about it hahaha Cheers for the video!
@jztsaurabh8111
@jztsaurabh8111 2 жыл бұрын
Formik has its own issue but it created the whole form library ecosytem
@codevev
@codevev 2 жыл бұрын
That's literally what we've been doing in the last couple weeks haha
@officialismailshah
@officialismailshah 2 жыл бұрын
Sir you are just awesome pro pro level knowledge.....
@davidzavala9414
@davidzavala9414 8 ай бұрын
Hi, great content!!! Do you have any video where you explain the differences between monorepo and microfrontend? and if it is possible to use both?
@DiegoBM
@DiegoBM 2 жыл бұрын
So two questions mainly. How do those tools help solve the massive git stack of changes and vscode to keep up with them, and do nx and turborepo override lerna? Or is lerna supposed to work in tandem with any of those? From what I can read in turborepo's site it seems like it can do all that lerna does?
@albert21994
@albert21994 2 жыл бұрын
Get the Linux DX with remote containers ;) you can even clone the repository to the docker instance to get the speeds
@vikrantshah1633
@vikrantshah1633 2 жыл бұрын
Thanks for fulfilling the request
@anubhavbansal8922
@anubhavbansal8922 3 ай бұрын
too much of information in just 10mins that's why I love you
@krishgarg2806
@krishgarg2806 2 жыл бұрын
Time to use turbo repo for my todo app.
@rayanez
@rayanez 2 жыл бұрын
Awesome video, thanks for the info. Do you know if there's a similar tool for Java codebases? or, I don't know if it makes sense, heterogeneous code bases?
@middlefloor
@middlefloor 2 жыл бұрын
Gradle's probably the closest Java-first tool. Most of the tools in the video can be used for multi-language codebases, but Bazel and Nx have plugins that make it easier to work with different technologies/languages.
@Ultimacho
@Ultimacho 2 жыл бұрын
I wonder what are the main advantages of using Turborepo against the standard yarn workspaces? We are using the latter, but we will move to a new tool if we see obvious benefits. We only run one app at a time during development, so the process doesn't seem to differ much from the one described in the video.
@Viviko
@Viviko 2 жыл бұрын
I usually only use Monorepo on things like Microservice based systems. I kind of feel like having one repository for ALL your products kinda is overkill. But I guess not, after watching this.
@AhmedKachkach
@AhmedKachkach 2 жыл бұрын
What's overkill is going through the effort of maintaining different repos for a small project. If your web app, your mobile app and your data processing jobs all use the same data representation, why not store everything in the same repo and keep everything in sync?
@uwuLegacy
@uwuLegacy 2 жыл бұрын
YES finally monorepos are getting more coverage
@wxrld1
@wxrld1 2 жыл бұрын
perfect, now I just need to start a big project. maybe next weekend. yeah.
@wheytomuchforher
@wheytomuchforher 2 жыл бұрын
Serious question. Why would I use this instead of NX's built in CLI tooling to run the "affected" aspects of my code base. I use NX for both of my side projects
@syamjulio3685
@syamjulio3685 2 жыл бұрын
I'm interested in this as well.
@middlefloor
@middlefloor 2 жыл бұрын
Turbo would probably be used instead of Nx, not alongside it. If you're already using Nx, turbo won't do anything for you that Nx doesn't do.
@BlackdestinyXX
@BlackdestinyXX 2 жыл бұрын
Really interesting, thanks
@midas6659
@midas6659 2 жыл бұрын
Best tech KZbinr on the planet yo
@AnimusAgent
@AnimusAgent 2 жыл бұрын
One thing I felt it went missed on this video was about the easy integration with microfrontends and testing tools with Nx.
@falxie_
@falxie_ 2 жыл бұрын
Had my eye on Turhorepo, didn't know they went open source!
@agentsamumu
@agentsamumu 2 жыл бұрын
You talked about microservices in that, can you do a video on it? That sounds really interesting
@junzhengca
@junzhengca 5 ай бұрын
Monorepo coupled with almost perfect IaC is a god send, it gives amazing visibility to everything. Yes it is complex, and the on-boarding learning curve will be steep, but once you are familiar with it, you don’t even need to leave your IDE to find anything.
@mylifegamer1
@mylifegamer1 2 жыл бұрын
Hey, I used that in creating a blockchain 😃 Thanks
@wie5493
@wie5493 2 жыл бұрын
You’re amazing! How can you put out such high quality videos so quickly?
@skyhappy
@skyhappy 2 жыл бұрын
His amazing intelligence and work ethic
@andresramos7965
@andresramos7965 2 жыл бұрын
My man fireship has a brain so dense, that rumors says in the center there is a blackhole
@nitroflap
@nitroflap 2 жыл бұрын
Funniest thing is that today I was thinking exactly about monorepos & multi repos. Fireship reads our minds.
@felixoghina553
@felixoghina553 Жыл бұрын
Setting up a monorepo for all my unfinished projects
@michaeldausmann6066
@michaeldausmann6066 8 күн бұрын
Just finished refactoring my big messy Nuxt + background processes app into a clean and efficient monorepo with turborepo. Should have done this from the start, so much better
@Filaxsan
@Filaxsan 2 жыл бұрын
Our man Jeff becoming funnier and funnier (and informative!) every video. Way to go Jeff, love you
@besm_a
@besm_a Жыл бұрын
Thank you for the video :)
@NezzyLawd
@NezzyLawd 2 жыл бұрын
Been watching for ages, but not subscribed. I don't know how!
@MikePatterson8831
@MikePatterson8831 2 жыл бұрын
The weirdestthing for me is seeing big companies modify distributed version control systems so that they operate more like centralized version control systems. All the problems with git scaling is from git's own setup. Really glad I no longer work at one of the big companies mentioned here. Central version control systems manage monorepos so much better in terms of speed and out of the box access management. And this particular company's proprietary build tool had such poor documentation that it was almost tribal knowledge when you needed someone to setup the build pipeline or fix a bug. Great video!
@theatypicaldeveloper
@theatypicaldeveloper 2 жыл бұрын
you should always think big and leave an extra space in your app (if possible) so it's growth-friendly great vid, as always!
@andreb.1352
@andreb.1352 2 жыл бұрын
you should always think small, and iterate it to the better.. otherwise you end up in perfection and you need a lot of time instead of just shipping a lot of small parts
@zyriab5797
@zyriab5797 8 ай бұрын
Keep it lean and modular
@MrMeszaros
@MrMeszaros 8 ай бұрын
Cool - like Gradle! Except that build caching sharing - that sounds like fun
@lambrohan
@lambrohan 2 жыл бұрын
I knew it coming, since you starred the repo 2 days ago!
@reed6514
@reed6514 2 жыл бұрын
i'm a php dev with about 10 foss packages, many depending on eachother, and composer (php's dependency manager) works great for me. & I think gitlab has a built-in feature for mono-repos, though idk how feature rich it is.
@reed6514
@reed6514 2 жыл бұрын
Okay, i have quite a few more foss packages than 10 ... but i estimate only about 10 of them are useful ... i just open source most stuff i write.
@lixou
@lixou 2 жыл бұрын
Me finishing after 3 days my MonoRepo setup. 2 hours later, this video got uploaded….
@racecarjonny8460
@racecarjonny8460 2 жыл бұрын
I have worked with monorepos built with lerna. OMG are they difficult to maintain!
@philippeberto
@philippeberto 2 жыл бұрын
What a great content!
@felixinit
@felixinit 2 жыл бұрын
Great Monorepo... Amazing!
@titzko987
@titzko987 2 жыл бұрын
expected something about an opensource java logging library today
@agusgarcia9509
@agusgarcia9509 2 жыл бұрын
Excellent video!
@tylersustare
@tylersustare 2 жыл бұрын
I was so stoked on this but when I tried adding a “ui” package to the default starter I wasn’t able to get it to work. Only the default “Button” component worked across projects. Which was a bummer. I wasn’t able to find any docs on how to add one. For turborepo
@KevinVandyTech
@KevinVandyTech 2 жыл бұрын
I just converted most of my company's front end code to Nx. It's been a game changer
@middlefloor
@middlefloor 2 жыл бұрын
Awesome to hear!
@alegian7934
@alegian7934 2 жыл бұрын
great vid! is there some similar tool for much smaller monorepos? for example if I wanted to merge my frontend and backend repos (one of which isnt a node app), what's the best option?
@middlefloor
@middlefloor 2 жыл бұрын
Nx, Lerna, and Turborepo can all be used in a lightweight fashion, even for a repo with just a few projects.
@quachhengtony7651
@quachhengtony7651 2 жыл бұрын
Nice explanation.
@laudijksterhuis
@laudijksterhuis 2 жыл бұрын
Video request: Firebase emulator suite 😃 Also, great video, as always 💯
@mavvdeus
@mavvdeus 2 жыл бұрын
Can one use turbo with other languages (Java, PHP, Python, ...) as well, or is it just for JS projects?
Nx Quickstart - How to Scale a JavaScript Project
9:40
Fireship
Рет қаралды 160 М.
What is a monorepo? | Getting started with nx
18:30
Coding Garden
Рет қаралды 6 М.
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 7 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 93 МЛН
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 14 МЛН
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 99 МЛН
13 Advanced (but useful) Git Techniques and Shortcuts
8:07
Fireship
Рет қаралды 891 М.
Why my chat app broke… a cautionary tale
5:33
Fireship
Рет қаралды 452 М.
I used a Monorepo for 12 months - here’s my opinion
9:50
Software Developer Diaries
Рет қаралды 20 М.
“Act On Press” - John Carmack's Hot Take On UI
7:54
Theo - t3․gg
Рет қаралды 84 М.
how to never write bug
7:20
Fireship
Рет қаралды 838 М.
Best OS for programming? Mac vs Windows vs Linux debate settled
8:41
120x Faster Algorithm By Nested Loops
21:21
ThePrimeTime
Рет қаралды 335 М.
What Is A Monorepo And Why You Should Care - Monorepo vs. Polyrepo
14:44
Как работает автопилот на Lixiang L9 Max
0:34
Семен Ефимов
Рет қаралды 17 М.
Main filter..
0:15
CikoYt
Рет қаралды 8 МЛН