Anthony Shew
Anthony Shew
  • Видео 5
  • Просмотров 28 810
Turborepo 2.0 - New UI + Watch Mode?!
Turborepo 2.0 improves the developer experience of JavaScript and TypeScript repositories, with features including:
→ New terminal UI: Interactive tasks and clearer logs
→ Watch Mode: Dependency-aware task watcher for any tooling in your repository
→ All-new documentation: Core monorepo concepts, refreshed API reference, and ecosystem tooling guides
Go check it out!: turbo.build/blog/turbo-2-0
Twitter: anthonysheww
Discord: discord.gg/JMHERJGRkH
Everything else: shew.dev
Просмотров: 5 690

Видео

Do less, ship more (in a monorepo)
Просмотров 814Месяц назад
Just because there's more code in your monorepo doesn't mean it has to be slower. Ship faster by doing less in a Turborepo. Learn about Turborepo: turbo.build Twitter: anthonysheww Discord: discord.gg/JMHERJGRkH Everything else: shew.dev 0:00 Our shared monorepo experience 0:46 Monorepos vs. polyrepos 2:02 Making a monorepo fast locally 5:07 Using ` filter` 6:00 Global `turbo` 8:08 ...
Node.js runs on Turborepo now
Просмотров 3,5 тыс.2 месяца назад
Turborepo can help you ship single-package workspaces, too, just like a monorepo. Let's take a look at how the Node.js team is doing it. Node.js repository: github.com/nodejs/nodejs.org/tree/50eb2ee348aaa48d0817b017afcfb6a17f896300 Twitter: anthonysheww Discord: discord.gg/JMHERJGRkH Everything else: shew.dev
Internationalization with the Next.js 13 App Router
Просмотров 18 тыс.Год назад
Learn how to set up basic internationalization in the Next.js App Router! GitHub example: github.com/anthonyshew/i18n-demo Twitter: anthonysheww Discord: discord.gg/JMHERJGRkH Portfolio: shew.dev
Migrate to the Next.js App Router with confidence (and feature flags)
Просмотров 872Год назад
Using Vercel's Edge Config can help you transition into the Next.js App Router from the Pages Router using zero latency feature flags. You can ship the App Router with confidence, knowing that you can rollback to your existing views from `/pages` in seconds. GitHub example: github.com/anthonyshew/edge-config-migration-demo Twitter: anthonysheww

Комментарии

  • @YashShah-ml9pg
    @YashShah-ml9pg 2 дня назад

    Thank you for the good work

  • @StephenRayner
    @StephenRayner 5 дней назад

    Decent, keep going

  • @damiantriebl1747
    @damiantriebl1747 6 дней назад

    I had some problem to install tailwind in the UI folder, can you give me some documentation for that? I can't find it

  • @snivels
    @snivels 7 дней назад

    The new terminal ui is horrible, you can't copy and paste anything from it

  • @Grishopping
    @Grishopping 9 дней назад

    Thank you very much for the video... could you make an example connecting the prism orm with the new version of turborepo?

    • @anthonyshewww
      @anthonyshewww 9 дней назад

      Try out `npx create-turbo@latest -e with-prisma`. More examples can be found here: turbo.build/repo/docs/getting-started/installation#start-with-an-example

    • @Grishopping
      @Grishopping 9 дней назад

      @@anthonyshewww Thanks my friend... yes... the repository I have checked... and I have tried to do it several times.... but unfortunately I have NOT been able to connect yet..... I don't know what I am doing wrong... that's why I'm interested in seeing a practical example.... again thank you for answering..... hopefully you can make an example, maybe more people will be interested in it.

  • @kashnigahbaruda
    @kashnigahbaruda 9 дней назад

    Cool ui!

  • @CuriousSpy
    @CuriousSpy 9 дней назад

    what is this browser?

  • @mdrashidhussain1815
    @mdrashidhussain1815 9 дней назад

    Please share your neovim config 🫣

    • @anthonyshewww
      @anthonyshewww 9 дней назад

      My dotfiles are here!: github.com/anthonyshew/dotfiles (Although, it’s not updated. I’ll push an update soon.) 🙃

  • @WillDelish
    @WillDelish 10 дней назад

    Its on my list to try out turborepo, some cool features there!

  • @itsjustboarsley
    @itsjustboarsley 10 дней назад

    This looks like an awesome tool

  • @maso4u
    @maso4u 10 дней назад

    how does one get your setup

    • @anthonyshewww
      @anthonyshewww 9 дней назад

      My dotfiles are here!: github.com/anthonyshew/dotfiles

  • @Grishopping
    @Grishopping 23 дня назад

    Thanks for the video. Sorry for the abuse could you use a series of turborepo from basic to advanced level ... sweia super master turborepo greetings from Venezuela your new subscriber Jose Grillo NOTE; do you have a discord channel?

  • @devjiwonchoi
    @devjiwonchoi Месяц назад

    Awesome content thank you!! Anyone wondering the terminal UI seems differernt from yours, set "experimentalUI" to true in your turbo.json!

  • @shaked1233
    @shaked1233 2 месяца назад

    nice video, subscribed cause of nvim!

  • @RegalWK
    @RegalWK 2 месяца назад

    Great content, subscribed :D

  • @RegalWK
    @RegalWK 2 месяца назад

    Cool, I have to finally learn neovim

    • @anthonyshewww
      @anthonyshewww 2 месяца назад

      It took me ~5 tries and then I used www.lazyvim.org/ I still have a ton to learn but feel a lot faster already.

    • @rafaeltab
      @rafaeltab 2 месяца назад

      Neovim is absolutely amazing!

  • @LabhamJain
    @LabhamJain 2 месяца назад

    Kinda clickbait in title :/

    • @Lars16
      @Lars16 2 месяца назад

      Yup. Node.js does NOT run on Turborepo, their official website does. It's a shame the author felt the need to clickbait audience this way because the content of the video was actually good. I won't be subscribing to the channel for that reason.

    • @LabhamJain
      @LabhamJain 2 месяца назад

      @@Lars16 true that

  • @versaleyoutubevanced8647
    @versaleyoutubevanced8647 2 месяца назад

    very cool stuff, you should make videos more often

    • @anthonyshewww
      @anthonyshewww 2 месяца назад

      I appreciate that! Definitely going to be doing more. 👍

  • @rafaeltab
    @rafaeltab 2 месяца назад

    Look at you neovimming everywhere like a pro

    • @anthonyshewww
      @anthonyshewww 2 месяца назад

      It's so good. I have so much to learn.

  • @augustin_
    @augustin_ 2 месяца назад

    Turborepo is super cooolllll !

  • @YannickPian
    @YannickPian 3 месяца назад

    Great stuff! it simply works and love that I don't need to change the actual path in the user's browser. A nice follow up would be to show how one could give the user a language switcher and override this preferred lang parameter at the browser level, for instance saving the override in a cookie. The part that would be challenging is adapting this middleware to do that.

  • @an11111100
    @an11111100 4 месяца назад

    What about Date Time translation?

  • @yazanmoses9451
    @yazanmoses9451 5 месяцев назад

    if this didn't work and you have a src folder don't forget to put you middleware file in your src file not in root

  • @igihara2662
    @igihara2662 5 месяцев назад

    Hey Anthony! great video, in Next 14 docs they don't show how to change language

  • @kazi-shariful-islam
    @kazi-shariful-islam 5 месяцев назад

    awesome! can you tell me how to toggle/switch between different locales from frontend?

  • @leof240
    @leof240 5 месяцев назад

    how can you merge with the nextAuth middleware?

  • @juanda3396
    @juanda3396 6 месяцев назад

    Ask how can I make a button that changes the language between Spanish and English, good video, it helped me a lot

  • @arvin6
    @arvin6 7 месяцев назад

    Hi Mr. Anthony, Your tutorial on using Next.js for a multi-language website has been a real lifesaver for me. I've learned a lot about using next-intl for fixed content, but I've run into a challenge with dynamic content like user-created posts and comments. I'm not sure how to add them to the locales JSON files, and I've had trouble finding helpful resources on this topic. I would be really grateful if you could point me in the right direction and maybe even consider creating a tutorial on handling dynamic content within the locales JSON files. Your help would mean a lot to me and others facing similar challenges. Thank you so much,

  • @MahmoudEssam-fp3zm
    @MahmoudEssam-fp3zm 8 месяцев назад

    how can i show locale in the url

  • @estebanandresiseauvac1335
    @estebanandresiseauvac1335 8 месяцев назад

    hahahahaha un poco español, awesome tutorial Anthony!

  • @user-sj5su4wv9k
    @user-sj5su4wv9k 9 месяцев назад

    Hello, I have a question why I set the default language but it doesn't work?

  • @AminEminosCr7
    @AminEminosCr7 9 месяцев назад

    Thank you for the video.. but is that a good practice for SEO or its better each language in a separate route as /sp ??

  • @catpenguin
    @catpenguin 9 месяцев назад

    Hah, nice. RUclips recommended this video right after I made the same thing.

  • @murilorerisondesousapaz5065
    @murilorerisondesousapaz5065 9 месяцев назад

    Could you do a video explaining how to make the internationalization and private routes in the middleware? Because it's hard to configure both. Thanks

  • @danibachini2138
    @danibachini2138 10 месяцев назад

    in the middleware file I had to change the ```export const config = { matcher: [ '/((?!_next|api|favicon.ico).*)', ] }``` for ```export const config = { matcher: ['/((?!api|_next|.*\\..*).*)'] };``` since the images in the public folder were not working. Everything else worked just fine 😊

    • @itstatanka
      @itstatanka 10 месяцев назад

      this is great! i was looking for. is there a any document to improve my matcher knowledge?

    • @great-hx9bo
      @great-hx9bo 9 месяцев назад

      Absolute life saver, thanks for that!

  • @sivaganesh4489
    @sivaganesh4489 10 месяцев назад

    any solution for SSG + App Router + i18n. since middleware not supported in static export mode

  • @evgenydus363
    @evgenydus363 10 месяцев назад

    Thanks for sharing! Spent quite a lot of time to configure i18n in my project and get some ideas from your video. Just have one more question: how would you organize singular/plural keys inside of dictionary in this type of keys getting? :) And also how would you separate this dictionary files in case of much bigger amout of keys?

  • @carlitod2624
    @carlitod2624 10 месяцев назад

    thank you very much for your video, everything works perfectly except for not-found.tsx at the root of [lang] I can't get the params

  • @sss863030
    @sss863030 10 месяцев назад

    Curious to ask, is the i18n conversion of this approach server side or client side ?

  • @trusht
    @trusht 11 месяцев назад

    the cleanest i18n solution. thanks. more tutorials please.

  • @mateuslima3074
    @mateuslima3074 11 месяцев назад

    I logged only to like, subscribe and comment this video, great! thx a lot for this! 😀👍

  • @supafast1314
    @supafast1314 11 месяцев назад

    What about switching between the languages with a dropdown menu? how to handle that ?

    • @itstatanka
      @itstatanka 10 месяцев назад

      i think you can use this import { useRouter } from 'next/router' const router = useRouter() const { pathname, asPath, query } = router // change just the locale and maintain all other route information including href's query router.push({ pathname, query }, asPath, { locale: nextLocale })

  • @zakidzz
    @zakidzz 11 месяцев назад

    hello can you add example if im on home page : i consume only home stings,same for other pages like load translation per page only

  • @JohanNordberg
    @JohanNordberg Год назад

    What would happen if you actually had the lang in the url? Would it rewrite to /en/en/some-path?

  • @hansTrauwitz
    @hansTrauwitz Год назад

    sobre yo better put Acerca de mi, 😊😊

  • @nourrahim5556
    @nourrahim5556 Год назад

    Hi , i have a question , i want a button that change my local from /fr to /en , i could not do it , i tried to use usestate etc , but nothing happend

    • @alexqs96
      @alexqs96 Год назад

      same here i made a dirty solution to change it, considering default lang is english location.replace(pathname.includes("es")? "/en" + pathname.slice(3) : "/es" + pathname)

    • @nourrahim5556
      @nourrahim5556 Год назад

      @@alexqs96 i'll try it , thank u

    • @nourrahim5556
      @nourrahim5556 Год назад

      @@alexqs96 Hi again , i have a server component , how can get this pathname

    • @alexqs96
      @alexqs96 Год назад

      @@nourrahim5556 the button that i used was a client component using usePathname, then imported that button component into my server component

  • @user-po8ni4ng7v
    @user-po8ni4ng7v Год назад

    BIG NOTICE: To get params in layout we need to put it inside [lang] folder. If it lays outside of the [lang] (as shown in the video), the language in html won't change and you woldn't be able to pass it to the layout components such as header and footer. Now everything seems to work) Thanks for the video, it's trully the best way to impement internalization

    • @anthonyshewww
      @anthonyshewww Год назад

      Oh gosh, major oops! I might have to re-record. BIG YES! Pinning.

    • @ilyalakhno2850
      @ilyalakhno2850 9 месяцев назад

      it works fine for me...

    • @davidlintin
      @davidlintin 8 месяцев назад

      Yes Header and Footer Components require this, had an issue with the ../globals.css import but once I re-ran it was all ok. Great tutorial :)

    • @joaomaia9140
      @joaomaia9140 3 месяца назад

      Do you have an example pls

  • @EmmanuelOdii80
    @EmmanuelOdii80 Год назад

    Thanks mate! I subscribed Twice, ready to support you ❤️

  • @panteliselef239
    @panteliselef239 Год назад

    How would you avoid creating a massive dictionary will all the translations ? I imagine this will not be efficient for client side components

    • @mattburgess5697
      @mattburgess5697 Год назад

      You pretty much have to create a massive dictionary if you want a lot of content. There are tools like Lokalise to manage that, but it’s not free.

  • @Pranav999999
    @Pranav999999 Год назад

    Nice crisp video on I18n 👏 One observation though, the Root Layout does not receive params, hence lang attribute remains "en" as it is always defaultLocale. Any thoughts around it?

    • @user-po8ni4ng7v
      @user-po8ni4ng7v Год назад

      To get params in layout we need to put it inside [lang] folder. If it lays outside of the [lang] (as shown in the video), the language in html won't change and you woldn't be able to pass it to the layout components such as header and footer. Now everything seems to work)

    • @ninodornemann9347
      @ninodornemann9347 10 месяцев назад

      You could add a custom header, like x-locale and use it in layout with headers().get(“x-locale”). Then you don’t even need the params property