DejaVue

In this episode of DejaVue, Alex and Michael talk about the previous "IRL Nuxt event", which was a team meeting where most Nuxt Core Team members met in France.

Together, they discuss why they met, what happened, why there was a delicious cake and further insights from the retreat, like more breaking changes to Nitro and Nuxt, codemods and other topics.

Enjoy the episode! 

Chapters

  • (00:00) - Welcome to DejaVue
  • (01:04) - A real life Nuxt team meeting?
  • (02:44) - Who was at the meeting?
  • (04:11) - A cake?
  • (05:54) - Activities
  • (09:37) - How DejaVue came to life
  • (10:37) - Previous Vue Podcasts
  • (11:57) - Vue.js Australia?
  • (12:20) - Meetups
  • (13:23) - Further activities
  • (14:46) - Nitro breaking changes
  • (16:06) - Nuxt breaking changes
  • (18:36) - Meeting IRL more often?
  • (19:44) - Wrapping up

Links and Resources



Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

Creators & Guests

Host
Alexander Lichter
Web Engineering Consultant • Founder • Nuxt team • Speaker
Host
Michael Thiessen
Full-time Vue educator
Editor
Niki Brandner
Sound Engineer

What is DejaVue?

Welcome to DejaVue, the Vue podcast you didn't know you needed until now! Join Michael Thiessen and Alexander Lichter on a thrilling journey through the world of Vue and Nuxt.

Get ready for weekly episodes packed with insights, updates, and deep dives into everything Vue-related. From component libraries to best practices, and beyond, they've got you covered.

Michael Thiessen:

Welcome to DejaVue.

Alexander Lichter:

It's your favorite Vue podcast. You just don't know it yet. Or maybe do. Maybe having a Deja Vu. And we are back for another episode here.

Alexander Lichter:

With me is Michael Thiessen.

Michael Thiessen:

Hey, everyone. I am a Vue educator, if you don't know, and I do content and courses and all sorts of things like that. And with me is Alex.

Alexander Lichter:

Yeah. Hey. I'm Alex Lichter. I am a web engineering consultant by day, part of the Nuxt team as well, and also doing a little bit of YouTube, a little bit of streaming all around Vue, Nuxt, JavaScript, front end development, and so on so on. And, yeah, today, we want to talk about something very interesting that happened, well, a little bit ago, in France.

Alexander Lichter:

Yeah. Don't talk about recent politics, maybe, but it could be no, but something else we want to talk about a little meeting of a group of people.

Michael Thiessen:

Yeah. So I saw this, unfold on Twitter a little bit or X, I guess. I don't know. I still call it Twitter. Old But yeah.

Michael Thiessen:

So you were you were live tweeting well, sort sort of live tweeting this, Nuxt team meetup that you were having. So I'm very curious. First of all, who was there and why did you choose, in France of all places?

Alexander Lichter:

Yeah. So, that that all it came a little bit spontaneous, like, not like months or years of planning, of course. The people from the Nuxt team meet every now and then happened before, like in Amsterdam, for example, last year where Anthony and Daniel were here, Pooya came from Harlem, which is more or less Amsterdam, like close by, and me. So we we met and did a bit of coding, a little bit of discussion for a couple hours. Pooya and Daniel and also Anthony already went to to Bordeaux once.

Alexander Lichter:

I mean, Anthony living in in France, and, okay. The Netherlands is not that far. And, yeah, this year, Sébastien was thinking, hey. He's he's living in Bordeaux. I was like, why not, come in all around?

Alexander Lichter:

The, NuxtLabs office is also there so you can meet some more people there, check out the office, and then we can do fun things, book some Airbnbs, close to to his home, and, yeah, having having a good time. So that's why, Bordeaux, France was chosen. Though it's it's not the it's not the only, possible location, of course. I'm also thinking the next time whenever that will be, to maybe check out Edinburgh or, yeah, Amsterdam, once again, even though I mean, everybody is in Amsterdam. At least once a year, it feels like for Vue.js Amsterdam.

Alexander Lichter:

Sadly, not always everyone, but that also might be good occasions to say like, hey, let's add a few days and just come over and hang out at Amsterdam more. So, yeah, that's location wise.

Alexander Lichter:

And who was there? All the people from the Nuxt team except, unfortunately. Australia is, is sadly a bit far.

Michael Thiessen:

Yeah. Yeah.

Alexander Lichter:

And, also, we were there for like, I was there for 4 days, and the others were there for 5 days. I had to leave a little bit earlier. Yeah. It it was a blast. It was nice to see everyone from the team, at once once again, except Harlan, unfortunately, but we had him in our hearts and minds, of course.

Alexander Lichter:

So it was really nice to to hang out and, yeah, just, having a good time.

Michael Thiessen:

Yeah. I think I can, emphasize with Harlan a little bit. Like, I'm not on the next team, but, you know, over here in Canada, sometimes feel like I'm missing out on on some Vue events and and things because everyone's almost most people are over in Europe and all the conferences happening there and the events and just like meeting up with people is a lot easier when you don't have to take an 8 hour or 9 hour flight across a giant ocean.

Alexander Lichter:

That's absolutely true. Yeah. Fair point. Even though, I mean, you have Vue Toronto right around your like right around your house, basically. And VueConf US, which is still far, but, yeah, that's so at least you have 2 close by, more or less.

Alexander Lichter:

Let's not say close by, one at least, but in in reach.

Michael Thiessen:

They're in the same time zone. Yeah. So that's that's really nice too.

Alexander Lichter:

That counts.

Michael Thiessen:

The jet lag is is not always the the most fun thing.

Alexander Lichter:

No. Oh, I agree.

Michael Thiessen:

So you, you were in an Airbnb hanging out. Did you I mean, I'm sure you talked about Nuxt and Yes. Did some did some things. I saw there was a cake that was made.

Alexander Lichter:

Yes. That's absolutely correct. So, Julien, from the team, also was here in the podcast already talking about server components. Actually, lots of people were on already and probably have some more. Daniel as well, and, the rest is, is on the list to come for sure.

Alexander Lichter:

I just have to find suitable dates, because there's enough to talk about. But, yeah, everybody following Julien along, maybe he's, really into into baking things, and he got this, let's say this brand iron to, like with the shape of of the Nuxt logo. He, like, got it custom made on Etsy and bought it so he can actually just, like, put a little branding, on on the cake eventually. So, he tried it with a Galette du Roi, a typical French cake for King's Day in France. At least that's what I learned in school back in time.

Michael Thiessen:

Okay.

Alexander Lichter:

Yeah. And, yeah, he he he made that and put the log on it. And, that's that's how that story started.

Michael Thiessen:

Nice. I think I've had that cake before. I have a I have a friend who is from France. Is that the one where they hide

Alexander Lichter:

Yeah.

Michael Thiessen:

An almond in there and then whoever gets the piece with it

Alexander Lichter:

Exactly. Is the king, so to say. Yeah. Yeah. Like, finding finding the king.

Alexander Lichter:

Yeah. So, yeah, that's that's the fun. But we didn't make a Galette du Roi. We made a like, Julien, made a cheese cake version of it.

Michael Thiessen:

Okay.

Alexander Lichter:

Like, a very, very lovely tasty cheesecake with some jam on top, and of course, nicely branded. With with the Nuxt logo. It's very important.

Alexander Lichter:

And, yeah, activity wise, like, we we, in a way, we didn't have, like, a super big agenda as in, oh, yeah. Let's get up at 7, and then we code through, through the night, or the day and then the night.

Alexander Lichter:

It was more like the idea was to get together and to spend actual time together and have some conversations. Lots mainly because, well, it's always nice to talk, even like like we do right now. Right? Like, video chatting is cool. But, like, personal communications.

Alexander Lichter:

Also, sometimes it's just in a group of, like, brainstorming. This is sometimes really difficult to replicate online. Yeah. So it it was really good to to do that. And, yeah, just, also ask questions, get some input, discuss who's going to do what next.

Alexander Lichter:

And, also, this maybe get some opinions on it can be anything. It can be code, but also can like, how to handle contributors, how to, make it more clear for the users what they should do when they report a bug. Like, also lots of meta topics, let's say, they were really helpful. Like, all the conversations, like, they they really, yeah, they really help because it's you get these opinion, but usually, you don't ask, like, straight away, like, hey, rest of the team, what do you think? And if you ask them, not everybody will unless they have a chance to input, like, give give their thoughts.

Alexander Lichter:

Not because it's like, okay. There's just one answer and that's it. It's more like we're all busy. Lots of us are not doing that full time, myself included, same for Lucy, for Julien, for for Harlan as well. More or less like, okay, Pooya, Sébastien, somewhat because he's also running last last laps, right, a company, and Daniel and Anthony are doing full time open source.

Alexander Lichter:

So, basically, 3 and and a half people are from from the team. And Yeah. That's that's also what made it a little bit difficult, like, okay, when to find a suitable date because some of us has to take time off. Okay. It might catch a bit easier.

Alexander Lichter:

But, yeah, we we made it eventually.

Michael Thiessen:

Yeah. I'm sure there are a lot of open source teams. Probably most open source projects is just fully distributed online. Just people chipping in. However, and like all these decisions are made asynchronous, you know, through GitHub or whatever tool you use to plan things.

Michael Thiessen:

But yeah, hashing things out in person is very different. And like some, as you say, some things are better done in person. And once you get to, like, I don't know, 4 people or more, I find that video chats kind of fall apart and they're just naturally some people who are less likely to speak up in larger groups and it's hard it's even harder online. Then if your internet is lagging or something like, you know, you like to jump in and then you're just like, oh, okay. I guess I'll just stay on mute and listen.

Alexander Lichter:

Yeah. Just, like, maybe write in chat. That's also what I see every now and then. And people like, okay. I don't wanna don't wanna talk.

Alexander Lichter:

I just put in my ideas in chat, and then you also have to take care of that and so on so on. So, yeah, it's Yeah. It's tricky. But I I like to see full remote companies also do that. Right?

Alexander Lichter:

They they go on retreat every now and then. Yeah. Also, not just the focus to, like, work hard, but, like, just meet your coworkers, spend time with them. And, I've seen the Vite Team, for example, also going on a a Vite Team retreat, so to say. I think that's also a good way once again to, like, strengthen the core in a way, like, also bonding Yeah.

Alexander Lichter:

And still, like, being productive in a way even though that was not the main goal. The main goal is, like, okay. At the end, we ship Nuxt 4 because it didn't happen as as we all see. But it wasn't that bad yet. Never.

Michael Thiessen:

Yeah. Meeting people in person and getting to know them as real people and not just as, like, their commit history is a big thing, I think. And, like this podcast is a good example of that because we met in Toronto at a conference and we were just chatting about stuff. We weren't talking about. I don't know.

Michael Thiessen:

We weren't, we probably were talking about Vue, but not that specifically. We were just kind of hanging out and eventually we got around to talking about podcasting. I forget exactly how it came up, but you know, like it came up and that's, that's how how it goes.

Alexander Lichter:

Absolutely. Yeah. I remember it was like after a conference where just chatting around and yeah. Somehow it was like, we that's like maybe we talked if we talk about Erik, Erik Hanchett, in this case, shout out. Probably also will be on here very soon if we find find a time frame.

Alexander Lichter:

It's always like, finding a good recording date across a couple of time zones is is tricky, but

Michael Thiessen:

Yeah.

Alexander Lichter:

That's, that's also another topic maybe for an episode where, like, how to make a nice podcast and the the challenges. But, yeah, I also talked about, the older other Vue Vue podcasts starting with, like, the the Vue Mastery, one about the official Vue news podcast, which I really enjoyed listening to when I was, starting with Vue.js development. And also every now and then submitted a few of my articles because there was submit function like, hey. Good content.

Alexander Lichter:

Let's, put it in. Yeah. So so that was that was really fun. And I I like I really like the comments, that we also get on on YouTube, on Twitter. Every now and then also an email and other platforms, basically saying, like, hey, it's it's really nice.

Alexander Lichter:

Especially, I had that one in mind because I saw it, just yesterday where someone commenting on the the first part of the Even You interview and saying like, hey. I expected it to be like the the typical, like, topics Evan was saying in the conference, but it's so different and, it's really lovely. You never stop. You really fill a missing hole in the Vue community. And that's that's really nice to see.

Alexander Lichter:

That's exactly why I do it.

Michael Thiessen:

Yeah. And and yeah. We're trying to, in some ways, kind of replace the the in person conversations that that are hard to have because everyone's in different places and then record it so that, you know, everyone else can come along for the ride. And, yeah, it's really nice to be able to do this.

Michael Thiessen:

And maybe one day we can have an event in Australia perhaps so that Harlan can, it makes it makes it easier for him.

Alexander Lichter:

Vue.js Australia.

Michael Thiessen:

Have to

Alexander Lichter:

There we go. That would be lovely.

Michael Thiessen:

Yeah. And that like there are different parts of the world that that are harder for people to make it into a conference and actually see other people in person. But, I know that lots of cities have the Vue.js meetups as well, which is nice to see other people if you're not working in a company where there are other people using Vue or even, you know, if it's just you and someone else.

Alexander Lichter:

Or if you're freelancing.

Michael Thiessen:

Working with you. Yeah. Then you can actually meet up and chat with people in real life who are also using Vue. And so that's, it's a nice way to to be part of the community and to, yeah, to get connected. It's always it's always nice to to meet real people.

Alexander Lichter:

100%. And also, like, it's a good start if you wanna go into dip in the public speaking as well. Like, give us a talk there, have, like, a chill atmosphere, like, ask some questions or get some questions asked and answer them. It's awesome. Like, I I started doing lots of meetups and still really enjoy them, going there.

Alexander Lichter:

It's it's like a really nice familiar feeling. Also as an attendee, you don't always have to have

Alexander Lichter:

to give a talk actually.

Michael Thiessen:

Yeah.

Alexander Lichter:

Though often it's like, okay, if you're around and if you have something, you're like, okay, sure. We can talk about whatever. But yeah.

Alexander Lichter:

Like, coming coming back to the Nuxt meeting, there's also one more thing that we did a lot, which was food.

Alexander Lichter:

Good French, pastries, of course, some good Bordeaux wine. Sadly, I missed out the wine festival the last day, but I heard it was lots of fun. So we had a really good time. Of course, people know, Daniel is really into bouldering, so we also ended up bouldering because it was lots of fun the last times I've been with him and we're like, let's do this. So, yeah, we had some nice community activities.

Alexander Lichter:

We had a good time together. Mhmm. And in the end, like, the the result, I think, is will be a better Nuxt and a better Nitro because the team grew even closer together.

Michael Thiessen:

Yeah. Well, I'm I'm looking forward to seeing what the team produces, over the next while. I mean, it's kind of hard to imagine that, this pace that it could can be sustained, but I have faith in like it's, it's been actually pretty amazing to see what's happened, like with Nuxt 3. And once, once that rolled out and like the minor releases and all the features and the the the piece at which things are coming out. And I'm really excited to see to see what, Nuxt 4 brings and and the future of that.

Alexander Lichter:

Same here. Like, I mean, for Nuxt 4, luckily, breaking change wise, we are in a pretty pretty good state. Maybe if if you listen to that task force already out, then you already know what's what's happened. But so Pooya, is is rewriting, with with the help of some others of the team. I mean, he is like rewriting, h3, the router, which was ready street before.

Alexander Lichter:

Now it's not a radix tree anymore. So it's just called rou3, like r o u and then s3, and to make sure that it works even better, it can, well, cater all the needs, and, eventually we get a Nitro major version with some changes, quite some breaking changes, of course, but nothing's like, oh my gosh, It will never be able to to migrate. Ideally, lots of things will we we can solve with extensive migration guide like we do with Nuxt 4 already. Also, also for people using Nitro standalone, that might be a good case. And, in the end, there will be lots of changes, but it will be good because still everything will be runtime agnostic.

Alexander Lichter:

So we make sure, that you can deploy things in Cloudflare workers, on Node, on Deno, and and things work out. But it also needs some sacrifices in terms of maybe it sometimes takes a bit longer to find a good solution, or maybe sometimes you have to cut out on the node specific things because they're not available on our platforms.

Michael Thiessen:

Great. Well, I'm looking forward to that as well. I'm sure everyone else's new versions and and making things better. So it's good.

Alexander Lichter:

Though, obviously, like, we have some discussions around some breaking changes, which is I think it was really good. Like, I was I was reading about the famous removal of the pending Boolean. This is something which we originally planned. And eventually, in the team, like, we came to the conclusion that we said, no, we don't want to remove it in version 4. We might remove it in version 5, and we just mark it as deprecated, but update the behavior.

Alexander Lichter:

So I think we even decided it in word over again, because, like, we we always have to make trade offs as in, like, okay, how much effort is it for people to migrate and what what benefit is there? It's like, okay. If there's a totally wrong implementation, I think it's really good to fix the bug. But do I fully have to remove the variable for that to indicate, hey, this is not working anymore and not like this is still silently working, but you don't know if there's maybe a change? In this case, we decided for the latter.

Alexander Lichter:

We said, okay, we changed the behavior a tiny bit because most of the users probably won't be affected, and the ones are, they see that in the migration guide. So I think that was a was a good choice. In the community, you wait in a lot there. It's like, hey, why do you remove it? Does it really make sense?

Alexander Lichter:

It's a lot of pain to migrate. And I I see lots of points there. Still a big fan of of booleans for for, like, states, like pending, idle, and so on so on. We have a status, enum there more or less, so just strings. But, it's I understand that people don't want to migrate over some tiny thing like that because lots of hours and and work, if you use it on a 100 places, maybe rename it.

Michael Thiessen:

Yeah. And maybe there's a good, like, what's the tool?

Alexander Lichter:

The codemod.

Michael Thiessen:

The code migrations?

Alexander Lichter:

Like a code mod, you mean?

Michael Thiessen:

Yeah. Code mod. Yeah. Maybe that could be a code mod for for that. That makes it, you know, not 100 of hours, but you still have to review that those changes and make sure you didn't accidentally break things.

Alexander Lichter:

Yeah. That's that's true.

Michael Thiessen:

I get that.

Alexander Lichter:

Yeah. There's actually a code mod for that, developed by by Jan-Niklas Wortmann. Still, the PR is open, so hopefully, we can use it for version 5. Only has some problems with semicolons versus no semicolons in code because it that's the only thing that was troublesome. But if if we remove it, and right now this is planned for v5, as you said, but not for an x four, then the code mod might be interesting.

Alexander Lichter:

Even before, it could be interesting because if it's deprecated, you might still wanna run the code and say, hey, how about you change that instead? Like, you check the status instead.

Michael Thiessen:

Right.

Alexander Lichter:

So, yeah, all in all, I I'm I'm a big fan of in person meetings. It's a bit sad that we can't do it more regular. Like, I think once every half a year is, like, the the smallest duration in between that we can do, like, the the smallest time spent. Mhmm. Because every couple of months, it's it's tough as in people have to take maybe vacation days or maybe we have to make it shorter, and we have to find a suitable date.

Alexander Lichter:

And we have lots of people. I mean, we all have, like, responsibilities. People have family, kids. That also doesn't make it easier. I mean, you you know better than I do at the moment.

Alexander Lichter:

And, I'm just very happy that, that we could do it, that we had a really good time. And I'm looking forward, to the next, in person, but also a virtual, next meeting. And maybe one day, even a a nice conference. Who knows? Who knows?

Alexander Lichter:

Mhmm. That would be fun. In person one. Oh, I would love that. I mean, I heard that for ages, like even back in 2019, like, yeah, maybe at some point it might take a bit I wouldn't rule it out.

Alexander Lichter:

It's not like, oh yeah, we have, like, precise plans what to do, but, folks, if you wanna see it in the next conference, then let us know in the comments or on Twitter.

Michael Thiessen:

And with that, I think, we're at the end here of this episode, but if you want to listen to more of our episodes on Vue and Nuxt, you can. We've got a pretty good backlog by now. We've got an episode with Evan, and then we have another episode with Evan You. We've got episodes with Daniel and Harlan, as were mentioned in this episode and Julien and,

Alexander Lichter:

so many amazing guests.

Michael Thiessen:

Yeah. Many more. So, take a look, and we'll see you in the next one.

Alexander Lichter:

Exactly. Have a good time. Talk to you soon, folks.