As someone who just spent a good amount of time trying to navigate their way through the current ecosystem (it's a jungle), this was like an oasis - thank you
please keep these coming, your way of teaching is too good! I'm already aware of these concepts through error and trial for the past week but I'm struggling on the more intermediate stuff such as using tailwindcss, dockerizing, turbo.json's functionality, etc... Not much videos on youtube regarding this gem of a tool turborepo, and you're a lifesaver.
Great vid, a few months earlier and this series would have saved me a ton of time and stress! That said, if you are looking for more turborepo content ideas, here are a few things that either took me a long time to really figure out, weren't in the docs or example projects from the turborepo team, and/or am still struggling with: - Setting up global eslint (I am running two apps: next.js frontend + express API and a series of packages). - Setting up/structuring a shared-types while getting intellisense in all apps and packages and getting updated type intellisense without having to restart the server everytime you update a shared type. - Linking to the base type definition and not the transpiled `.d.ts` file when you ctrl-click a type/interface. - setting up a global testing suite using vitest so that you can run all of your tests from the root and get the vitest vs-code plugin to actually pick up the tests in each app/package. Hopefully you can cover some of these, but in any case, thanks for the vid man, I'm looking forward to the rest of the series!
Thanks a lot for the video, it actually helped me debug my monorepo config haha ❤ I don't know if you're going to do the part 2, but I'll be watching it if you do!
I've been using turbo for about a year and I wish I had a video like that. On my end I've been struggling with ShadCn and when deploying and something else then Vercel. I know vercel is the logic choice here but my company is using another cloud service. It would be nice to make video on how to do such a thing. Thank you for your time!
In my experience, pnpm is by far the best package manager for monorepos. In contrast, after helping *so many* people debug in their monorepos, I can usually guess which package manager someone is using based on the bizarre error they’re reporting - and it’s nearly always Yarn. I recommend moving away from it if you can.
Great video. I'm new to monorepos and I have a quick question. Can't we just use pnpm workspaces to create monorepos? What's the advantage of using turborepo and pnpm in combination?
Great video, but I have a question. How do you manage a scenario where a new version of a type package is committed, and ready to be consumed by the frontend but not the backend (which relies on the old one)? Basically, how to handle different versions of apps in the same codebase?
Lol, sounds so easy, now please do a video on how to share "tailwind config" across the repos, so you can import some non-trivial button, but some good stuff like ShadCN.
@@anthonyshewww I tried my best and failed... if you could do that - it'll be amazing, but at this point - I've gave up. But maybe you can do this, good luck! For me it's a lost cause at this point!
Okay, this is a good start... I tried to setup a Turbo repo but..., I want to create a shadcn/ui repo w/ tailwindcss and all that good stuff (not to be confused with the template 'ui repo') as one source of truth while being able to then create UI components in the "ui repo" to be used in the apps/ workspace.Either Turborepo wasn't playing nice or I was... well, let's just say not successful. The same thing happened with setup prisma although it did seem to work... The `client.ts` was giving me squiggles...
I actually just got done implementing Biome into a really large codebase and liked it! There are still some missing features, but it’s pretty great overall. If you’re looking for just a linter, Oxlint from the OXC family of tools is pretty great, too.
@@anthonyshewww Would be nice to see you using Biome here as there are not many examples, especially with TurboRepo. Your insights on implementing Biome into a large codebase would be valuable.
@@anthonyshewww There are already quite a few examples of ESLint and Prettier with TurboRepo out there. It would be nice to see Biome with TurboRepo, especially with your insights on handling large monorepos. Tips and tricks for bigger codebases would be incredibly valuable because simple examples with exporting three components in UI packages are quite a few over the internet. I hope my suggestions are not taken as pressure; I just wanted to point this out because you asked what people want to see. Pointing me to the Biome docs makes me think about why TurboRepo videos exist if TurboRepo has docs too, you see where I’m going? Thanks!
1. Sorry. 😬 2. Don’t worry, you’re only one `npx @turbo/workspaces convert` command away from not using yarn anymore! www.npmjs.com/package/@turbo/workspaces
I was thinking like that only... python testing team in the place i work has 1 giant repo with all project in it, and has few internal packages commonly that shared between them (like auth, servicenow-selenium connecter)... will it be considered as mono repo?
As someone who just spent a good amount of time trying to navigate their way through the current ecosystem (it's a jungle), this was like an oasis - thank you
Perfect timing! We've just kicked off a cool new mono repo project with Turborepo at work. Can't wait to see what's next!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
This is the best tutorial I have seen so far regarding Monorepo/Turborepo. Can't wait to see the next videos and learn more. Thanks for sharing!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
please keep these coming, your way of teaching is too good! I'm already aware of these concepts through error and trial for the past week but I'm struggling on the more intermediate stuff such as using tailwindcss, dockerizing, turbo.json's functionality, etc... Not much videos on youtube regarding this gem of a tool turborepo, and you're a lifesaver.
All things I plan on covering! Stay tuned!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Looking forwards for the remaining of this series :)
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Great vid, a few months earlier and this series would have saved me a ton of time and stress!
That said, if you are looking for more turborepo content ideas, here are a few things that either took me a long time to really figure out, weren't in the docs or example projects from the turborepo team, and/or am still struggling with:
- Setting up global eslint (I am running two apps: next.js frontend + express API and a series of packages).
- Setting up/structuring a shared-types while getting intellisense in all apps and packages and getting updated type intellisense without having to restart the server everytime you update a shared type.
- Linking to the base type definition and not the transpiled `.d.ts` file when you ctrl-click a type/interface.
- setting up a global testing suite using vitest so that you can run all of your tests from the root and get the vitest vs-code plugin to actually pick up the tests in each app/package.
Hopefully you can cover some of these, but in any case, thanks for the vid man, I'm looking forward to the rest of the series!
Here’s TypeScript go-to-definition: turbo.build/repo/docs/guides/tools/typescript#enable-go-to-definition-across-package-boundaries
And 👀 on the rest!
@@anthonyshewww Thanks for sharing! I saw this last night in the release notes!!
I was just too afraid to set up a monorepo… this is a life saver. Thanks.
Great to hear it!
Awesome. Looking forward for future learnings on this and improvements in Turborepo.
This couldn’t come at a more perfect time, thank you! About to start coding my startup.
Looking forward to the next episode 😁
Hey I might be intruding I am willing to work on a startup if you would like can we connect through some medium
If you wanna work together
Great video, Anthony! Love to see some more content around monorepos and Turbo itself. Looking forward to seeing more too!
More to come!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
I’m literally planning on creating a monorepo today. Thanks
thank you nicely explain. keep it up. now move with Turbo
Looking for future updates in Turborepo. Been loving new update so far. 👍
Thanks a lot for the video, it actually helped me debug my monorepo config haha ❤
I don't know if you're going to do the part 2, but I'll be watching it if you do!
I’m finishing up parental leave this week so will be back to shipping shortly! 😁
@@anthonyshewww Oh that's nice, congratulation :)
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
@@anthonyshewww Damn, I appreciate that you took the time to update me ☺
I'll check it in the evening or tomorrow thank youuu 🙏🔥
Best tutorial
I appreciate you
I'm starting to approach this world, pls give us more interesting videos like this one :)
Stay tuned!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Cool video! More about monorepo, please
Will do!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Last time I failed at dockerizing, I would like to see how deployment works in a monorepo
Love it. Keep up with the good work
Thank you!
I've been using turbo for about a year and I wish I had a video like that. On my end I've been struggling with ShadCn and when deploying and something else then Vercel. I know vercel is the logic choice here but my company is using another cloud service. It would be nice to make video on how to do such a thing.
Thank you for your time!
Can you show us how to setup development env similar to your.
I remember having to setup a monorepo for all our frontend applications at work, it was onerous to say the least haha
What difficulties did you have?
In our Expo app, we had to patch a dependency, but now that we’ve set up TurboRepo with the Expo app, the patch is no longer working.
Time to use Turborepo!
Respect for the Neovim.
Waiting for the next video.
I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Love these videos! Are the upcoming videos on this channel as well?
Soon! Just got back from Parental Leave and will be shipping the rest.
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Looking forward to the next video(s). You should also do a Vim configuration video, looks interesting.
what would you say Yarn compares to PNPM in the monorepo context?
In my experience, pnpm is by far the best package manager for monorepos.
In contrast, after helping *so many* people debug in their monorepos, I can usually guess which package manager someone is using based on the bizarre error they’re reporting - and it’s nearly always Yarn. I recommend moving away from it if you can.
Keep ‘‘em coming if you can also explain how to use clean architecture in a monorepo for next apps 🎂
Are you meaning Clean Architecture, the capitalized one, or just cleanly architecting best practices in general?
@@anthonyshewww i mean Clean Architecture
Waiting the next one =D
Same! I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
@@anthonyshewww Thanks bro! And congrats for your baby!
Be a father is challenging but rewarding, as everything that really worth in our live =D
Great video. I'm new to monorepos and I have a quick question. Can't we just use pnpm workspaces to create monorepos? What's the advantage of using turborepo and pnpm in combination?
- Cache work you’ve already done so you stay fast at all scales
- Ensure task ordering, no matter the complexity of the scripts you need to run
Nice video. When is part 2 coming?
😁 x.com/anthonysheww/status/1823732138010927193?s=46&t=Qbb4n7Ixuzo4TIFQnqFxfA
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
When is the next one dropping, monorepos had always been messy to create, waiting for this series.
😁 x.com/anthonysheww/status/1823732138010927193?s=46&t=Qbb4n7Ixuzo4TIFQnqFxfA
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Is there a part 2? Can't find it
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
When will you be releasing the next video?
I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
@@anthonyshewww Okay, all the best!!
@@rushabhhere Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
@@anthonyshewww Thanks man!
Great video, but I have a question. How do you manage a scenario where a new version of a type package is committed, and ready to be consumed by the frontend but not the backend (which relies on the old one)? Basically, how to handle different versions of apps in the same codebase?
What do you mean by “a type package”? Want to make sure I’m understanding correctly.
@@anthonyshewww like a package that just contains typescript types for stuff like API requests, responsed, data structures etc
Is it possible to add and express app to turborepo ?
Yes! Turborepo works with all your favorite tools.
today I learned alot. when's the nest part coming.
Best feedback! As soon as I can. Trying not to rush these because I want high quality but working as hard as i can at it. 🤞
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Thank you for making this video.
may you share your vim configuration please (also some tutorial) ? :D
Lol, sounds so easy, now please do a video on how to share "tailwind config" across the repos, so you can import some non-trivial button, but some good stuff like ShadCN.
Will do!
@@anthonyshewww I tried my best and failed... if you could do that - it'll be amazing, but at this point - I've gave up. But maybe you can do this, good luck! For me it's a lost cause at this point!
Okay, this is a good start... I tried to setup a Turbo repo but..., I want to create a shadcn/ui repo w/ tailwindcss and all that good stuff (not to be confused with the template 'ui repo') as one source of truth while being able to then create UI components in the "ui repo" to be used in the apps/ workspace.Either Turborepo wasn't playing nice or I was... well, let's just say not successful. The same thing happened with setup prisma although it did seem to work... The `client.ts` was giving me squiggles...
great tutorial
where i can watch the part 2?
I’m currently on parental leave but will be swiftly back to shipping these in a few weeks!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Oh god please more of this hahaha
would you use biome instead of eslint & prettier?
I actually just got done implementing Biome into a really large codebase and liked it! There are still some missing features, but it’s pretty great overall.
If you’re looking for just a linter, Oxlint from the OXC family of tools is pretty great, too.
@@anthonyshewww Would be nice to see you using Biome here as there are not many examples, especially with TurboRepo. Your insights on implementing Biome into a large codebase would be valuable.
@@andreanemet418 I'm not sure what there is demo beyond their doc: biomejs.dev/guides/getting-started/
What questions do you have after reading that?
@@anthonyshewww There are already quite a few examples of ESLint and Prettier with TurboRepo out there. It would be nice to see Biome with TurboRepo, especially with your insights on handling large monorepos. Tips and tricks for bigger codebases would be incredibly valuable because simple examples with exporting three components in UI packages are quite a few over the internet. I hope my suggestions are not taken as pressure; I just wanted to point this out because you asked what people want to see. Pointing me to the Biome docs makes me think about why TurboRepo videos exist if TurboRepo has docs too, you see where I’m going? Thanks!
Good one!
Thanks!
Waiting for part 2
whats you font?, its beautiful
😌 vercel.com/font
Nice font. Mind sharing the name?
Geist Mono!: vercel.com/font
lets go!
im deep in yarn land rn so your definition of workspace is fuuuun lol
1. Sorry. 😬 2. Don’t worry, you’re only one `npx @turbo/workspaces convert` command away from not using yarn anymore!
www.npmjs.com/package/@turbo/workspaces
where are the remaining videos, bro? 🙄
I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
@@anthonyshewww Masha Allah, congratulations. I hope to watch you soon.
@@mujibulhaquetanim Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
Monorepo != one single Git/Hg repository!
Interesting. How do you prefer to define it?
@@anthonyshewww You operate on top of entire Git server and use appropriate tooling to tie things together.
I was thinking like that only... python testing team in the place i work has 1 giant repo with all project in it, and has few internal packages commonly that shared between them (like auth, servicenow-selenium connecter)...
will it be considered as mono repo?
Creative title
I’m so glad you said this. I thought it was so clever. 😂
part 2?
I’m currently on parental leave but will be swiftly back to shipping these in a few weeks!
Part 2! Sorry for the delay: ruclips.net/video/oHag57_zRs8/видео.html
still waiting on the video where u said u would build a new package in turborepo
😁 x.com/anthonysheww/status/1823732138010927193?s=46&t=Qbb4n7Ixuzo4TIFQnqFxfA
Is this what vim looks like nowadays?
😎
@@anthonyshewww No, seriously, how do I make it look like that? XD
@@thechoephixOh, sorry. 😂 Here are my out-of-date dotfiles. Will try to update soon once I settle a couple of things.
github.com/anthonyshew/dotfiles
@@anthonyshewww Thanks! 😎