How to structure a JS/TS monorepo (From Zero to Turbo - Part 1)

  Рет қаралды 33,036

Anthony Shew

Anthony Shew

Күн бұрын

Пікірлер: 133
@ReinerKnudsen
@ReinerKnudsen 3 ай бұрын
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!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@LanceYoung-j1q
@LanceYoung-j1q Ай бұрын
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
@deshi-sukuna
@deshi-sukuna 5 ай бұрын
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.
@anthonyshewww
@anthonyshewww 5 ай бұрын
All things I plan on covering! Stay tuned!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@julio.sampaio
@julio.sampaio 5 ай бұрын
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!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@pedro-eu-mesmo
@pedro-eu-mesmo 3 ай бұрын
Looking forwards for the remaining of this series :)
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@francismasha7432
@francismasha7432 5 ай бұрын
Awesome. Looking forward for future learnings on this and improvements in Turborepo.
@combatninjaturtle
@combatninjaturtle 5 ай бұрын
I was just too afraid to set up a monorepo… this is a life saver. Thanks.
@anthonyshewww
@anthonyshewww 5 ай бұрын
Great to hear it!
@justBCheung
@justBCheung 5 ай бұрын
This couldn’t come at a more perfect time, thank you! About to start coding my startup. Looking forward to the next episode 😁
@jostasizzi818
@jostasizzi818 5 ай бұрын
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
@SheikhAmeen
@SheikhAmeen 13 күн бұрын
What's your startup about?
@jenewland1999
@jenewland1999 5 ай бұрын
Great video, Anthony! Love to see some more content around monorepos and Turbo itself. Looking forward to seeing more too!
@anthonyshewww
@anthonyshewww 5 ай бұрын
More to come!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@Benjamin-Chavez
@Benjamin-Chavez 5 ай бұрын
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!
@anthonyshewww
@anthonyshewww 3 ай бұрын
Here’s TypeScript go-to-definition: turbo.build/repo/docs/guides/tools/typescript#enable-go-to-definition-across-package-boundaries And 👀 on the rest!
@Benjamin-Chavez
@Benjamin-Chavez 3 ай бұрын
@@anthonyshewww Thanks for sharing! I saw this last night in the release notes!!
@kinsleyo3965
@kinsleyo3965 5 ай бұрын
I’m literally planning on creating a monorepo today. Thanks
@ErnestOak
@ErnestOak 5 ай бұрын
Last time I failed at dockerizing, I would like to see how deployment works in a monorepo
@vinception777
@vinception777 2 ай бұрын
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!
@anthonyshewww
@anthonyshewww 2 ай бұрын
I’m finishing up parental leave this week so will be back to shipping shortly! 😁
@vinception777
@vinception777 2 ай бұрын
@@anthonyshewww Oh that's nice, congratulation :)
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@vinception777
@vinception777 Ай бұрын
@@anthonyshewww Damn, I appreciate that you took the time to update me ☺ I'll check it in the evening or tomorrow thank youuu 🙏🔥
@shashikantmarskole
@shashikantmarskole 5 ай бұрын
thank you nicely explain. keep it up. now move with Turbo
@AhmedShahram-dw2xp
@AhmedShahram-dw2xp 5 ай бұрын
Looking for future updates in Turborepo. Been loving new update so far. 👍
@zabiullahshokuri
@zabiullahshokuri Ай бұрын
Best tutorial I appreciate you
@isoonfire
@isoonfire 5 ай бұрын
I'm starting to approach this world, pls give us more interesting videos like this one :)
@anthonyshewww
@anthonyshewww 5 ай бұрын
Stay tuned!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@itsyourboyt4683
@itsyourboyt4683 5 ай бұрын
Love it. Keep up with the good work
@anthonyshewww
@anthonyshewww 5 ай бұрын
Thank you!
@muhammadisa440
@muhammadisa440 5 ай бұрын
Thank you for making this video.
@vladprodan7010
@vladprodan7010 5 ай бұрын
Cool video! More about monorepo, please
@anthonyshewww
@anthonyshewww 5 ай бұрын
Will do!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@aghileslounis
@aghileslounis 5 ай бұрын
Time to use Turborepo!
@muhammadisa440
@muhammadisa440 3 ай бұрын
Waiting for the next video.
@anthonyshewww
@anthonyshewww 3 ай бұрын
I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@theJamieBenShaw
@theJamieBenShaw 5 ай бұрын
I remember having to setup a monorepo for all our frontend applications at work, it was onerous to say the least haha
@anthonyshewww
@anthonyshewww 5 ай бұрын
What difficulties did you have?
@SheikhAmeen
@SheikhAmeen 13 күн бұрын
What is that cool code editor you are using?
@shepherdspy
@shepherdspy 5 ай бұрын
Looking forward to the next video(s). You should also do a Vim configuration video, looks interesting.
@ayushshende4290
@ayushshende4290 4 ай бұрын
When is the next one dropping, monorepos had always been messy to create, waiting for this series.
@anthonyshewww
@anthonyshewww 4 ай бұрын
😁 x.com/anthonysheww/status/1823732138010927193?s=46&t=Qbb4n7Ixuzo4TIFQnqFxfA
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@jfhandfield
@jfhandfield 5 ай бұрын
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!
@rushabhhere
@rushabhhere 3 ай бұрын
When will you be releasing the next video?
@anthonyshewww
@anthonyshewww 3 ай бұрын
I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
@rushabhhere
@rushabhhere 3 ай бұрын
@@anthonyshewww Okay, all the best!!
@anthonyshewww
@anthonyshewww Ай бұрын
@@rushabhhere Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@rushabhhere
@rushabhhere Ай бұрын
@@anthonyshewww Thanks man!
@silphen801
@silphen801 2 ай бұрын
Oh god please more of this hahaha
@paleo3142
@paleo3142 2 ай бұрын
Love these videos! Are the upcoming videos on this channel as well?
@anthonyshewww
@anthonyshewww 2 ай бұрын
Soon! Just got back from Parental Leave and will be shipping the rest.
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@sundarpaulD
@sundarpaulD 4 ай бұрын
Can you show us how to setup development env similar to your.
@gold-junge91
@gold-junge91 4 ай бұрын
Nice video. When is part 2 coming?
@anthonyshewww
@anthonyshewww 4 ай бұрын
😁 x.com/anthonysheww/status/1823732138010927193?s=46&t=Qbb4n7Ixuzo4TIFQnqFxfA
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@MinhajulIslam-h8s
@MinhajulIslam-h8s Ай бұрын
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.
@IkraamDev
@IkraamDev 5 ай бұрын
Respect for the Neovim.
@PrashantSingh-pw1ze
@PrashantSingh-pw1ze 5 ай бұрын
today I learned alot. when's the nest part coming.
@anthonyshewww
@anthonyshewww 5 ай бұрын
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. 🤞
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@DestinoDello
@DestinoDello 5 ай бұрын
Keep ‘‘em coming if you can also explain how to use clean architecture in a monorepo for next apps 🎂
@anthonyshewww
@anthonyshewww 5 ай бұрын
Are you meaning Clean Architecture, the capitalized one, or just cleanly architecting best practices in general?
@DestinoDello
@DestinoDello 5 ай бұрын
@@anthonyshewww i mean Clean Architecture
@ashish_prajapati_tr
@ashish_prajapati_tr 5 ай бұрын
great tutorial
@filipniklas
@filipniklas 5 ай бұрын
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?
@anthonyshewww
@anthonyshewww 5 ай бұрын
What do you mean by “a type package”? Want to make sure I’m understanding correctly.
@filipniklas
@filipniklas 5 ай бұрын
@@anthonyshewww like a package that just contains typescript types for stuff like API requests, responsed, data structures etc
@ryuichimiyazaki4032
@ryuichimiyazaki4032 Ай бұрын
Is there a part 2? Can't find it
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@indiaandtheworld9181
@indiaandtheworld9181 5 ай бұрын
Waiting for part 2
@user-bi6gn9ot9o
@user-bi6gn9ot9o 5 ай бұрын
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?
@anthonyshewww
@anthonyshewww 5 ай бұрын
- 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
@yuyistira
@yuyistira 2 ай бұрын
may you share your vim configuration please (also some tutorial) ? :D
@lfbarni
@lfbarni 5 ай бұрын
what would you say Yarn compares to PNPM in the monorepo context?
@anthonyshewww
@anthonyshewww 5 ай бұрын
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.
@seannewell397
@seannewell397 5 ай бұрын
im deep in yarn land rn so your definition of workspace is fuuuun lol
@anthonyshewww
@anthonyshewww 5 ай бұрын
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
@pedrobrasil892
@pedrobrasil892 3 ай бұрын
Waiting the next one =D
@anthonyshewww
@anthonyshewww 3 ай бұрын
Same! I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@pedrobrasil892
@pedrobrasil892 Ай бұрын
@@anthonyshewww Thanks bro! And congrats for your baby! Be a father is challenging but rewarding, as everything that really worth in our live =D
@naufalnasrullah6965
@naufalnasrullah6965 2 ай бұрын
where i can watch the part 2?
@anthonyshewww
@anthonyshewww 2 ай бұрын
I’m currently on parental leave but will be swiftly back to shipping these in a few weeks!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@hakanaki
@hakanaki 5 ай бұрын
Is it possible to add and express app to turborepo ?
@anthonyshewww
@anthonyshewww 5 ай бұрын
Yes! Turborepo works with all your favorite tools.
@gokulkrishh
@gokulkrishh 5 ай бұрын
Good one!
@anthonyshewww
@anthonyshewww 5 ай бұрын
Thanks!
@not_a_human_being
@not_a_human_being 4 ай бұрын
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
@anthonyshewww 3 ай бұрын
Will do!
@not_a_human_being
@not_a_human_being 3 ай бұрын
@@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!
@andreanemet418
@andreanemet418 5 ай бұрын
would you use biome instead of eslint & prettier?
@anthonyshewww
@anthonyshewww 5 ай бұрын
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.
@andreanemet418
@andreanemet418 5 ай бұрын
@@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
@anthonyshewww 5 ай бұрын
@@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?
@andreanemet418
@andreanemet418 5 ай бұрын
@@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!
@MyGeorge1964
@MyGeorge1964 5 ай бұрын
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...
@dgcp354
@dgcp354 5 ай бұрын
whats you font?, its beautiful
@anthonyshewww
@anthonyshewww 5 ай бұрын
😌 vercel.com/font
@thesobercoder
@thesobercoder 5 ай бұрын
Nice font. Mind sharing the name?
@anthonyshewww
@anthonyshewww 5 ай бұрын
Geist Mono!: vercel.com/font
@moosegoose1282
@moosegoose1282 2 ай бұрын
part 2?
@anthonyshewww
@anthonyshewww 2 ай бұрын
I’m currently on parental leave but will be swiftly back to shipping these in a few weeks!
@anthonyshewww
@anthonyshewww Ай бұрын
Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@mujibulhaquetanim
@mujibulhaquetanim 3 ай бұрын
where are the remaining videos, bro? 🙄
@anthonyshewww
@anthonyshewww 3 ай бұрын
I’m currently on parental leave but will be swiftly back to shipping these in a month or so!
@mujibulhaquetanim
@mujibulhaquetanim 3 ай бұрын
@@anthonyshewww Masha Allah, congratulations. I hope to watch you soon.
@anthonyshewww
@anthonyshewww Ай бұрын
@@mujibulhaquetanim Part 2! Sorry for the delay: kzbin.info/www/bejne/pXnEmGhtlN-FqZo
@iamAmeeeeeer
@iamAmeeeeeer 4 ай бұрын
still waiting on the video where u said u would build a new package in turborepo
@anthonyshewww
@anthonyshewww 4 ай бұрын
😁 x.com/anthonysheww/status/1823732138010927193?s=46&t=Qbb4n7Ixuzo4TIFQnqFxfA
@MuhamadAzizPrasetyo
@MuhamadAzizPrasetyo 5 ай бұрын
lets go!
@DzintarsDev
@DzintarsDev 5 ай бұрын
Monorepo != one single Git/Hg repository!
@anthonyshewww
@anthonyshewww 5 ай бұрын
Interesting. How do you prefer to define it?
@DzintarsDev
@DzintarsDev 5 ай бұрын
@@anthonyshewww You operate on top of entire Git server and use appropriate tooling to tie things together.
@vaisakh_km
@vaisakh_km 4 ай бұрын
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?
@JohnAmao-k3f
@JohnAmao-k3f 5 ай бұрын
Creative title
@anthonyshewww
@anthonyshewww 5 ай бұрын
I’m so glad you said this. I thought it was so clever. 😂
@thechoephix
@thechoephix 5 ай бұрын
Is this what vim looks like nowadays?
@anthonyshewww
@anthonyshewww 5 ай бұрын
😎
@thechoephix
@thechoephix 5 ай бұрын
@@anthonyshewww No, seriously, how do I make it look like that? XD
@anthonyshewww
@anthonyshewww 5 ай бұрын
@@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
@thechoephix
@thechoephix 5 ай бұрын
@@anthonyshewww Thanks! 😎
Learn Turborepo By Example | Code Sharing, Distributed Cache, & More!
1:47:05
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
The Secret Language Scaling WhatsApp and Discord
28:32
Theo - t3․gg
Рет қаралды 187 М.
This VS Code theme is threatening people?
14:26
Theo - t3․gg
Рет қаралды 145 М.
My "as few deps as possible" monorepo setup
4:03
Matt Pocock
Рет қаралды 42 М.
What is a monorepo? | Getting started with nx
18:30
Coding Garden
Рет қаралды 15 М.
I used a Monorepo for 12 months - here’s my opinion
9:50
Software Developer Diaries
Рет қаралды 33 М.
Every React Concept Explained in 12 Minutes
11:53
Code Bootcamp
Рет қаралды 915 М.
Why use a monorepo?
6:32
Vercel
Рет қаралды 110 М.
I Forked Bolt.new and Made it WAY Better
19:28
Cole Medin
Рет қаралды 102 М.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН