How did Svelte do in the State of JavaScript 2025?!

Kevin: welcome to svelte radio hello everyone welcome back to another episode of svelte radio So, hi, Jeppe.

Speaker 2: How are you doing?

Speaker 2: Hi, Kev. I'm doing great. How are you?

Speaker 2: Nice. I

Kevin: am very excited about this episode.

Kevin: We didn't know what we were going to talk about today

Speaker 3: until

Kevin: you posted this link earlier

Speaker 3: today, I think.

Speaker 3: Yeah.

Kevin: First off, Brittany's not here. She's enjoying herself in Hawaii, I think.

Kevin: Sounds awful.

Speaker 2: I feel like we should... I mean, I'm mad because I hate the cold.

Speaker 2: I hate the cold so much. And so she just escapes it.

Speaker 2: I'm just sitting here in the cold yeah in the cold

Kevin: yeah do you have you have it been has it been like really cold for a really long time in Denmark as well I think I think for two weeks yeah

Speaker 2: I mean that's I can do one day or two days of snow that's fine we do all the like the thing the fun thing you do in the snow and then it's over for me please can we get back to summer

Kevin: yeah well summer is a far way

Speaker 2: oh yeah

Kevin: right yeah Yeah, we've had like negative five to negative 10 here, like for a month now.

Kevin: It's not okay.

Kevin: No, it's like I'm getting tired of this.

Speaker 3: Can we cancel

Speaker 2: winter?

Kevin: Yeah, right, right.

Kevin: My friend in Barcelona, she helped with the conference

Speaker 3: for

Kevin: a bit.

Kevin: She lives in Barcelona, but she's Swedish, right?

Kevin: And she posted this picture on Instagram where she's like laying by the pool.

Speaker 2: Oh, no.

Kevin: gosh damn it so

Speaker 2: for many years i've said this to my wife that i really wish that we just lived in barcelona but then she also reminds me that in the summer it's it's impossible to

Speaker 3: exist in

Speaker 2: that heat yeah as a dane like i can't anything above 20 degrees celsius i'm just melting

Kevin: yeah and that's I would be like a roasting pig.

Kevin: Exactly.

Speaker 2: Yeah, I'm

Kevin: trying to convince my girlfriend that

Speaker 2: we should live

Kevin: in two places.

Speaker 2: So welcome to Weather Radio, where everything is all about the weather.

Speaker 2: Old men ranting.

Speaker 2: Yep, yep.

Kevin: Yeah, baby.

Kevin: On that note, maybe we should actually get into what we were going to talk about today.

Kevin: Absolutely.

Speaker 2: So State of JS 2025 results was just announced.

Speaker 2: I mean, by the time this recording gets out, it's been enough for some time.

Speaker 2: But for us, this is new.

Speaker 2: Yeah.

Speaker 2: I think that's cool.

Speaker 2: There's always a lot of great stuff in there.

Kevin: Yeah.

Kevin: I mentioned to Jeppe before we started recording that I always get confused by this survey because they change things and they add data points and all sorts of stuff.

Kevin: But it's a good survey, though.

Kevin: It is.

Speaker 2: It's just me being

Kevin: old.

Speaker 2: Oh, yeah.

Speaker 2: No, we're

Kevin: all...

Kevin: Shouting at the clouds.

Kevin: I

Speaker 2: think they have this issue that there's just more and more stuff to know and to think about in JS.

Speaker 2: So there's more and more frameworks coming in and more and more new syntax.

Speaker 2: And so the more data there is, the more confusing these charts just become.

Speaker 2: There's this big chart of all the frameworks and whatever that has lines going all over the place.

Speaker 2: And you can't understand it

Kevin: anymore.

Kevin: It's the one with...

Kevin: Five years ago it was way better.

Kevin: Yeah, yeah, yeah.

Kevin: It's the one with like satisfaction and stuff.

Kevin: It's just like going all over the place, like

Speaker 3: quadrants.

Kevin: Yeah.

Kevin: All right.

Kevin: So the big question, of course, is how did Svelte do?

Speaker 2: No, no, no, no, no.

Speaker 2: The big question.

Kevin: How did Svelte Radio

Speaker 2: do?

Speaker 2: No, Svelte

Kevin: Radio.

Kevin: Oh, Svelte Radio.

Kevin: Oh, this podcast.

Kevin: I mean, if

Speaker 2: I have to toot a horn, we have to toot our own horn first.

Speaker 2: That

Speaker 3: is very

Speaker 2: true.

Speaker 2: So there is, in the resources section, there's a podcast subsection.

Speaker 2: Yep.

Speaker 2: And Svelte Radio is on it.

Kevin: That is.

Kevin: And that's huge.

Speaker 2: That's pretty big.

Speaker 2: So when I saw that, I wanted to do a joke on, oh, we just need 50 times the amount of listeners to surpass syntax or whatever.

Speaker 2: So where are we on this list?

Speaker 2: Really close.

Speaker 2: We are number 13.

Speaker 2: Oh, number 13.

Speaker 3: Oh,

Kevin: where number one

Speaker 2: is none, right?

Speaker 2: So essentially we're number 12.

Kevin: Oh, I see.

Kevin: What?

Kevin: Oh, no one.

Kevin: There's 50% of people don't listen to podcasts.

Kevin: Yeah,

Speaker 2: 50% of people, they don't listen to podcasts at all, right?

Kevin: So

Speaker 3: that's like a huge

Speaker 2: market for us.

Speaker 2: I mean, I think we should target those people.

Speaker 2: The people that don't listen to what we're saying right now, they are like prime listeners for this because

Speaker 3: they don't know how

Speaker 2: stupid we are.

Speaker 2: No, but so then I looked into it, right?

Speaker 2: And I think there's some pretty big podcasts that are not number 12.

Speaker 2: Like you have

Speaker 3: Plot Rocket

Speaker 2: at number

Speaker 3: 17.

Speaker 2: You have DevTools number 18.

Speaker 3: It's

Speaker 2: just like one above.

Speaker 2: I think we're in with the cool kids now, the cool grown-ups.

Speaker 2: Yeah,

Kevin: I mean, so I remember like two years ago when we were also on this survey, But we were on, so I think they split it, right?

Kevin: So they had

Speaker 3: like

Kevin: all the big ones, right?

Kevin: And then they

Speaker 3: had like a free

Kevin: form

Speaker 3: section.

Speaker 3: And I think we

Kevin: won by a pretty huge margin on the free form.

Kevin: Oh, I see.

Kevin: But now we're mainstream, Jeppe.

Speaker 2: Funny to say that because just below us being mainstream is off the main thread.

Speaker 2: They're great guys.

Speaker 2: They're great guys.

Speaker 2: I think it puts pressure on us and we have to be less stupid now say something relevant.

Kevin: Something relevant, yeah.

Kevin: So

Speaker 2: maybe not the weather.

Speaker 2: I don't know. We'll

Kevin: figure that out.

Kevin: You're completely right.

Kevin: I think this podcast has partly devolved into some kind of people hanging out, talking

Speaker 2: and also about

Kevin: Svelte.

Kevin: And some people enjoy that.

Speaker 2: Yeah.

Speaker 2: I mean, it's all entertainment in the end.

Speaker 2: So, staying on that topic, if people have specific that they think we should discuss

Speaker 3: please

Speaker 2: post it in and then we will

Speaker 3: discuss

Speaker 2: it we won't be smart about it but we can say words

Speaker 3: words are super

Speaker 2: important otherwise everything turns into music so I think that's great then of course we have to go into Svelte so I think that was enough of Svelte Radio

Kevin: so

Speaker 2: just finding that

Kevin: there's a lot of pages on this thing libraries So there's

Speaker 2: both Svelte and SvelteKit, right?

Speaker 2: And Svelte is almost like my general analysis of this whole survey is almost the same as last year.

Speaker 3: Can you give us a recap?

Speaker 2: That was a recap, essentially.

Speaker 2: Svelte grew a lot.

Speaker 2: So there's these awards.

Speaker 2: There's the awards section of like most enjoyed variata.

Speaker 2: And guess who won all the awards?

Kevin: Was it Svelte?

Speaker 2: Was it Vite Test?

Speaker 2: It was Vite and Vite Test.

Speaker 2: Oh, okay.

Kevin: Honestly, that's kind of boring in a sense.

Kevin: Like, you know, obviously it's nice.

Kevin: Vite is great.

Speaker 2: Vite is awesome. It's awesome.

Speaker 2: It's an awesome team. Like, they do amazing

Kevin: stuff.

Kevin: It's totally

Speaker 2: deserved.

Kevin: But they've already won everything, basically.

Kevin: It's the default. It's what everyone uses.

Kevin: Do you even have to put it on here?

Speaker 2: Can you imagine that they revamped their API to something really bad?

Speaker 2: And like, we have to start winning now.

Speaker 2: That would be horrible, right?

Speaker 2: I mean, they should just keep winning.

Speaker 2: They should just keep doing their best.

Kevin: I agree.

Kevin: I agree.

Speaker 2: I think they're doing awesome.

Speaker 2: Anyways, Svelte is at 27% of usage, whereas last year's 26%.

Speaker 2: So that's a win.

Kevin: In my book.

Speaker 2: It is a win.

Speaker 2: It keeps rising, so that's great.

Kevin: Yeah.

Kevin: 1% a year.

Kevin: It's going to take many years for us to take over.

Speaker 2: Yeah, the next one is Angular at 48.

Speaker 2: So that's going to be 20 years of 1% increase.

Speaker 3: Then we'll get there.

Speaker 3: I mean, I'll be here.

Speaker 2: Well, of course.

Speaker 2: We'll all be here

Speaker 3: writing

Speaker 2: our Svelte code so that our AIs can use our Svelte code.

Speaker 2: Exactly.

Speaker 3: Yeah.

Speaker 3: Anyways,

Speaker 2: let me look at awareness stays the same, 96%.

Speaker 2: Interest is going down a bit?

Speaker 2: No?

Speaker 2: Yes, it is.

Speaker 2: So Svelte has the highest interest and has had that for

Speaker 3: six years now.

Speaker 3: For a long time now.

Speaker 2: Since 2019.

Speaker 2: And it's declining a bit, but so are most of the others.

Speaker 2: So I think this may be a bit of a trend that people maybe just get annoyed by.

Kevin: Yeah, by frameworks.

Kevin: and meta frameworks.

Kevin: It's

Speaker 2: interesting to see HTMX was huge two years ago.

Kevin: They went from

Speaker 2: 55 and then now they're at 37.

Kevin: It's almost like it was a meme, kind of. No offense to the HTMX people.

Speaker 3: I haven't

Kevin: used

Speaker 2: it, so I'm sure it's great.

Kevin: But

Speaker 2: there was some way that they couldn't ride in the end, it sounds like.

Speaker 2: So that's unfortunate for them.

Kevin: React still

Speaker 2: the big dog.

Speaker 2: of course not in interests right

Kevin: so um

Speaker 2: maybe if i share my screen we would be looking at the same thing that

Kevin: that is also that's

Speaker 2: a great idea uh share screen every single video recording software needs to have a different way of sharing that screen yep it's like this thing is their mode oh we'll have another way and so people

Kevin: stay in our it's the it's the uh what's it called like the lock in the way that they keep you in?

Kevin: You don't

Speaker 2: want

Speaker 3: to change

Kevin: the video software.

Kevin: Isn't that the moat?

Kevin: You have to learn.

Kevin: The moat.

Kevin: Yeah, that's what it's called.

Speaker 2: Solid is rising.

Speaker 2: Solid is rising in interest.

Speaker 2: React is at.

Speaker 2: It's

Speaker 3: still going

Speaker 2: down.

Speaker 2: Yeah.

Speaker 2: So React started all the way back in 2016 at 75% interest.

Speaker 2: I think this might have been like the first time they did this survey.

Speaker 2: 75% interest and then they're at 27% now.

Kevin: That's crazy.

Speaker 2: I don't want to just like this be a full episode of just all us just talking about charts going or graphs going down.

Speaker 2: Right.

Speaker 2: But I think there's a trend here.

Speaker 2: The older something gets, the less interest it gets.

Speaker 2: And

Speaker 3: satisfaction

Speaker 2: also goes down and whatnot.

Speaker 2: There is something there, though, about

Kevin: like React has kind of reinvented itself multiple times, right?

Kevin: True.

Kevin: So I think Hooks came out in, was that 2019?

Speaker 3: 18.

Kevin: 18?

Speaker 2: 18, 19.

Kevin: So you kind of would have expected a kind of a rise there, and then maybe with React Server Components.

Kevin: But from my understanding, they're not super popular.

Kevin: Like people that use them like them, but-

Speaker 2: There's also people that have used them that don't like them.

Speaker 2: Right.

Speaker 2: Like there's these big names that have like, OK, we tried to move to React Server Components for six months.

Speaker 2: It made everything slower.

Speaker 2: and really complicated, we're moving back.

Speaker 2: And I think that's a fair sentiment.

Speaker 2: I've spent

Speaker 3: a lot of time

Speaker 2: looking into it, and I also find it very confusing.

Speaker 2: But, I mean, they're really smart people, so maybe they'll figure it out.

Kevin: Right.

Kevin: I mean, yeah, it's kind of an issue, though.

Kevin: I'm not only talking about React here, but framework developers in general.

Kevin: When you get to the point where your job is to develop a framework rather than develop a tool that you're using yourself.

Kevin: You're not dogfooding it, right?

Kevin: And I think there's a risk there where it just, like, you come up with cool, smart solutions that probably

Speaker 3: theoretically are

Kevin: very, very good.

Kevin: But then in practice, they kind of fall apart because,

Speaker 2: I don't know.

Speaker 2: So what you're saying is that you become a library engineer.

Speaker 2: And so you have, like, you think you know how to build websites, but then that's actually not how people do it in reality.

Speaker 2: Right.

Speaker 2: Well, you might

Kevin: know how you built websites like five years ago, right?

Kevin: Yeah, like you said, things change.

Kevin: Yeah,

Speaker 3: for sure.

Kevin: And then also you get down into this, maybe you get down into this rabbit hole of trying to solve some performance issue and

Speaker 3: that

Kevin: takes up 80% of your time when you could have spent more time on the developer experience, if that makes sense.

Speaker 2: I think we also need to put this into perspective, right?

Speaker 2: I'm just pulling up NPM trends.

Speaker 2: So if we compare, like we've talked about how React is declining in satisfaction and interest.

Speaker 2: But then if you look at NPM trends, the downloads just keep going up.

Speaker 2: There's 70 million weekly downloads of React now.

Speaker 2: So I understand that there's a lot of people that keep downloading these things, they

Kevin: also

Speaker 2: use them more and more and more. So, right.

Kevin: Yeah. So essentially, you would kind of think that the NPM trends would follow the interest somewhat. Yeah. But

Speaker 3: then there's difference

Kevin: between like wanting to use something and having to use it, I guess. Absolutely. Yeah, for sure.

Speaker 3: And there's also a lag here. I

Speaker 2: think the people that answers these surveys, they are like really tuned in to the ecosystem.

Speaker 3: And

Speaker 2: then there's a long tail of enterprise engineers and everyone that makes money that, like, OK, we'll be using React now because React has been used for five years or whatever, or Angular or Svelte or whatever.

Speaker 2: So there's just a lag between usage and then what we see reported in this

Kevin: survey, I think.

Kevin: Interesting, though.

Kevin: What's the package name for Angular?

Kevin: Is it AngularJS?

Kevin: No.

Kevin: Or is it

Speaker 2: Angular or something like that?

Speaker 2: Angular-slash-cli?

Speaker 2: I should know this because I...

Speaker 2: Cli tool for

Kevin: Angular, yeah.

Kevin: Because if you just put in Angular, it's way smaller than Svelte, and that doesn't sound right.

Speaker 2: No, that doesn't make sense at all.

Speaker 2: No, no, no.

Speaker 2: We're just looking at the wrong packets, I'm sure.

Kevin: Probably, yeah.

Speaker 3: But yeah, so for

comparison,

Kevin: React has 70 million downloads.

Kevin: Svelte has 2.6.

Kevin: So there's a 35X difference there.

Speaker 2: Satisfaction.

Speaker 2: We have Svelte steady at number two, as it has been for

Speaker 3: five years now.

Speaker 2: With Solid just going straight into number one and still being, they're very, very close.

Speaker 2: It's like Solid is 89% satisfaction and Svelte is 86%.

Speaker 3: Yeah.

Speaker 2: So Preact gain satisfaction this year.

Speaker 2: So

Speaker 3: that's pretty interesting.

Speaker 2: Yeah. Lit as well. I think there's been a lot of years like people talk about web components, right? And it's been a thing for many years. And the usage has not been there compared to how much, how long it's been there, I guess. But I feel like this year and last year, like the chatter around web components and design systems and lit and fast, I think it just keeps growing now.

Speaker 2: Maybe it's because I'm listening to too much Shop Talk show, but I think it's growing.

Speaker 2: That's very interesting.

Kevin: Yeah.

Kevin: I don't know.

Kevin: Like, I'm so not into, like, I keep hearing about web components, but I'm not really that interested in them.

Kevin: No.

Speaker 2: Maybe for obvious reasons,

Speaker 3: but yeah, yeah, of course.

Speaker 3: Of course.

Kevin: But, like, I just never really use them a lot.

Kevin: But, like, the amount of DevRel resources that have gone into pushing web components is pretty large, right?

Kevin: True.

Kevin: So it's because you get this from like the Chrome team and like everyone is

Speaker 3: talking about web components

Kevin: and have been for years.

Kevin: So it's kind of interesting that it's not bigger.

Kevin: That

Speaker 2: is

Speaker 3: true.

Kevin: Maybe it's maybe the developer experience hasn't been up to snuff, right?

Speaker 2: Yeah, I think it's really hard to put a pin on like why are some of these frameworks more popular than others?

Speaker 3: Yeah.

Speaker 2: Especially when you look at these charts, because if you look at this,

Speaker 3: you

Speaker 2: would expect solid to just be like

Kevin: the thing that everyone uses.

Kevin: But it isn't.

Kevin: Could just be the solid users are more prone to answering the survey.

Kevin: Oh,

Speaker 2: yeah, for sure.

Speaker 2: Right.

Speaker 2: I think that's fair.

Speaker 2: Preact is highest in appreciation and

Kevin: Svelte is

Speaker 2: lowest.

Kevin: Interesting.

Speaker 2: And it has been.

Speaker 2: What does that mean?

Speaker 2: Appreciation.

Speaker 2: Gap between interest and satisfaction.

Kevin: So the satisfaction must be loaded? Am I... Is that...

Kevin: I don't know.

Kevin: That seems weird.

Speaker 2: I don't know how to read this. It just says it's the gap between interest and the satisfaction in percentage points. Anyways, someone else who is smarter than us, please

Speaker 3: tell us how to read this.

Speaker 2: This is Baby's first charts.

Kevin: That sounds weird

Speaker 2: though, that it would be lowest.

Speaker 3: Because

Speaker 2: then you go to positivity and then Svelte is highest, which is the proportion of positive sentiment among all respondents.

Speaker 2: So I think there's just something that I just don't fully understand about people.

Speaker 2: But, I mean, Svelte is still going strong.

Speaker 2: And people love it.

Speaker 2: People love it slightly less than they did last year, but it's within one percentage point.

Kevin: I think that's a good, like when you look at it on all frameworks, because most of them are going down, as we mentioned, it's a good result compared relatively at least.

Speaker 2: Right.

Speaker 2: So then there's also, so that was Svelte, and then there's the meta frameworks, which is where Next.js and SvelteKit is and all the others essentially.

Speaker 2: And there's one thing that's very interesting here.

Speaker 2: So when you look at the usage of the meta frameworks, I'm just going to go back to the usage of...

Speaker 2: Although that stacks out.

Speaker 2: Essentially, Next.js is in a league of its own.

Speaker 3: Next.js

Speaker 2: has 59% usage, and the next one is Astro at 27.

Speaker 2: Astro is growing really fast compared to all the others.

Kevin: Yeah.

Kevin: I think it's because you can use it with any framework, right?

Kevin: You can mix and

Speaker 2: match.

Kevin: That's the

Speaker 2: strength of it.

Speaker 2: Which makes perfect sense, right?

Speaker 2: Basically,

Kevin: their user base is anyone that uses React Svelte view,

Speaker 2: right?

Kevin: And I'm sure there are other frameworks that you can use

Speaker 2: with Astros right now.

Speaker 2: Yeah, React and something more.

Speaker 2: So

Kevin: you would expect them to

Speaker 2: be pretty big.

Speaker 2: Of

Kevin: course.

Kevin: Yeah.

Kevin: Meanwhile,

Speaker 2: Next.js

Kevin: only React works, right?

Speaker 2: Yeah, that is true.

Speaker 2: It's interesting that Next.js was on a downturn in 2024, and then it got an upticket again in 2025.

Speaker 2: Yeah.

Speaker 2: Somehow they turned that around.

Kevin: I think if you go to satisfaction though, like you're gonna find

Speaker 3: the-- - Yeah,

Kevin: let's do a satisfaction.

Kevin: Astro,

Speaker 2: number one.

Speaker 2: That's impressive.

Speaker 2: SvelteKit, number two.

Speaker 2: And then we have-- - Solid

Speaker 3: start, I

Speaker 2: think. - Solid start, Nuxt, analog, oh analog is,

Kevin: that's Angular.

Kevin: What is analog?

Speaker 3: That analog is Angular,

Speaker 2: but with Vite.

Speaker 2: So is

Kevin: this amazing,

Speaker 2: brilliant guy, I believe he's called, I want to say Brandon, but maybe I'm wrong.

Speaker 2: And he was like, I love Angular, but I hate the toolchain.

Speaker 2: Can I just do a V plugin instead?

Speaker 2: And so he just built a V plugin.

Speaker 2: And now it's this whole thing with, if you want to do Angular, but you love V and V test and Storybook with V and all that, then analog is your jam.

Speaker 2: And I think that's pretty

Speaker 3: impressive.

Speaker 2: Anyway, he got into it at number five.

Speaker 2: Dino Fresh, Tonsaurus Remix.

Speaker 2: And then

Kevin: next just beats out Gatsby.

Kevin: That's not a good thing.

Kevin: Imagine

Speaker 3: if they got banned

Speaker 2: by Gatsby.

Speaker 2: I mean,

Kevin: it hasn't been in

Speaker 2: development for years as far as I know.

Speaker 2: I might

Speaker 3: be wrong,

Speaker 2: but I don't think it's.

Speaker 2: No, no, you're right.

Kevin: I think you're right.

Kevin: I think you're right.

Kevin: No, that's

Speaker 2: cool.

Kevin: It's interesting though.

Kevin: Gatsby did do things a bit differently compared to other frameworks.

Kevin: I think the whole GraphQL thing was

Speaker 2: very different

Kevin: compared to...

Speaker 2: I feel like Astro has sort of picked up the good parts of what Gatsby did differently.

Speaker 2: I don't think GraphQL was the right choice because it was just very complicated for even the basic stuff.

Speaker 2: So I think Astro has hit the right balance of you having flexible data sources and also it just being simple to write.

Speaker 2: I've heard that some people run into performance issues.

Speaker 2: If they have a lot of content, then it just takes hours to build.

Speaker 2: But maybe that's just...

Kevin: Do you know if Astro is still build-only?

Kevin: What's it called?

Kevin: Server-side?

Kevin: Server-side only? Or like pre-render only, I guess is what I'm saying.

Kevin: Or is it dynamic? Can you do dynamic server and server-side dense points?

Speaker 2: No. So Astro components can only be rendered on the server.

Speaker 2: And so if you need something on the client, then you will reach for one of the other frameworks.

Speaker 2: Yep. Yep. Gotcha.

Speaker 2: And the reason I know that, so I'm going to take on my Storybook hat now.

Speaker 2: Because I'm a Storybook core maintainer.

Speaker 2: And by far the biggest request we have for Storybook, and it's been the biggest request for years has been Astro support, which I get because Astro is pretty good.

Speaker 2: The problem is that Astro is server side rendered only and Storybook being

Speaker 3: seven years old

Speaker 2: is an SPA.

Speaker 2: Storybook renders on the client only.

Speaker 2: And so how do you do that?

Speaker 2: Well, you

Speaker 3: don't.

Speaker 3: iFrames, obviously.

Speaker 2: It requires either the Astro team or the Storybook team figuring out how to completely redo their architecture.

Speaker 2: So that's still a sore eye for me.

Speaker 2: Anyways, back to the Svelte podcast.

Kevin: Yeah, how's the interest?

Kevin: I'm sorry, you were going to say something about Svelte.

Kevin: No, Svelte

Speaker 2: just keeps being high on satisfaction, of course,

Kevin: which

is amazing.

Speaker 2: the Svelte team is just doing amazing work, as we talked about last time, with the new remote functions.

Speaker 2: And it's going to be really interesting to see how Svelte Kit 3 just...

Kevin: I think it's going to be amazing.

Kevin: Yeah.

Kevin: Remote functions are...

Kevin: I

Speaker 2: also really think that.

Kevin: Yeah, yeah, yeah.

Kevin: We have to think it, but I really think it.

Kevin: Yeah, yeah.

Kevin: Definitely.

Kevin: Remote functions is such a game changer in terms of developer experience.

Kevin: Compared to the load functions on the form actions that we had before.

Kevin: Ah, amazing. - Yeah, yeah.

Speaker 2: I want to correct myself.

Speaker 2: We don't have to think anything.

Speaker 2: We're not getting paid by anyone.

Speaker 2: We can think what we

Kevin: want.

Speaker 2: Just so no one-

Kevin: Wait, you're getting

Speaker 3: paid?

Speaker 2: No, that's

Kevin: a meme, right?

Speaker 2: You are really old.

Speaker 2: Interest is going down for SvelteKit, as it has been for years.

Speaker 2: I, as we've talked about, I think that's just the function of it not being as new anymore.

Kevin: Yeah.

Kevin: And

Speaker 3: to be fair,

Kevin: all of them are going down, right?

Speaker 2: Yeah, except for Astro is floating.

Speaker 2: Right, if you look two years back, yeah.

Speaker 2: Other than that, everyone else is going down.

Kevin: Yeah, not a bright future for meta frameworks, it seems like.

Kevin: Nah.

Kevin: I'm kidding.

Speaker 2: I mean, someone, I like, the alternative here is someone building, like, you're using your own meta framework, right?

Speaker 2: You have to have some sort of meta framework, whether or not it's something that is being maintained, or is it something that you build on your own, right?

Speaker 2: so or you just go pure

Kevin: server side oh yeah for sure no client

Speaker 2: no client like no even like we don't even send anything to the client

Kevin: anything happens

Speaker 2: on the server and like when when they open the website there's just blank there's nothing

Kevin: on the client yeah just an input text where you put in your prompt and you get what you want out of the prompt imagine like the kilobytes you would save from that right imagine the tokens you would spend though from generating all that Sorry, I'm not going to go into an LLM rant.

Kevin: Can we do another

Speaker 2: LLM only episode?

Kevin: No, we can't.

Kevin: No, we can't.

Kevin: We can't.

Kevin: We have to stick

Speaker 2: to Svelte.

Speaker 2: Oh, we do.

Speaker 2: So, like there's 10 different ways to view all of this data.

Speaker 2: And we're not going to go all the same data again.

Speaker 2: But there's this huge chart that they call changes over time, where we can see everything at once.

Speaker 2: And let me find Svelte in this big mess.

Speaker 2: I found it.

Speaker 2: So it's being used more and more.

Speaker 2: And compared to last time, slightly more negative opinion.

Speaker 2: But not that much.

Speaker 2: I think that's one thing.

Speaker 2: If you as a listener go in and look at these charts over time, it's important to remember that last year they made a change in the survey, which if you were one of these library maintainers, it hurt you a lot.

Speaker 2: But the way that you would answer these surveys, they now added some sort of like, instead of just answering I have used it or I have not used it, you would now also be forced to put in your sentiment and that made everything just more negative.

Kevin: That's interesting.

Kevin: Even when you put, I haven't used it?

Kevin: Yes, because then it asks,

Speaker 2: I would like to, or I would not like

Kevin: to use it.

Kevin: Oh, I see, I see.

Kevin: Okay, that makes sense.

Speaker 2: So there's just something to keep in mind when you read this, that between 2023 and 2024, the survey basically changed a bit.

Speaker 2: So that is why the data is a bit off.

Speaker 2: Yeah,

Kevin: they should probably just get rid of the old data if that changes things that much.

Speaker 2: Yeah, I mean, now it is

Kevin: changed.

Kevin: We'll have a toggle.

Kevin: Yeah,

Speaker 2: I don't know.

Speaker 2: Maybe there's just something going forward.

Speaker 2: That's just how it is from now on.

Speaker 2: Anyways, what else is interesting here?

Speaker 2: There's a tier list now.

Speaker 2: Seems like a

Kevin: popular tier.

Kevin: VTest is S

Speaker 2: tier.

Speaker 2: What? Really?

Speaker 2: Hono. Wow.

Speaker 2: I actually didn't know that that many people were using both Hono and Playwright as an S tier.

Speaker 2: Isn't-- Yeah.

Speaker 2: Is

Kevin: Hono-- It's

Speaker 3: like the-

Speaker 2: Is that the thing that powers something else?

Speaker 2: Or is that Nitro that I'm thinking of?

Kevin: I don't think Hano powers something.

Kevin: Well, I mean, probably powers something, but it's like an Express competitor, if you

Speaker 3: will.

Speaker 2: And then we have Bun.

Speaker 2: It's going to be interesting to see what happens to Bun, now that Anthropic

Speaker 3: acquired

Speaker 2: Bun.

Speaker 2: I mean, they're still working on it, of course.

Speaker 2: Yeah.

Kevin: So only

Speaker 2: Astro is on S tier.

Speaker 2: True.

Speaker 2: for

Kevin: frameworks. For the frameworks,

Speaker 2: yeah.

Speaker 2: SvelteKit is 8-tier as the next framework in line.

Kevin: And then Nuxt is

Speaker 2: also 8-tier.

Speaker 2: Nuxt is also brilliant.

Speaker 2: I haven't actually used Nuxt.

Kevin: No.

Speaker 2: I've heard, I've talked with people that use it, and they say it's amazing, and I have seen what it can do, but I also, I dived into a Nuxt code base yesterday, and I did not know where to step.

Speaker 2: there was an interesting pattern, which I didn't like.

Speaker 2: But then I also realized that Svelte has sort of a similar pattern.

Speaker 2: There was something about implicit imports.

Speaker 2: Because I was looking at this Noct code base, right?

Speaker 2: And there was this function that was called, it was a hook in a page.

Speaker 2: It was called usePackageW or whatever.

Speaker 3: Oh, right.

Speaker 2: You can do anything in Vue, right?

Speaker 2: I guess.

Speaker 2: And so because it was just using GitHub, GitHub has this, like, go to sources or whatever.

Speaker 2: And so I clicked on that and it didn't show anything.

Speaker 2: And the use package function wasn't even being imported in there.

Speaker 2: I was like, okay, what?

Speaker 3: What is this?

Speaker 3: Oh, yeah.

Speaker 2: And so I had to ask around and I realized it's when it's being defined in some other module called compose something something, then it's just available everywhere, which is nice, but it's also sort of confusing for me to

Kevin: understand.

Speaker 2: But then I realized, well, Svelte runes is the exact same thing.

Speaker 2: You don't import a rune.

Kevin: Yeah, I mean, it's kind of similar, but then it's like a core mechanic of the framework that you have to learn.

Speaker 2: Yeah, that's the difference, right? Because usePackage was like a custom thing.

Kevin: But

Speaker 2: it is similar, for sure.

Kevin: But to be fair, I

Speaker 2: would also expect, like, if I opened the repository in VS Code and I clicked usePackage, that the Vue or Noxt extension, it would know exactly where to get me.

Speaker 3: Right.

Speaker 3: I'm sure it was just

Speaker 2: because I was in GitHub.

Speaker 3: Yeah.

Speaker 2: So, but it was just, I'm not a fan of magic stuff.

Speaker 2: I like magical stuff.

Speaker 3: Yeah.

Speaker 2: Yeah.

Speaker 2: But anyways, everything to each their own, I guess.

Kevin: Yeah.

Kevin: It's good that there are like all these different options.

Speaker 2: Yeah, for sure.

Speaker 2: Use.

Kevin: I should definitely try it at some point though.

Speaker 2: Yeah.

Speaker 2: Just at least to learn it.

Kevin: Yeah.

Kevin: All right.

Kevin: Are there other frameworks that are not on the lists that are popular?

Kevin: I feel like I've been hearing TanStack start a lot, but I'm not saying...

Kevin: TanStack start is

Speaker 2: actually getting a lot of usage, but it's not...

Speaker 2: So it was relatively new when this survey came out.

Speaker 2: Gotcha.

Speaker 2: So it's not part of the questionnaire.

Speaker 2: It's one of those write-ins.

Speaker 2: I found meta frameworks.

Speaker 2: And then if you go to other, 10 stack start is by far the biggest other.

Speaker 3: Yeah.

Speaker 3: So it's definitely one of those things that

Speaker 2: 10 stack router is, I'm assuming that if you don't use the metaframe, you just use the, well, maybe it's the same.

Speaker 2: Maybe it's just people

Speaker 3: being confused

Speaker 2: about what to write.

Kevin: Again, I'm

Speaker 2: exposing my ignorance here.

Kevin: Yeah, same.

Kevin: I don't know.

Kevin: I've not used 10 stack start.

Kevin: I assume it's like a bit like Astro in that you can use any framework.

Kevin: Is that right?

Kevin: No, no,

Speaker 2: no, no.

Speaker 2: No, 10 stack start is React.

Kevin: Is it?

Kevin: Is it 10 stack router that you can use?

Kevin: And 10 stack router is for React and solid.

Kevin: Right.

Kevin: So you can

Speaker 2: use it for

Kevin: those.

Kevin: Maybe 10

Speaker 2: stack start as well is, but it's not like this.

Speaker 2: I don't believe it's something similar to Astro where you can do multiple stuff at once.

Kevin: Yeah.

Kevin: Yeah, I'm, I don't know.

Speaker 2: But I think, anyway, it's great to have an alternative to Next.js coming from Tanstack.

Speaker 2: And I'm really looking forward to see what they do this year.

Speaker 2: Their growth is pretty wild already.

Kevin: Yeah, Tanstack feels like they, from the outside looking in, it feels like they pull you in with all these libraries that you need for complex things,

Speaker 3: like Tanstack Table,

Kevin: Tanstack,

Speaker 3: now I can name

Kevin: them all.

Kevin: But then you kind of get into the ecosystem, and

Speaker 3: then

Kevin: they maybe released TanStack Router and TanStack Start, which is like, oh, you can just slot in these other packages of ours, and they'll just work perfectly with it.

Speaker 2: I think they made a very big splash when Tanner, he wrote that you could do route configuration, but type save.

Speaker 2: So it would yell at you if you didn't get the params right.

Speaker 2: subpath and whatever. I think that was pretty impressive.

Speaker 2: I haven't seen that in many other places, especially not in Next.js and also not in SvelteKit, I believe.

Speaker 2: Maybe

Kevin: I'm wrong. No, there is type-safe routing

Speaker 2: in

Kevin: SvelteKit.

Speaker 2: You

Kevin: have to import a function now called Resolve.

Kevin: Oh, right.

Kevin: You have to do some work, but it works.

Speaker 2: Okay, other tools. I don't have anything else to say about Svelte and frameworks.

Speaker 2: I think we have I've talked more than enough about that, unless you have anything smart to say.

Kevin: No, no.

Speaker 2: Salt is the most used library in these, like it's just a long list of any JavaScript library.

Kevin: Oh wow, it's even bigger than Lodash.

Speaker 2: Yeah, it grew.

Speaker 2: Two places this year to go over Lodash and date functions.

Speaker 2: That's pretty wild.

Speaker 2: So when I see this, I think this is great.

Speaker 2: SART is great.

Speaker 2: But also, people are sleeping on Valley Bot.

Speaker 3: Valley Bot is

Speaker 2: also very amazing.

Speaker 2: Paolo introduced me to Valley Bot via his TMCP library.

Speaker 2: And

Kevin: to

Speaker 2: me, it's almost the same.

Speaker 2: The API is slightly different, except that it's tiny.

Speaker 2: It's a tiny thing.

Speaker 2: It's tree shakable.

Speaker 2: I really love shaving off kilobytes.

Speaker 2: And so I don't see why anyone would pick SOT over Valibot today.

Speaker 2: Okay, that's a bit of an overstatement, but Valibot just seems like the same thing, but smaller.

Speaker 2: So

Kevin: that's what I will always go for.

Kevin: There's some differences in the API, but they're not big, right?

Speaker 3: And they both...

Kevin: Sorry, go ahead.

Speaker 2: No, no, no, go ahead.

Speaker 2: I was just going

Kevin: to say they both support standard schema, right?

Kevin: That's

Speaker 2: the biggest thing.

Speaker 2: Can we talk about how amazing it is that all of these validation libraries, they've just put their heads together like, oh, maybe we should do something that we're all compatible with and maybe that's called Standard Schema.

Speaker 2: I

Kevin: love that.

Kevin: I love that.

Kevin: Am I misremembering it or is the creator of Standard Schema also the guy that created Valibot?

Speaker 2: They were multiple.

Kevin: Multiple people, okay.

Speaker 2: So I think they literally got together to work on it.

Speaker 2: the sort, Colin Hacks, and then ValidButton and then someone else.

Speaker 2: Yeah, that makes sense.

Speaker 2: So, yeah, I'm going to do a lot more of that at my work very soon.

Speaker 2: So,

Kevin: yeah, it's going to be fun.

Kevin: Yeah, I mean, I use validation for everything, right?

Kevin: Right.

Kevin: It's great.

Kevin: And now with remote functions, you use validation library.

Kevin: Like, you have to use a validation library.

Speaker 2: So, it's great.

Speaker 2: OK, next on the list of libraries people use is Lodash.

Speaker 2: And my feelings are that Lodash has not changed in 10 years or something.

Kevin: Maybe that's its strength, though.

Speaker 2: That's very impressive that

Speaker 3: it has

Speaker 2: kept being relevant.

Speaker 2: But also, we have ES Toolkit readily available.

Speaker 2: It's on place 17 here.

Speaker 2: But it's just like, I feel like it's a modern take on Lodash.

Speaker 2: It's ESM only.

Kevin: Did that come from the E18?

Speaker 2: No.

Speaker 2: No, it's before that, actually.

Speaker 2: There's also Randa.

Speaker 2: There's a bunch of these Lodash alternatives that I think are better today.

Speaker 2: But, I mean, I get your muscle memory is Lodash.

Speaker 2: You have these functions all over the place, so just keep using it.

Speaker 2: Fair.

Speaker 2: And then also,

Kevin: to be fair to Lodash, it's probably used way more often than Zod.

Kevin: Like if you look at the actual download numbers.

Kevin: Oh, yeah.

Speaker 3: It's uncomparable.

Speaker 3: Oh, yeah, for sure.

Speaker 3: Yeah.

Speaker 2: Same with a

Kevin: lot of other of these libraries like date functions,

Speaker 2: moments,

Kevin: RxJS, etc.

Speaker 2: So one thing that's interesting here is that number three, four, and five on the list is all about dates and times.

Speaker 2: Yeah.

Speaker 2: And it's going to be interesting to see if this changes now that we are very close to having temporal

Speaker 3: directly

Speaker 2: in JavaScript, which is, I guess, was supposed to be the replacement for all of these.

Kevin: I think you can use it already in Chrome, right?

Speaker 2: And also Firefox.

Speaker 2: I think maybe Safari.

Speaker 2: Yeah, you're right.

Kevin: It's under a flag in Safari technical preview, so it's going to be out.

Speaker 2: Yeah, okay.

Kevin: That's good.

Speaker 2: It also depends on, like, I think, at least at my work, we're lagging behind because we need to support older browsers.

Speaker 2: Yeah, of course.

Kevin: Like, you can't start using Temporal just because the newest

Speaker 2: version of which browser is using them, right?

Speaker 2: Yeah, exactly.

Speaker 2: Unless you

Kevin: polyfill or something, but.

Speaker 2: Yeah.

Speaker 2: All right.

Speaker 2: We have jQuery, still relevant.

Kevin: They released a new version, right?

Kevin: They did.

Kevin: I don't even know what the

Speaker 2: new thing is.

Speaker 2: Do you know?

Kevin: No clue.

Kevin: Internet Explorer 11 support removed.

Speaker 2: Talk about

Kevin: supporting old

Speaker 2: browsers.

Speaker 2: That's not okay.

Speaker 2: That's not okay.

Speaker 2: What do I do now?

Kevin: Yeah.

Kevin: Now all the old websites are breaking for Internet Explorer users.

Kevin: They migrated to ES modules.

Kevin: That's good.

Speaker 2: Great.

Speaker 2: Maybe that's it.

Kevin: Yeah, they deprecated some old functions.

Kevin: Okay.

Kevin: Yeah.

Kevin: Slimmer build.

Speaker 2: Amazing.

Kevin: Yeah.

Kevin: I love that.

Kevin: Oh, effect is on here.

Speaker 2: Effect is on there.

Speaker 2: So is archetype, which is not the same, but I feel like it's sort of the same group of people that will use them.

Kevin: Yeah.

Kevin: Archetype is interesting.

Kevin: They did that, what's it called?

Kevin: Arc regex, where you could do typesafe regex.

Kevin: It's very cool.

Kevin: It's

Speaker 2: a very, very cool library.

Speaker 2: And all the types, it's just, you write in your typescript types as a string, and that is a runtime validation, but then you also get the exact type safety.

Speaker 3: Yeah.

Speaker 2: I

Speaker 3: don't know how they

Speaker 2: did that.

Speaker 2: It's so magical, but it's also, I feel like whenever I look at it, I'm like, oh, that looks very horrible.

Speaker 2: Please can I not have that?

Speaker 2: But also it's very incredible at the same time.

Kevin: Yeah, I mean, regex is horrible.

Kevin: True,

Speaker 2: well, that is true.

Kevin: Yeah.

Kevin: even if you, yeah, I don't know.

Speaker 2: I did spend some weeks when I was younger, just like I learned Regex.

Speaker 2: I really like, I took courses and stuff.

Speaker 3: Oh, really?

Speaker 2: And it was great.

Speaker 2: I mean, I was really happy for that decision.

Speaker 2: I mean, that really helped me out.

Speaker 2: Like that was a great investment, but also now I don't really write them anymore because the AI writes them for me.

Speaker 2: And that's something that it's really good at and that I'm actually really bad at.

Speaker 2: So

Kevin: it's just something that's I mean, Regex is great.

Kevin: Like you can do almost anything I was

Speaker 2: going to say,

Kevin: but like you can do a lot.

Speaker 2: You can brew coffee and like anything

Kevin: essentially.

Kevin: Yeah, yeah, of course.

Kevin: At least in ASCII.

Speaker 2: Okay, moving on.

Kevin: There's

Speaker 2: something about graphics and animations and it's the thing that I have never dipped my toes into.

Speaker 2: So I have no clue here.

Kevin: I love motion.

Kevin: Did you see, speaking of motion, did you see Svelte Motion or Motion Svelte?

Kevin: I

Speaker 2: saw it. I just went through the Svelte Society website and I saw Svelte Motion in there.

Speaker 2: I even have it like as a tab open.

Speaker 2: Oh, nice.

Speaker 2: Nice.

Speaker 2: It's not by the official, it's not an official port, is it?

Speaker 2: No. No, I don't think

Kevin: so.

Kevin: No, but it's very impressive anyway.

Speaker 2: It's apparently

Kevin: based on motion for view. Or sorry,

Speaker 3: the documentation.

Speaker 3: I see.

Speaker 2: The documentation is

Kevin: based on that. Okay.

Speaker 2: Okay. I see.

Kevin: Yeah, I might play around with

Speaker 2: this. Like animation are fun. The guy behind Motion is just a great guy. So I'm happy that he keeps building out these very impressive animations libraries, even though

Kevin: at Ocean. Yeah. What else is there? 3.js, D3, the usual suspects,

Speaker 2: GSAP.

Kevin: Yeah. Utilities. ESLint is

Speaker 2: top. ESLint is great. There was that one point where we thought that ESLint would become irrelevant because of TSLint and

Speaker 3: everyone writes

Speaker 2: TS.

Speaker 2: But then they merged or the TSLint team said, no more.

Speaker 2: We're going to do an ESLint plugin instead.

Speaker 2: And that was great.

Speaker 2: Like people putting their

Kevin: heads together.

Kevin: Good decision.

Speaker 2: Yeah, yeah, yeah.

Kevin: But now we're getting new ones as well,

Speaker 2: right?

Speaker 2: We're getting Biome and

Kevin: AuxLint as well.

Kevin: I've

Speaker 2: been using AuxLint and AuxFormat on my new project.

Kevin: And holy

Speaker 2: wow.

Speaker 2: Yeah.

Kevin: Yeah,

Speaker 2: I actually started

Kevin: using it yesterday in my, like, so I have this like reference project that I'm using when I'm building other things.

Speaker 3: And so I just

Kevin: install it there to like see how fast it was.

Kevin: And I think it was like a hundred times faster.

Speaker 2: Like it's crazy fast.

Speaker 2: Yeah, yeah, yeah.

Speaker 2: It's way fast.

Speaker 2: So that's

Kevin: awesome.

Kevin: Like getting that feedback way quicker

Speaker 2: is great.

Speaker 2: So for this project that I'm working on, The repo is not that big.

Speaker 2: So I think Prettier was like four seconds.

Speaker 2: And it's fine.

Speaker 2: It's like going to aux format was like 200 milliseconds,

Speaker 3: which is, of

Speaker 2: course, amazing, right?

Speaker 2: But those four seconds of speed up is not going to change my world.

Speaker 2: It just felt nice.

Kevin: Right.

Kevin: Well, I don't know if I agree.

Kevin: So 10 seconds to four seconds, that would not change my world.

Kevin: But by four seconds to 200 milliseconds, definitely, because then you can just have it on all the time.

Kevin: Like, you can just run it indiscriminately and you wouldn't really worry about it.

Kevin: I

Speaker 3: mean...

Speaker 3: Oh, so like watch mode?

Kevin: Yeah.

Kevin: Yeah, well, watch mode is going to be fast because you're just changing one file, right?

Kevin: Right, right.

Kevin: Hopefully that should work.

Kevin: But maybe it's not so much about, like, linting, but I feel that, like, you have these, like, tools where these categories of speed, right, where you have one tool that takes 10 minutes to run

Speaker 3: and it

Kevin: doesn't change much if you speed it up from 10 minutes to four minutes right because you're still going to go and get a coffee between the what you're doing and whatever you're running yeah

Speaker 3: um

Kevin: but but if you can get it down to like seconds then

Speaker 2: yeah i mean you kind of

Kevin: stay stay in the in the groove and you can just keep working in in another yeah

Speaker 2: there's this this magical threshold and i'm sure it's different for all of us like when when you know that something takes a certain amount of time, you do something else.

Speaker 2: If it's more than 10 seconds for me, I will be going on Blue Sky and not staring at it.

Speaker 2: But if I know it's eight seconds, I'll just be staring at it.

Speaker 2: And I should not be going on Blue Sky all the time.

Kevin: It's nice, though.

Speaker 2: It's great.

Speaker 2: It's very blue.

Speaker 2: I love that.

Speaker 2: No, but so what I wanted to say was that in the Storybook Mono repo, which is a huge repository, with lots of packages.

Speaker 2: ESLint takes, I think, two minutes on my machine.

Speaker 2: Whoa, that's a long time.

Speaker 2: It's horrible.

Speaker 2: It's a horrible, horrible situation.

Kevin: And then it's probably even, it's probably less than what it was two versions ago, right?

Kevin: Sure, yeah, yeah.

Kevin: Or was it three versions ago?

Kevin: Yeah, they improved their speed already.

Speaker 2: Oh yeah, two versions of Storybook, you mean?

Kevin: Yeah, yeah.

Speaker 2: Yeah, yeah, for sure.

Speaker 2: And so I really hope that someone is trying to migrate that to Oxlint.

Speaker 2: And just, I want to see that go to five seconds or something.

Kevin: That'd be nice, right?

Speaker 2: That would be amazing.

Kevin: You can use JavaScript, or sorry, ESLint JavaScript plugins in Oxlint.

Kevin: So theoretically, it should be possible.

Kevin: I don't know what the status is of it.

Kevin: So maybe there are bugs and stuff.

Kevin: I'm sure there are.

Kevin: But it's like it has a way forward.

Kevin: Because Oxlint is Rust, I think, right?

Kevin: And you're not going to have people write ESLint plugins in Rust, probably.

Kevin: So it's good that you can still write JavaScript plugins.

Kevin: Although, with LLMs, maybe writing ESLint plugins in Rust, just like converting the JavaScript version, isn't that bad?

Speaker 2: I think it depends on who you are, right?

Speaker 2: Because if I did that, I would have no way to quality.

Speaker 2: I would not be able to read the code.

Speaker 2: Because I

Kevin: don't write Rust,

Speaker 2: right?

Speaker 2: I'm sure there could be tests, but still.

Kevin: I mean, I'm sure there are tests, right?

Kevin: For the ESLint spell plugin.

Kevin: There should be.

Kevin: So you should be able to just convert the tests and then have it.

Kevin: I need to try this.

Kevin: You should.

Speaker 2: Can you write it in like assembly instead?

Speaker 2: Just to make it super, super fast.

Speaker 2: I mean, why not?

Speaker 2: Just make it binary.

Speaker 2: Because you can't.

Speaker 2: I don't think you can.

Speaker 2: No, I don't think I can either.

Speaker 2: It would be a fun challenge, though.

Speaker 2: No, not fun, per se.

Speaker 2: But it would be

Kevin: a challenge.

Kevin: be torture yeah um

Speaker 2: anyways there's there's one there's one i see in the utilities there's one thing i want to call out here it's a

Speaker 3: hidden gem

Speaker 2: it's number 16 it's called n i or or knee or nye or however

Speaker 3: you know n i have

Speaker 2: you heard of that i have not heard about that it's amazing it's a package by Anthony Fu. It's essentially just running one CLI to handle any package manager.

Speaker 2: So it detects which package manager is being used in this repository and then it runs that command.

Speaker 3: So instead of you having to figure

Speaker 2: out is it yarn install, is it npm install, is it whatever, you just run ni and then that does it. It's short.

Kevin: I am putting this on my list to use.

Speaker 2: And for running scripts, it's nr.

Speaker 2: Like it's the same package, but it's another command.

Speaker 2: So nr and then just the script name.

Speaker 2: And then it just figures.

Speaker 2: And so if there's no log files, there's no indicator whatsoever about the package manager, it will ask you.

Speaker 2: But

Speaker 3: other than that,

Speaker 2: that is what I use.

Speaker 2: And I'm very close to also that's what I'm documenting.

Speaker 2: Like if I'm writing and getting started,

Speaker 3: I

Speaker 2: might potentially just write n i because it's so good.

Speaker 2: That sounds really useful.

Speaker 2: Yeah. But the only issue I have with it is that whenever I change node versions because of like different repositories, I have to install it again. Like it's a global install. And apparently these global installs are like per node version. That's

Kevin: just so

Speaker 2: stupid. I hate that.

Kevin: Yeah, I'm in some situations. It's not the same, but it's similar where like I'm using better SQLite 3

Speaker 3: and PNPM

Kevin: and some node version. And for some reason, I have to rebuild Better SQLite 3 every time I make a fork, or sorry, like make a branch of the project.

Kevin: It's very odd.

Kevin: It's very irritating.

Kevin: I don't know

Speaker 3: why,

Kevin: but also something to do with Node versions because it always complains like, oh, this was built for this Node version.

Kevin: You're using this other

Speaker 2: one.

Speaker 2: You have to

Kevin: rebuild it.

Kevin: Yeah, yeah, yeah, yeah.

Kevin: Exactly.

Kevin: It is what it is.

Speaker 2: Kev, I have to go in five minutes.

Kevin: Oh, no.

Kevin: I should have told you from the

Speaker 2: beginning.

Speaker 2: Do you want to do

Kevin: picks?

Speaker 2: Yes.

Kevin: I have one pick.

Kevin: We did Unpopular Opinions last time.

Kevin: True, true,

Speaker 2: true, true.

Speaker 2: Let's do picks.

Speaker 2: Do you want to do that first?

Speaker 2: Do you have anything?

Kevin: I think the new Game of Thrones TV show is good.

Kevin: I

Speaker 2: think the previous episode of Svelte Radio is all just one big unpopular opinion.

Speaker 2: No.

Kevin: Just my unpopular opinion for the whole episode.

Speaker 2: Yes.

Speaker 2: Sorry, I cut you off.

Speaker 2: Game of Thrones, new series.

Kevin: Is it good?

Kevin: Yeah, yeah.

Kevin: And it's called A Night of the Seven Kingdoms.

Kevin: It's a bit more comedic than the original show.

Kevin: The actors are good.

Speaker 2: I would expect that

Kevin: people hate

Speaker 2: it just because it's different actors.

Speaker 2: Like, it's just different faces on the same characters, or not?

Kevin: No, no, but it's like 90 years before the

Speaker 2: start of the Game

Kevin: of Thrones show.

Kevin: Oh, I see.

Kevin: So it's not

Speaker 2: a reboot.

Kevin: Yeah.

Kevin: Okay.

Kevin: Reboot.

Kevin: Reboot.

Kevin: Reboot.

Kevin: We

Speaker 2: should call it that.

Speaker 3: Yeah.

Speaker 2: OK.

Speaker 2: So

Speaker 3: the Game of Thrones Reboot

Speaker 2: is-- my pick is if you have been keeping up with Blue Sky and you are also in the JavaScript ecosystem, your timeline will have been flooded with

Kevin: NPMX.

Kevin: Let me guess.

Kevin: Yeah.

Kevin: I was going to

Speaker 2: do this.

Speaker 2: But that's good because it's amazing.

Speaker 2: It's incredible what these people have done in so little

Kevin: time.

Kevin: In like a week?

Speaker 2: Yeah.

Speaker 2: One or two weeks.

Speaker 2: So npmx.dev is an attempt of an internative registry site for npm.

Speaker 2: So it's the same registry.

Speaker 2: It's still using the npm registry behind the scenes or under the hood.

Speaker 2: But the site is just improved.

Speaker 2: So it now includes vulnerability alerts for each package.

Speaker 2: It includes the package size or the dependency graph.

Speaker 2: There's so much more stuff that they're adding that NPM should have added five years ago,

Kevin: but that

Speaker 2: has been stale.

Kevin: Does it also show you, like, I seem to have some vague memory of someone mentioning

Speaker 3: that they

Kevin: would kind of tie it into the E18 end thing where you could,

Speaker 3: if you search

Kevin: for Lodash, you would get an alternative that is...

Speaker 3: I

Speaker 2: think so.

Speaker 2: That's a good idea, at least.

Speaker 2: I

Speaker 3: can't remember.

Speaker 2: but it's just it's very impressive what they're doing and by the time this episode comes out they'll have done so much more so I even right now from yesterday I can see that they fixed the bug that I didn't even report they just fixed it so so wild one thing that I do want to talk talk about this though is that if you are thinking of trying to get into open source and contributing, go to these people because it's a very friendly community and they're very active.

Speaker 2: They are very helpful and they want you to succeed.

Speaker 2: I can see that when I look at the Discord server.

Speaker 2: So it's a great place to start.

Speaker 2: The worst thing you can do is go in and then do AI slot PRs.

Speaker 2: Do not do that.

Speaker 2: Yes.

Speaker 2: That is not how you claim your open source fame.

Speaker 2: And they will, of course, not like that.

Speaker 2: So please do real contributions.

Speaker 2: and i think this is the great place to do that

Kevin: there's so many opportunities here with that said like of course use use lms if if that improves the

Speaker 2: code i don't care about what tool you're using but it's very clear if you're using your tool wrong yeah

Kevin: that's what i'm saying yeah and it's becoming a bigger issue as well yeah in in the open source community in general yeah

Speaker 2: yeah yeah for for everyone involved um i i have closed a few prs today that was just not impressive

Speaker 3: Yeah.

Speaker 3: Anyways.

Speaker 3: All right.

Speaker 3: Thank you for chatting.

Kevin: Yeah, it was great.

Kevin: It was great.

Kevin: Thank you all for listening.

Kevin: We will be back next week again with-- maybe we'll have a guest.

Kevin: Who knows?

Speaker 2: We will see.

Speaker 2: Yeah.

Speaker 2: Right.

Speaker 2: Maybe Brittany will be a guest from calling in from the sunny side.

Speaker 2: That

Kevin: would be so fun.

Kevin: I would

Speaker 2: like that.

Speaker 2: Yeah.

Kevin: Right.

Kevin: All right.

Kevin: Thank you, Jep.

Kevin: I will talk to you on Discord, and I will see you next week.

Kevin: See you.

Kevin: All right.

Kevin: Bye bye.

Creators and Guests

Jeppe Reinhold πŸ‡©πŸ‡°
Host
Jeppe Reinhold πŸ‡©πŸ‡°
Open Sourcerer at @chromatic.com working on @storybook.js.org πŸ“šWrite stories. Not too many. Mostly Svelte ones.πŸ™‹β€β™‚οΈβ˜€οΈβš“πŸŒ±πŸ™‹β€β™€οΈAchievements:πŸ†πŸ₯‡πŸ₯‡πŸ₯‡πŸ₯‡
Kevin A. K.
Host
Kevin A. K.
Co-founder of Svelte Society 🌎 Organizer of Svelte Summit πŸ” Host of Svelte Radio πŸ“»
How did Svelte do in the State of JavaScript 2025?!
Broadcast by