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.
Amazing content! Why do you have so few views and subscribers? I recommend you make collaboration with Ilya Klimov it helps you got more subscribers and it helps us to get useful information
since the topic of shallowRef and Nuxt has surfaced again, I want to complain again that tanstack query could not make such a transition for a long time😭😭😭
1:19:02 - but... WE ARE CRYING that Volar is a piece of sht, it's broken, it's not working, vue developers is not quite, they say what they don't like, I don't understand the point about "they should be more loud" or so
I think that's exactly the opposite of "constructive criticism" that Natalia mentioned in that episode. Instead of saying "uhh, XY is sh*t", if something doesn't work, raise a bug report, ideally with a reproduction. FYI - Volar was also covered in the episode with Evan @ ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-xvkf3KOaRlQ.html
What really is magic to me is the transform and pick options in useFetch so you can organize your API call to get the data back exactly as you want if fetching external API. The other thing I think many people don't talk about is the setPageLayout composable which you can use in the middleware. This saves me tons of time instead of add the layout to each header of each page. So for example in my admin dashboard I create a small middleware with the authentication and then if you are anywhere at /admin/** you can do setPageLayout('adminDash') and voila your layout is set.
I'm new Vue user and off course I'll use Nuxt at some point. I've been listening to your podcast in car for last few days. It's like talking to your Programmer friends. Thank you for such a great time. You guys are doing great!
Nice tips! Thank you guys. It would be really nice to have a screen share of some examples when you talk about specific features. Some are very easy to understand verbally, but others require seeing what you mean to understand them better. Specially when using specific terms and concepts that might ve unknown for beginners.
Yeah. I have also used them to render “widgets” into another component too far up the component tree. Almost as a `<slot />` but where the target location is not known by the component. Let’s say you have a page to edit a product and data is divided into multiple tabs. Mabe one tab has 2 actions (Save & Delete) and another tab has other actions (Add attribute, add discount, etc.). You can have the parent page include a Portal target called `id=“page-actions”` and when each tab is active, they teleport their own buttons into that portal and it renders them into the layout as expected. I don’t know if my example was clear enough. It’s kind of hard to explain with words alone.
The contrast between Michael's grey background and desaturated gave and Alex's colorful background and more saturated face can really be stark sometimes. You guys should work together to bring your "looks" closer to matching.
Nice to see ProseMirror mentioned. In my case, I had to dive deep in ProseMirror itself because what I needed was really custom features. And I can confirm that ProseMirror is hard, but absolutely fantastic piece of work. I'm using it along Nuxt and Quasar, to develop a spreadsheet-like component (as part of a bigger project) to manage dubbing scripts. It's being quite challenging but so rewarding.
I would love to know what technique Vanessa is using to persist the editor content in a database. TipTap exposes methods to export as JSON and HTML. I'm using HTML export because there are mature packages I can use to sanitize the content before persisting into the database.
I went for HTML/text format, because I need to parse the content in table cells, and editing happens for individual content when the user hits Enter. For this part then, ProseMirror can parse the content as well, from a dummy div element where its innerHTML content is the HTML/text stored. And I think you don't need to worry about sanitizing the content (if it's saved from ProseMirror beforehand) as it only allows content based on the schema you defined. Anything pasted or written in the editor will be forced to parse according to the schema.
@@clelsonlopes you're right about pasting content into editor being sanitized client side. but if I want to take that same html string and render it into a pdf, or use it anywhere else, I'd have to sanitize it server side before serving to the consumer
having to learn react to get a job is such a strong mentality for some people. But honestly you should be able to switch between the 2 of them, especially since Vue is so easy. At the end they are both JS frameworks and fairly similar.
One thing I hoped would be addressed about Suspense is the fact that, unlike in react, there's no easy way to reenter the suspended state. So it's not usable for cases like search results. You either have to specify the key on the suspended component, or duplicate the loading state inside the component, both of which kind of defeat the purpose of Suspense.
Great interview! Very cool to hear about the future. Is Evan saying he doesn't have to restart TS server after adding every file? Is there a recommended configuration for how to fix that?
At least he didn't say otherwise. Ideally, I'd suggest to provide a reproduction in the VS Code Extension repo with clear steps to reproduce, versions of all (vs code, extensions, vue etc.) so it can be dealt with
I'm surprised about negativity towards Volar. First time I hear this. People already forgot Vetur that was not maintained at all and had more bugs than features? Volar just worked, from day one. I was very early adopter, when there were literally only few issues posted on GH and whole project was experimental. And even in that state, it was 10x better than Vetur. That's why i started sponsoring it also as one of firsts, if not first (not big amount, but still) . I was happy that eventually Volar become official extension. When I had any issue, it was addressed by Johnson usually in matter of hours and fixed/explained right away. Since that it just works, used it in small private projects and big commercial ones. Volar is one of biggest pros of Vue ecosystems.I get it's hard to give reproduction for problem with extension, but I just opened some random open issue, and description of problem literally has one sentence! You need to help someone to help you...
Great one. In next interview, i would like to hear if they gonna do something with reactive primitives. For example, removing part about reactive() from essentials in docs so new developers won’t even question what should they use. I know that docs are already recommending to use ref() but I recently saw people arguing about it.
You cant tell people you work in open source without explaining how you make money, that is why they dont believe you. You are also trying to confuse them if you talk to the layman like that. Just tell people you are a computer programmer. Then it doesnt confuse anyone. Unless that is what you WANT to do.
I couldnt listen to any more of this. It was aweful and full of stuff like this. I thought I was going to get some info about Nuxt 4, but I couldn't make it that far.