Alexander Lichter
NEW Folder Structure in Nuxt 4
updated
---
Links and Resources
* Nuxt CLI github.com/nuxt/cli/blob/f4749f8daed010153d1a709ac1343d21d5731d22/packages/nuxi/src/commands/upgrade.ts#L186
* nypm github.com/unjs/nypm/blob/main/src/api.ts
* No bun Dedupe github.com/oven-sh/bun/issues/8594
---
Chaptermarks
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
This video shows what happened (a high-level overview) and most importantly what YOU CAN DO to protect you and your project against it.
---
Links and Resources
* In the Past: CVEs on Vite youtube.com/watch?v=ctsfEc9UYU8
* Nx got compromised https://www.aikido.dev/blog/popular-nx-packages-compromised-on-npm
* Nx postmortem https://nx.dev/blog/s1ngularity-postmortem
* S1ngularity attacked again https://www.aikido.dev/blog/s1ngularity-nx-attackers-strike-again
* Tinycolor supply chain attack https://socket.dev/blog/tinycolor-supply-chain-attack-affects-40-packages
* Trusted publishing is enabled https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/
* Npm docs on trusted publishing docs.npmjs.com/trusted-publishers
* Npm top packages with provenance status github.com/sxzz/npm-top-provenance#untrusted-showing-first-100-of-8784
* Kevin's post on high-download packages without trusted publishing https://bsky.app/profile/sxzz.dev/post/3lydmji6nr22k
* e18e issue to promote trusted publishing github.com/e18e/ecosystem-issues/issues/201
* Wes' comment on 2FA https://bsky.app/profile/notwes.bsky.social/post/3lwgx6llchc2o
* Daniel Roe's GitHub Action github.com/danielroe/provenance-action
* Old Nuxt opencollective script github.com/nuxt-contrib/opencollective
* PNPM never built dependencies setting pnpm.io/settings#neverbuiltdependencies
* PNPM 10.16 release blog pnpm.io/blog/releases/10.16
---
Chaptermarks
00:00 Intro & Overview
00:59 What has happened - a top-level recap
03:44 What maintainers and package authors can do
06:10 Do we need 2FA for publishing packages?
07:21 How you can protect yourself against these attacks
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* github.com/danielroe/nuxt-rebundle
* github.com/nuxt/nuxt/pull/33131
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* PR
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* Rolldown https://rolldown.rs/
* Rolldown-Vite migration guide https://vite.dev/rolldown
* Rolldown-Vite Perf Wins github.com/vitejs/rolldown-vite-perf-wins
* CodSpeed benchmark codspeed.io/nuxt/nuxt/branches/feat%2Ftest-rolldown-vite
* Nuxt.com CI before github.com/nuxt/nuxt.com/actions/runs/16427059534/job/46419889875#step:7:224
* Nuxt.com CI after github.com/nuxt/nuxt.com/actions/runs/16950013832/job/48040398572#step:7:240
* PR against actual rolldown-vite (test) github.com/nuxt/nuxt/pull/31880
* Nitro 2 won't have Rolldown support but Nitro 3 will github.com/nitrojs/nitro/issues/2233
* Rolldown-Vite Improvement commit github.com/nuxt/nuxt/commit/1111111f1ef0403d122da6a0c4ea35ef574e9b19
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* Lazy Hydration in Nuxt youtube.com/watch?v=hibbpTe661U
* Auto Imports in Nuxt youtube.com/watch?v=FT2LQJ2NvVI
* Server components vs. Lazy Hydration youtube.com/watch?v=Jijoc0RH_tA
* Implementation PR github.com/nuxt/nuxt/pull/31192
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* Nuxt 4 Overview video youtube.com/watch?v=rCT54d8sMWk
* Nuxt 4 Layers youtube.com/watch?v=fr5yo3aVkfA
* src folder issue github.com/nuxt/nuxt/issues/32965
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* Repository Pattern Video youtube.com/watch?v=jXH8Tr-exhI
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* Documentation for the experimental option nuxt.com/docs/4.x/api/nuxt-config#checkoutdatedbuildinterval
* Nuxt implementation to check github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/plugins/check-outdated-build.client.ts
* Inline Composables Video youtube.com/watch?v=iKaDFAxzJyw
---
Chaptermarks
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
πΊ TWO Major Nuxt Versions youtube.com/watch?v=TAoTh4DqH6A
πΊ New Directory Structure youtube.com/watch?v=KnCNOp5Pbfs
πΊ Shared Folder youtube.com/watch?v=_m5ct5e8nVo
π Announcement post nuxt.com/blog/v4
---
Chaptermarks
00:00 Intro and Prelude
01:10 New features of Nuxt 4
02:16 The new CLI
04:19 New Directory Structure
07:17 Better tsconfig
08:40 Further changes
09:00 Upgrading from Nuxt 2 π
09:43 Upgrading from Nuxt 3
10:17 Taking a look at breaking changes
15:53 Nuxt 5?
16:16 More upcoming features
17:46 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
Thanks to Hennge for sponsoring this video!
π Join Hennge as Junior Vue Dev https://lichter.link/hennge-junior *
π Coding Challenge (Front End) with code FE-GIP-ALEXLICHTER challenge.hennge.com/?entry-code=FE-GIP-ALEXLICHTER *
---
Links and Resources
π Release notes github.com/vuejs/core/releases/tag/v3.6.0-alpha.1
π Alien Signals github.com/stackblitz/alien-signals
π Reactivity Benchmark github.com/transitive-bullshit/js-reactivity-benchmark
π JS Framework Benchmark krausest.github.io/js-framework-benchmark/2025/table_chrome_138.0.7204.50.html
πJohnson's Vapor Update pbs.twimg.com/media/GowmkHAbUAAVrYG?format=jpg&name=large
---
Chaptermarks
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
Disclaimer: This video shares my own opinion and not the official stance of VoidZero nor the Nuxt core team as a whole.
---
Links and Resources
π NuxtLabs announcement
π Full @DejaVueFm episode with Daniel and SΓ©bastien youtube.com/watch?v=xHbjFW9EJ-8
π Nuxt Governance document github.com/nuxt/governance
π Nitro Governance document github.com/nitrojs/governance/blob/main/README.md
π Daniel's Reddit AMA reddit.com/r/vuejs/comments/1lvdkwr/i_lead_the_nuxt_core_team_ama
---
Chaptermarks
00:00 Intro
00:21 What happened?
01:17 Am I part of Vercel now?
01:29 Did I know about the acquisition?
01:57 NuxtLabs IS NOT Nuxt
02:45 What does it mean for NuxtLabs?
03:20 What will happen with the products of NuxtLabs?
05:06 What does it mean for Nuxt as a framework?
10:08 Consequences for Nitro and UnJS
11:26 What changes for Vue?
12:09 What is in for Vercel?
13:35 Who are the "winners" of this acquisition?
14:10 And who are the "losers"?
15:16 Addressing Worries
16:42 Wrapping Up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
* Download the Vue (official) Extension now marketplace.visualstudio.com/items?itemName=Vue.volar
* Sponsor Johnson for his amazing work github.com/sponsors/johnsoncodehk
---
Chaptermarks
00:00 Intro
00:08 Drag & Drop Components
00:55 No more jumping to the component TS Declarations
01:19 Missing Props hint
02:05 All is Configurable
02:30 Indicate Destructured Props
03:50 Automatically inserting ".value"
04:50 Sponsoring the project
05:50 Reactivity Visualization
06:31 Focus Mode
07:00 Template Interpolation highlighting
07:24 Wrapping up
---
---
Links and Resources
* Reka Ui Namespaced reka-ui.com/docs/guides/namespaced-components#namespaced-components
* Reka UI Normal reka-ui.com/docs/components/dialog
* Motion Vue https://motion.dev/docs/vue-motion-component
* The @DejaVueFm episode with Matt, creator of Motion.dev youtube.com/watch?v=d8VfOmgh9IM
---
Chaptermarks
00:00 Intro & Problem
00:58 Demo App
01:42 Multi-word components
02:21 Implicit coupling through names is not enough
04:15 Namespaced Components
05:23 Example in the wild
07:26 When should you use them?
08:21 What do YOU think?
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π WebAIM Million Report webaim.org/projects/million
π Nuxt Route Announcer Docs nuxt.com/docs/api/components/nuxt-route-announcer
π Component Source Code github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-route-announcer.ts
π vue-announcer github.com/vue-a11y/vue-announcer
---
Chaptermarks
later ;)
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
Links and Resources
π Nuxt Blog post nuxt.com/blog/roadmap-v4
π Nuxt Migration Guide nuxt.com/docs/getting-started/upgrade#testing-nuxt-4
π Nuxt Alpha 2 github.com/nuxt/nuxt/releases/tag/v4.0.0-alpha.2
π Daniel's PR to migrate elk github.com/elk-zone/elk/pull/3298
π h3 beta github.com/h3js/h3/releases/tag/v2.0.0-beta.0
πΊ Nuxt 4 folder structure youtube.com/watch?v=KnCNOp5Pbfs
πΊ Nuxt 4 Shared Folder youtube.com/watch?v=_m5ct5e8nVo
---
Chaptermarks
later ;)
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
Thanks to Hennge for sponsoring this video!
π Join Hennge https://lichter.link/hennge-intern
π Coding Challenge (Front End) with code FE-GIP-ALEXLICHTER challenge.hennge.com/?entry-code=FE-GIP-ALEXLICHTER
---
Links and Resources
π github.com/posva/unplugin-vue-router
---
Chaptermarks
later ;)
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π Timeout Example play.vuejs.org/#eNp9kstuwjAQRX/F8qYgUR4qKxRQW8SilfpQYelNGiaJwbEjPwISyr93HCc0C8Qq9tyb8bljX+hLWY4rB3RBI5NoXlpiwLpyxSQvSqUtuRANKalJqlVBHtD6wGSipEFjrk4fYEycAVl61yCNhYFhp1tegHK21aZYZzJ1MrFcSaLkWvDkOBiSC5Ok32tcxcL5jlbjh3i17XRVEHEXSgNssFyFHre7NExerkdkPp16jNqTRJOQF5PixkJRitgC7giJfp21yPiceMQloy0so6stnhBNgh68+YxUjzxFV+90dLaraJLP0BhNeifQEbUGZ5TybHwwSuLwmwCMJqoouQD9VfohGUYXXTRGYyHU6b2p+cmMunqSQ3K8UT+Ys68x+q3BgK4Q6qrZWGdgg7zZfsIZ11exUHsn0H1H/AGjhPOMwfbq5B6xe76G9q15QlxmO7M5W5CmC+VBw52E3Pis1nei/+M+jefNf3iJtP4DlL3rfQ==
π Static Data Example play.vuejs.org/#eNp9Uk1v2zAM/SuELk6GwF6xnQI3WNYGWLa2KWZjh1U9uA790cqSIclpCsP/vZTcpDkUhQGD4nsk36PUs2XbhrsO2ZzFJtd1a8Gg7doFl3XTKm2hB40FDFBo1UBA1IBLLnMljYXLZbqEc7gLks31KphBkKTLdH3hIgcF9+/UvMpkidmDQCqgjhNHuPt6P+Wy6GRuayXBVF1RCJxMoecSYCyU+PwvE50r8yUOAYgiuL36D5ebmyClP6xTuFr/WUH6a52MjOvMVmEhlNITH+pMblVDvb+Anx0KlKWtpiQAgITSvKPEcPc28TCcy4HLOBo3RLuhg8WmFZlFOgHE1dmi709NDkMcUdKDD521ZO9HLur86ZyzN5+cLZIxiqORQvQ4Omn88Rcb+yIcXNlGjKsqamFRz6GWO9R2ckamRsGeyWbMGtpmUZfho1GSLttXcZarpq0F6k3rLsBwNh/7OSwTQj3/9jmrO5wd8nmF+dMH+UezdznObjUa1Dvyd8Rspku0I7xKbnBP8RFs1LZz2/gE/ItGic5pHGk/O7kl2Sc8r3btn2wty9Ss9halOZhyQh1z8HzO6BlffGL9Xe638Luvo32y4RVmtwzr
π Watcher example play.vuejs.org/#eNp9Uk1P4zAQ/SsjX1JEtxXaPVVppd0VqwWhgoCjL1E6aV0cO7LHoSjKf2eckJSPCvkSz3tv5r2JG/G7qmZ1QLEQqc+dqgg8UqhW0qiyso6gAYfFFHJbVoFwAy0UzpaQsCiRRprcGk9QKOdpnZUIy8ifJPvb/+vkbIB19hH1xj5HdJQHrd/wYdBkcgbLFTTSAGsoOHMcMqszHRDOIeFzPnbvy9K03Dmd93E4CF8Iy0pnhHwDSJXhCVD/KO0G9VKKsa8UwLQcd1Zv0DHyLyLwBs1Pq4fpX8Q3DHzS7i5WTXNM27bpnEvR7TuHp0/q6UVHeEel7tdSKE3oFqBMjY4mFxy77ZJ3TDEV5Hm9hdrO9t4a/sWdSoq4YqXR3VakeP1SLPp+Ecu0ts/XXY1cwOlQz3eYP52o7/0h1qS4c+jR1Rx2xChzW6QevnxY44G/R5DXFzSzvwHv0Vsdosee9ieYDdt+x+vcXnUPVZnto788EBo/hIpGI7Pt+FLwk/37TfSj3Z+zX52O9ynaV4gtD+U=
π Bloated computed example play.vuejs.org/#eNqdVlFv4zYM/iuEH85pL3Wc2w4YMidD17XYDbv1din25BfXVhLdZMmT5CxFmv8+SrJstUl7uCFAIpMfyY8UyXgfXTZNsm1JNIsyVUraaFBEtw2wgq/neaRVHi1yTutGSA17kGQ1hlLUTatJBQdYSVFDjA7inOe8FFxpaCQtCcwNdpSeeek/bcE11Q+dYtorKqpK0XJ9JSpvFce9Vm1o01C+dposVrrgVSGrGB4hJrtGEqXixWiQo2Vv29Z1IU1Ez3g0OoP5AvY5B2BEA5FSSNTHSN9JVHuvhS4YCm0eybZgLYHznr8TGDhdwSjEZJDC4+MzIEqnZy4gDOE+cFTSqisVyryR5QGYqm4lx3pbi3HPagbpuC+YffD1uRLKCXSxc78dHg7GJX75DL058kh9GuEddLznc+S5vPzreprGfQKBbV+oc0iTqY0BhCnyqr9fL3+/ub25ieHNm8HBAqZp+tUQ778a4uUy9z5LBNsSB/UIKxjWxMtD/kOX+VjPrIOk3qfwE5Z/Bs+Zn3LsO/klv1PnZGCN1/y50GZg0iT9IZAW98xIeyIXQ/Zvn3gNbBD/sdCbpC52I9dC1su5j2JnqkN3w3EK/9acOqzv4OBGxl1mfS/7U6LFDd3hdL476zBDi/vTMeZp54dPx1g7FPh1QuOoPOfRVfuAh2ziFiOuQXzQpG4YlgSfALKKbu0Bj5t3i1tZEQlLt3WyCUo6HcJA6QdGcKNiQujgYQZrSasf7XY1GESx4p6w/hHgkxRVW2r8xSUxG+QZ5bjMQD80xh9v63si8wi2FzV2N0ucADV2uaBiMoSYPI1xFPLPbg39j2h+g31bwF98b5oxfjGqJjs9xHRF7If/2wIu/f/JR6I3ogpDKsIIlnuI4nsquCQLFI2mgoMdXwPrlgLClt0xmzjMq3bdzKPZtTudsMLms6xeSDCbBB04HPGhwTzoyrBz7ZjYEcRa+T4sBRNyJomhvd/7/0oHg8MhmzSBs8WyH9oA2++YI7i/1hlcBPh+ER277yr91H24Ao9M7sxIB2izxo5AmdJS8PXi7oj7QLyDDJZDUf0pmwRjf/qDkbCuqN7omrm1t6JMEzkDyrdEavvGgyvFBDTIaIwvV/iesqLr5IsSHN/ArJW5mbqhjMhb2wzYH0jcMcujgjHx729WpmVLuiWGNhtS/n1C/kXtjCyPPmGDEbnFael1upBrgnNl1NfLP+yM9UqcgZYh+hXlZ6IEaw1HB/u55RXSDnCW7Qf77oj3eKeud5pw5ZMyRO2etfg8wrfIq1dSH+h+l3zv93N0+A86nYCC
π Deep Reactivity example play.vuejs.org/#eNp9kUFLxDAQhf9KyKUrLFlET+sqqOxBDyqrx1xKd7rNmiYhmdRK6X93mrJrESm5hPfeDN9LOn7vnGgi8DXfhMIrhywARncnjaqd9cg6Fqpca/u1g5L1rPS2ZhlNZDeTiP/jSVNYE5D04NjtZMPiQppBFE2uI5BVAhbVIlvlTq2EEBn50mxWIwtRzJ1NwG8NFKqw1qyThrFSaQS/Zso04HFxSev6tC8l+ZJjILJSHcQxWEOt05Tkha2d0uBfHSoil3w97hu8xP6cNPQRlie9qKD4/Ec/hnbQJH+jpuAbkPzsYe4PgKO9fX+Blu5ns7b7qCk9Y+4gWB0HxjH2EM2esCe5RPuUPkaZw0fYtggmnEoNoEOyT3nJ6bMeZ6r/4l6J6zRH78n7H6DAvwk=
πΊ shallowRef Guide
---
Chaptermarks
00:00 Intro
00:35 Timeouts and Intervals
03:57 Static Data
05:11 Watchers and Computeds
09:07 Bloated Computeds
12:35 Unnecessary Deep Reactivity
13:29 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π Playground play.vuejs.org/#eNqNU01v2zAM/SuaLnaAzMY+TpkbbCsyrDtsRdejLq5DJ2plSdCHlyDwfx8lxYlbrEPgC0U+0o+P5IF+0broPdAFrWxjuHbEgvOaiFpurhh1ltElk7zTyjhyIN7CPXRa1A7uoCUDaY3qSIYVsk8n2DdluhupvTtGi/LkCf/KmGSyUdI6wiPq6kXZPIt+tLIZk62XjeNKEgNI7VpJB9LlM3JgkqQCRV8LD0WM55gxMFmVqRvkjg93rI0vQqo176OB5vb98rY2WI9cK+Qu0apKdB7D50YMtKjGSItRQsoR9OCdQ3afG8GbJwRNaaJ4d+FJJnKkH1ZlykuUysSpKidML/0q6/YiJGxdJ5IqLRcOzALV6cG4/N0MZ5NEiVA6x7niAFq+KR6tkjj8mMZogypwAeaXDorj7BepYIjVQqg/P6LPGQ/z0d9soXn6h//R7oKP0dugiOmB0VPM1WYDqE4Ir37/hB3ap2Cn1l4g+j9BFFUJHzgm2Fcv10h7gotsb+I+crm5t6sdzsOOTQWiATlEPKO4lWEBXmv9TPdD8THmoZ6o4rO1vvSEcJWe3c35GmTdAR4DAvIsbP7L3R+XPuDSziM6wwJIh8k1tFzCaqeVhTziYhJGY6kLL0LUDyCOD0JWuMWG7JU38aeL0V+lw+3f4jhAYJMhilfh9hpCy3Fm5xMpp1UrjXk8nFNKWn4HnNWcHA5JgGF4U5X6tbugw1+cC5j0
π Example 1 github.com/nuxt/ui/blob/v3/src/runtime/components/Form.vue
π Example 2 github.com/primefaces/primevue/blob/master/apps/volt/volt/Popover.vue
π Example 3 github.com/dennisadriaans/vue-chrts/blob/main/packages/vue/src/elements/Table.vue
π Example 4 github.com/vuejs/repl/blob/main/src/output/Preview.vue
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Tags/Info: defineExpose, Vue, composition API
---
Links and Resources
π 3.17 Release Post nuxt.com/blog/v3-17
π Nuxt Time Module (now archived) github.com/danielroe/nuxt-time
π Source Code of NuxtTime github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-time.vue
π Intl API developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
---
Chaptermarks
00:00 Intro
00:32 Dates and Time problems with SSR
01:53 NuxtTime component
04:54 How does NuxtTime work?
13:34 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π Nuxt.js Issue about component grouping github.com/nuxt/nuxt/issues/28894
π Josh's blog post deltener.com/blog/nuxt-enterprise-patterns-component-management
---
Chaptermarks
00:00 Intro
01:03 Our Demo App
02:27 Does it work by default?
04:36 Simple configuration tweaks
05:57 One more problem
07:12 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
Impossible? Not at all! This video shows how.
---
Links and Resources
π Nitro docs https://nitro.build/
---
Chaptermarks
00:00 Intro
00:14 Sharing data can be necessary
01:09 Demo App Setup
01:33 Setting up what we want to share
04:34 Attaching the info to the event context
05:21 Augmenting the Event Context for TypeScript
07:55 Sharing the data with the Nuxt part of our app
13:10 Verifying it works
14:00 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π Docs vuejs.org/guide/essentials/watchers.html#callback-flush-timing
π Learn.nuxt.com code github.com/nuxt/learn.nuxt.com/blob/842b826837f7dfe150e2bb2a0b60a895668f654d/components/PanelPreview.vue#L24-L31
---
Chaptermarks
00:00 Watchers and when to use them
01:13 Building the demo application
02:32 Using the Callback Flush timing
03:47 pre vs. post
05:59 The third one - sync
07:28 Building or own syncRef composable
11:19 Wrapping it up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π vueuse.org/shared/syncRef
π vueuse.org/core/useRefHistory
π vueuse.org/shared/whenever
π vueuse.org/shared/until
π vueuse.org/core/useScrollLock
π vueuse.org/core/onStartTyping
π vueuse.org/core/onClickOutside
π vueuse.org/core/useNow
π vueuse.org/core/useTimeAgo
π vueuse.org/shared/useLastChanged
---
Chaptermarks
00:00 Intro
00:18 What is VueUse?
01:43 syncRefs / syncRef
02:46 useRefHistory
06:08 whenever & until
09:10 useScrollLock
10:28 onStartTyping
11:47 onClickOutside
13:34 useNow
14:01 useTimeAgo
14:39 useLastChanged
15:05 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π First CVE (published January) github.com/vitejs/vite/security/advisories/GHSA-vg6x-rcgg-rjx6
π ?raw?? CVE github.com/vitejs/vite/security/advisories/GHSA-x574-m823-4x7w
π ?import query CVE github.com/vitejs/vite/security/advisories/GHSA-4r4m-qw57-chr8
π.svg & relative paths CVE github.com/vitejs/vite/security/advisories/GHSA-xcj6-pq6g-qj4x
πRequest Target CVE github.com/vitejs/vite/security/advisories/GHSA-356w-63v5-8wf4
π¬ Package Overrides youtube.com/watch?v=8CS8PKB9rAQ
---
Chaptermarks
00:00 Intro
00:43 Disclaimer & Update!
01:23 Important: Dev Server Only Vulnerability
02:02 First CVE - Any request to the dev server
04:39 Mitigation strategies
07:04 Testing out the exploit
10:12 With the mitigation in place
10:49 The group of four recent CVEs
15:35 What do that many CVEs mean?
16:44 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
---
Links and Resources
π Nuxt Islands component github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-island.ts
π Island Architecture https://www.patterns.dev/vanilla/islands-architecture
πΊ Lazy Hydration in Nuxt youtube.com/watch?v=hibbpTe661U
πΊ Event Fetch youtube.com/watch?v=7vfwYaHtv3U
---
Chaptermarks
00:00 Intro & Overview
00:47 What is Lazy Hydration?
03:24 What are Server Components?
04:45 How do Server Components work under the hood
08:39 Difference between the two
13:55 When to use which?
15:15 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
#tailwindcss #css #webdevelopment
---
Links and Resources
π Tweet that inspired the video https://x.com/malfaitrobin/status/1887057743279784445
πΊ Why your buttons are all wrong youtube.com/watch?v=BdNFBgnzbIY
---
Chaptermarks
00:00 Intro
00:49 Demo Application Setup
02:20 Making the Alert component more flexible
03:27 Using CSS Variables to flexibly set colors
07:06 Reusing Tailwind color definitions
08:56 Data Attribute states as custom variants
10:46 Summary
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
Learn how in this video - and get a little treat as well π
---
Links and Resources:
π Example issue for overriding github.com/nuxt/ui/issues/2971
π Rolldown + Vite π github.com/vitejs/rolldown-vite
π https://pkg.pr.new/
πΊ Patching Packages youtube.com/watch?v=NgDXxci6CYU
---
Chaptermarks:
00:00 Intro
00:13 New Job who dis?
00:38 Why overriding packages?
02:24 How to apply overrides
04:56 Vite + Rolldown π
07:39 Does it work?
08:15 TL;DR
Learn how in this video π
---
Links and Resources:
π Vue Lazy Hydration blog.vuejs.org/posts/vue-3-5#lazy-hydration
π Nuxt 3.16 nuxt.com/blog/v3-16
---
Chaptermarks:
---
Links and Resources:
π Props Destructure vuejs.org/guide/components/props.html#reactive-props-destructure
π Prop (Same-Name) Shorthand vuejs.org/guide/essentials/template-syntax.html#same-name-shorthand
π v-bind in CSS vuejs.org/api/sfc-css-features.html#v-bind-in-css
π useTemplateRef vuejs.org/guide/essentials/template-refs.html#accessing-the-refs
π v-memo vuejs.org/api/built-in-directives.html#v-memo
πΊ Reactivity Transform youtube.com/watch?v=7aLwI0F5xEo
πΊ Inline Composables youtube.com/watch?v=iKaDFAxzJyw
πΊ @DejaVueFm #E050 - DevRel and IDEs (with Jan-Niklas Wortmann)
https://share.transistor.fm/s/b5d8358f
---
Chaptermarks:
00:00 Intro
00:59 Props Destructuring
06:12 Prop Shorthand
07:35 v-bind and CSS
09:58 useTemplateRef
12:56 v-memo
18:44 Wrapping up
---
Links and Resources
π Pinia Docs pinia.vuejs.org
πΊ You are using useFetch wrong youtube.com/watch?v=njsGVmcWviY
πΊ Composition API code organization youtube.com/watch?v=iKaDFAxzJyw
πΊ @DejaVueFm #E049 - The Fusion of Laravel and Vue (with Aaron Francis) https://share.transistor.fm/s/721e8887
---
Chaptermarks
00:00 Intro
00:45 Demo Application
00:58 Write Setup Stores
01:30 Migrating from Options to Setup Store
04:52 Why migrating?
05:07 Using composables in Pinia Stores
07:15 Organizing your code properly
08:24 Integration with Nuxt
13:05 Wrapping up
---
Music Credits
"Local Forecast - Elevator"
Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
http://creativecommons.org/licenses/by/3.0
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keep the channel running. I only include affiliate links for services or products mentioned that we use ourselves or have good experience with.
Fun fact: The WIP v4 w3.org/TR/css-ui-4/#valdef-cursor-pointer suggests that pointer *may* be used for interactive elements.
#tailwindcss #webdevelopment #accessibility
---
Links and Resources
π Check out Nuxt UI - Get 20% off the pro version with code LICHTER https://www.lichter.link/nuxt-ui *
π Building LiveVue Playlist (members-only) youtube.com/playlist?list=PL06MUQt-_wls2o1FhvUIknQWQb_uaQhtL
π Nuxt UI Issue (leading to the Tailwind Issue) github.com/nuxt/ui/issues/2332
π Tailwind Issue github.com/tailwindlabs/tailwindcss/issues/8961
π Buttons should NOT have a cursor medium.com/simple-human/buttons-shouldnt-have-a-hand-cursor-b11e99ca374b
π Gov UK Design System Button Component design-system.service.gov.uk/components/button
πΊ @DejaVueFm #E048 - AI and Vue.js (with Daniel Kelly and Patrick van Everdingen) https://share.transistor.fm/s/67728315
---
Chaptermarks
00:00 Intro
00:35 Building LiveVue.dev
01:00 No Cursor?!
01:48 That should be good for a11y?
02:16 Browser defaults
03:09 The CSS Spec
03:42 Another hand full of reasons
05:00 A Royal Example
06:33 Tailwind changed to NO by default
07:06 What is your opinion?
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
PS: You also learn reading a tree chart and analyzing your bundle!
#vuejs3 #vue #typescript
---
Links and Resources
π Join me at Vue.js Amsterdam 205 - 10% OFF with Code LICHTER https://lichter.link/vue-ams-25 *
π Meetup BEFORE Vue.js Amsterdam meetup.com/funda-meetup/events/305514997
πVite Bundle Visualizer github.com/KusStar/vite-bundle-visualizer
πΊ @DejaVueFm #E047 - A Vue at Alexander Lichter youtube.com/watch?v=kiKHq9oWbnc
---
Chaptermarks
00:00 Intro
00:19 Don't be lazy!
01:12 Our simple demo app
06:23 Registering our test component globally
08:04 Comparing charts before and after
09:30 How to resolve the performance faux pas
11:13 Comparing all three charts
12:05 Auto imports vs global registration
13:08 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
#vuejs3 #vue #typescript
---
Links and Resources
π Join me at Vue.js Amsterdam 205 - 10% OFF wih Code LICHTER https://lichter.link/vue-ams-25 *
π Meetup BEFORE Vue.js Amsterdam meetup.com/funda-meetup/events/305514997
π Check out Nuxt UI - Get 20% off the pro version with code LICHTER https://www.lichter.link/nuxt-ui *
π TresJS tresjs.org
π Inspira UI inspira-ui.com
π Unovue github.com/unovue
πΊ @DejaVueFm #E046 - A Vue at Michael Thiessen youtube.com/watch?v=dgYukajbHmI
---
Chaptermarks
00:00 Intro
00:18 Is there a "BEST" component library?
01:07 Which one is it?
03:14 The landing page and first components
05:10 How to set up the library?
06:27 Component Overview
08:07 Why is this UI library so special?
10:33 How often is the library updated?
11:27 What is your favorite component?
11:40 Highlighting the organization
13:02 Shoutout to the contributors
13:58 The Latest DejaVue Episode
14:20 Wrapping up
---
Links marked with * are affiliate links. I get a small commission when you register for the service or buy the product through my link. This helps me keeping the channel running. I only include affiliate links for services or product mentioned that we use ourselves or have good experience with.
#vuejs3 #vue #typescript
---
Links and Resources
π Conditional Properties Issue github.com/vuejs/core/issues/8952
github.com/vuejs/core/issues/8952
π Vue Playground play.vuejs.org/#eNqVVctu2kAU/ZVbL0oS8VDarhxClAeqWlUQJaBWqrtw7As4jGes8ZiAUr6ii276df2S3hk/sMGBdAGauc9z7mP8bF1GUXuRoGVb3diTQaQgRpVEwFw+PXcsFTtWz+FBGAmpYICxQv9acD9QgeAug4kUITTanR2NDto4KzxHIvqCC2R1vjW63LvbSUERBLooDCPmKqQbQNcPFuZAxzetFvz98ws+Doc30Grl4l24nmBCEi0uZOgyxwI3itCVLvdQk8WlIlnnsP/TLFC47S4SxQKuxTpCCdqQsxVk2pILPM2QpyEhiOlGMV+F/v+yD0SWw6QrpX+Q6M73JqwkMObV8HVdtQXX1qeOVdSxzkyoGWouipKmppVe/oary9e1srYYhztp5/7vtn3LPA/kjmQQunJ1MML+Om3VInPrdtIB73ZKY0/XWK2YPs5UyOBZW04CplDaEPAFSnV0euzwtVkdY2k1aYk9wSfBtP0YC06bbrwcyxNhFDCUw0hDokW303ha5zImnj4bmZIJNnO5N0NvXiN/jJda5li3EmOUC+pIoVOunCIR0+r+/cC0plCGwk8YWe9R3mEsWKIxpmZXCfcJdsnOoP1kXpqAT0dxf6mQxzkpDVRbro29Y9Hbcr2H+gbu+/YH40f1pCrWPnH73k2YIkcZeHQdD8b3/RvzlDpcrSKEUpxbKaIYznWqnzkMM2E2NNKHqkGKRjZs5hwjddTXt9R8M35Vn+xRMGe9E8ac+NRkMnvUyEpaiZcHecH3wgZOwy3rXM0m5I4O93FCgQzf7nYBekc0twfee7MapYWgrrzw8djpy24vqp84SRnpZ3qTNQSegXaU2CXhA9FL1zRnC2tdBm1Q8E8NbIiVpCkkxhSvzLigmeXqnMBoph9+wRuK/uW8QPA1UDMqe3fUhHHPIPl+S/sN/aXHEh+7c1yJCZA2PYx7Pza4zipcvg3viigjgjwGGgPkfgzi4RE9pQ0BLuComvItjI/JupCOmzDS0pFBD2Cnwaq5DEHtQUkpnU6dlTAvSVOXLK1SWlVY90yMnTplYbJynXTyRJsJyQWbKTHI8jkxthWdtf4H6SUFbw==
πΊ 5 Missing Vue.js Features youtube.com/watch?v=P3dxu0wNLDw
πΊ @DejaVueFm #E045 - Formkit and Hot Takes (with Justin Schroeder) youtube.com/watch?v=vtv6J3KZXaA
---
Chaptermarks
00:00 Intro
00:20 What are Conditional Props?
00:41 The existing GitHub issue
01:30 What do we try to achieve?
02:35 Why do we need that?
03:36 Building our conditional props
06:33 The magic trick
07:58 Finishing our example
08:19 Not done yet! - Forcing non-existance
10:15 Building the 2nd component with our knowledge
11:13 More TS magic? Sadly not
13:35 TL;DR
GET NUXT UI PRO at https://lichter.link/nuxt-ui/ *
Links:
π¬ Playlist of the whole video series youtube.com/playlist?list=PL06MUQt-_wluDj9G9cr3y_V9WgY2TNZNN
π Repo: github.com/manniL/association-manager
π Nuxt UI: https://lichter.link/nuxt-ui *
π Nuxt Hub (sign up for beta, free tier) hub.nuxt.com
Don't forget to hit that Subscribe button, ring the notification bell, and give a thumbs up if you find this video helpful. Thanks for tuning in and happy hacking! π
Recorded on: 9th of July 2024
#vuejs #nuxtjs #nuxt #vue
---
Chaptermarks:
00:00:00 Intro and Setup
00:01:17 What we did so far / recap
00:02:29 Fixing date tests that we commented out last time
00:09:40 Dealing with Payments
00:35:07 Q: Missing advanced content in the ecosystem?
00:38:30 Q: Extending the Nuxt devtools?
00:41:20 Q: Building a "Layers config"
00:44:05 Back to the Payments
00:46:15 Q: How do you like Drizzle?
00:54:35 Side Project with Nuxt UI
00:56:15 Persisting Payments and Payees
Don't forget to hit that "Subscribe" button, ring the notification bell and give a thumbs up!
π Connect further:
Website: lichter.io
Twitter/X: twitter.com/TheAlexLichter
Twitch: twitch.tv/TheAlexLichter
---
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.
#vue #nuxt #webdevelopment
---
Links and Resources
πΊ @DejaVueFm #E044 - Our Predictions for Vue and Nuxt in 2025 (with Daniel Roe) youtube.com/watch?v=qQrwWnw5so4
---
Chaptermarks
#vue #nuxt
---
Links and Resources
π State of JavaScript 2024 2024.stateofjs.com/en-US
π Gartner Hype Cycle en.wikipedia.org/wiki/Gartner_hype_cycle
π Weekly Vue Newsletter https://weekly-vue.news/
πΊ @DejaVueFm #E043 - The Year in ReVue (with Daniel Roe) youtube.com/watch?v=mmzbqy_qu8U
---
Chaptermarks
00:00 Welcome to 2025
01:04 Thanks to all survey participants
01:48 Did JavaScript got worse?!
06:17 How did Vue do in the Survey
09:42 Why is Vue has better Retention and Positivity?
17:31 And what about Nuxt?
22:38 What is used at work?
23:44 Resources & People
28:45 What is your opinion?
#vue #nuxt #sfc
---
Links and Resources
π Evan's Tweet https://x.com/youyuxi/status/1427982990957846529
π CAPI OAPI Comparison github.com/vuejs/docs/blob/main/src/guide/extras/images/composition-api-after.png
π FileExplorer in CAPI gist.github.com/yyx990803/8854f8f6a97631576c14b63c8acd8f2e
π Elk https://elk.zone/
π Elk Component github.com/elk-zone/elk/blob/main/components/command/CommandPanel.vue
πΊ Multiple Components with Vue Vine youtube.com/watch?v=YHdDraNNGCk
πΊ @DejaVueFm #E042 - Creating Technical Content (with Adam Jahr) youtube.com/watch?v=C30HwOSH-CU
---
Chaptermarks
00:00 Intro
00:45 The Benefits of SFCs
01:06 Strong order preferences
01:16 The Traditional / OG order
02:26 The Modern order
02:24 When and why did it happen?
03:30 Benefits in bigger components (Personal Opinion)
04:35 Example based on the CAPI OAPI Comparison
05:35 Another example - An Elk component
06:35 What is the BEST order?
07:36 Split up the tags via your IDE
08:34 Wrapping up - What do you think?
Even when not using auto imports, there are some function calls in your Vue SFCs that you don't "need" to import. Why is that? And what makes them special? Find out in this video!
#vue #nuxt #pinia
---
Links and Resources
π Vue Macros https://vue-macros.dev/
πΊ Auto Imports in Vue and Nuxt youtube.com/watch?v=YHdDraNNGCk
πΊ DejaVue #E015 - Ten Years of Vue.js (with Evan You) youtu.be/OG8dvyKLjIM?t=2915
πΊ @DejaVueFm #E041 - The Quadruple Migration (with Rijk van Zanten) youtube.com/watch?v=PGHRy3aNhks
---
Chaptermarks
00:00 Intro
00:40 Don't miss Vue.js Amsterdam
01:24 Simple Demo Playground
02:53 Composition API without script setup
04:53 The magic of script setup
05:50 How do we access props and emits?
07:48 The latest compiler macro - defineModel
10:05 More macros?!
12:40 Wrapping up
#nitro #h3 #unjs
---
Chaptermarks
Too lazy, sorry! Holidays π
No? Well, let's check it out!
#nitro #h3 #unjs
---
Links and Resources:
πΊ Auto Imports in Vue/Nuxt/Nitro youtube.com/watch?v=YHdDraNNGCk
---
Chaptermarks
00:00 Intro
01:01 Setting up our demo
03:58 The Problem and a temporary solution
06:25 We need another Abstraction!
07:13 The Wrapped Event Handler Pattern
14:23 Composing these Handlers
15:19 What do you think?
15:34 Wrapping up
Yes, we talk about one of the most polarizing topics in the Vue and Nuxt community - auto imports!
#vue #nuxt #pinia
---
Links and Resources
π Unimport github.com/unjs/unimport
π Unplugin github.com/unjs/unplugin
π Unplugin Vue Components github.com/unplugin/unplugin-vue-components
π Unplugin Auto Import github.com/unplugin/unplugin-auto-import
π Evan's CAPI refactoring gist.github.com/yyx990803/8854f8f6a97631576c14b63c8acd8f2e
π Anthony Fu's ESLint Plugin for explicit imports github.com/antfu/nuxt-eslint-auto-explicit-import
π Anthony's ESLint Plugin in Use github.com/antfu/eslint-flat-config-viewer/commit/0f8000851b4ac0d7f3ea5e49963c6d7248303b7b#diff-55b232a4ba83cc96f45d504975cdc0abd24dba063546b940949cca629823c30bR2
π Nitro 3 Discussion - Depending Less on Auto Imports github.com/nitrojs/nitro/issues/2232
πΊ Customize auto imports in Nuxt youtube.com/watch?v=FT2LQJ2NvVI
πΊ Shared folder youtube.com/watch?v=_m5ct5e8nVo&lc=UgxM2h9Ps3B2j1HEb2Z4AaABAg
πΊ @DejaVueFm #E038 - Self-founding and growing a Nuxt-based SaaS (with Sumit Kumar) youtube.com/watch?v=Bo9bhUaqbbA
---
Chaptermarks
00:00 Intro
01:31 Types of Auto Imports
02:41 Showcasing Auto Imports of Components
04:52 Too many manual imports?
05:55 Auto importing composables
08:10 Downsides of auto imports
09:15 Refactoring with auto imports
10:45 Unimport
12:25 Showcasing the unplugin system
14:20 Disabling Auto Imports in Nuxt
17:25 Anthony's ESLint module helping with migrating
18:15 Nuxt and Nitro relying less on Auto Imports?
19:20 My own opinion
20:33 What is your take?
VueUse and Pinia will get new major versions next year - and they are all about reducing support for older Vue versions.
#vue #nuxt #pinia
---
Links and Resources
π Pinia NPM issue github.com/vuejs/pinia/issues/853
π Eduardo deciding Vue 3 only Pinia https://bsky.app/profile/esm.dev/post/3laelubejhx2f
π Reddit post reddit.com/r/vuejs/comments/1h6vvgx/bye_pinia_vue_2_users
π VueUse account posting about Vue 3 only https://bsky.app/profile/vueuse.org/post/3lbfdavfy2s2p
πΊ @DejaVueFm #E037 - VueConf Toronto Panel (with Evan You, Daniel Roe, Sigrid Huemer and John Leider) youtube.com/watch?v=rPn_orw1LPc
---
Chaptermarks
00:00 Intro
00:24 Vue.js Amsterdam
01:27 Pinia supported Vue 2 for a while
01:47 Eduardo considering dropping Vue 2 support
02:27 Why consider dropping Vue 2 support?
02:55 No Vue 2.7 support at the moment
03:37 Pinia Vue 3 support only is set!
04:08 Time to upgrade?
04:41 Why VueUse is also considering Vue 3 only?
06:08 The end of vue-demi?
08:37 Own Opinion
09:06 Time to migrate to Vue 3?
09:37 What do you think about the changes?
10:15 Wrapping up
Which ones you wonder? Check out the video!
#vue #nuxt #security #webdev
---
Links and Resources:
π State of JS survey.devographics.com/en-US/survey/state-of-js/2024?source=alexander_lichter_video_vue_security
π DOMPurify github.com/cure53/DOMPurify
π css-tricks.com/css-keylogger
π OWASP Top Ten owasp.org/www-project-top-ten
π Vue Security Best Practices vuejs.org/guide/best-practices/security.html
π Nuxt Security Module github.com/Baroshem/nuxt-security
πΊ Info around runtimeConfig youtube.com/watch?v=2tKOZc3Z1dk
πΊ The most common runtimeConfig mistake youtube.com/watch?v=_FYV5WfiWvs
πΊ Nuxt Plugin Object Syntax youtube.com/watch?v=2aXZyXB1QGQ
πΊ Nuxt Context Loss with Async Code youtube.com/watch?v=ofuKRZLtOdY
πΊ @DejaVueFm #E036 - Secure your Vue and Nuxt Applications (with Jakub Andrzejewski) youtube.com/watch?v=NsWZaPQWdQA
---
Chaptermarks:
00:00 Intro
00:18 Fill out the State of JavaScript 2024
01:02 General Suggestions for Web App Security
01:42 What is Cross Site Scripting and how to avoid it
05:29 Avoid using v-html where possible
06:11 Sanitize v-html content if you can't avoid it
07:18 Limit URLs for e.g. redirects
08:10 Restrict the styles users can provide
09:31 Do not misconfigure your runtimeConfig
12:10 Cross Request State Pollution when using SSR
14:29 Avoid context loss with Pinia in Nuxt
16:42 The Nuxt Security Module
17:35 Check your own code
18:29 More Security? Check out the latest DejaVue Episode
18:42 Wrapping up
---
Links and Resources:
π Fixed issue with Nuxt github.com/vue-vine/vue-vine/issues/163
π Vue Vine Docs https://vue-vine.dev/
π Vue Vine Repo github.com/vue-vine/vue-vine
πΊ @DejaVueFm #E035 - Error Handling in Vue
---
Chaptermarks:
00:00 Intro
00:16 What's the problem?
02:04 The solution?
02:40 Demo App
04:30 Vue Vine VS Code Extension
05:26 How it works under the hood?
06:27 Building a simple component
07:17 How to handle Props, Events and Slots
09:40 Multiple components in one file
10:53 Why not JSX?
11:45 Another way to write components?
13:00 My opinion
13:27 Wrapping up - what do you think?
---
Links and Resources:
π How it started https://x.com/johnsoncodehk/status/1840558232093483192
π Johnson improving the reactivity system before github.com/vuejs/core/pull/5912
π alien-signals repo github.com/stackblitz/alien-signals
π Porting findings to Vue.js github.com/vuejs/core/pull/12349
π Statistics from Johnson https://x.com/johnsoncodehk/status/1840563583043973408
π Another benchmark PR github.com/transitive-bullshit/js-reactivity-benchmark/pull/4
πΊ @DejaVueFm #E034 - Data Fetching in Vue and Nuxt
---
Chaptermarks:
00:00 Intro
00:18 Faster - again?!
00:40 Improving Vue Language Tools
01:10 How can one randomly write a Signal library?
02:08 From Push to Pull to Push-Pull Reactivity
02:50 The native-signal / alien-signal release
03:36 Why is it a separate package?
04:04 Gimme some stats
05:00 When will it come to Vue?
05:36 Vue 3.5 with and without improvements
07:22 What does it mean for you?
08:14 Do you want a deep dive?
08:30 Wrapping up
---
Links and Resources:
π Vue Playground play.vuejs.org/#eNqFVN9v0zAQ/ldOeckmtQ0w2ENIi8o0iSE0pnUaDwQhL7km2Rzbsp2tZfR/5+ykTTuqTn1ofPd9d9/9sJ+DqVKjxwaDOEhMpitlwaBt1CQVVa2ktnCzVLLQTJVLmGtZQziKepOjhh9TkYokaulEpIPFWnFmkU4ASY+ffEHOJfyQmufJVhzCJdEWaf8vMXbJnbu0NYdnFzuTXOoYnsrKIukAuGPZQ6FlI/Jh57vjZCLfqpPZxQgGgTWZFPOqGN0bKagDPmIaZLJWFUf9XdlKCpMGcZvL+RjJf/rqbVY3OFjbsxKzhz32e7NwtjS40mhQP2IabHyW6QJt6z6fXeKCvjfOWuYNJ/QB5zUayRunsYV9pqJJ9hbOq73wc6xEcWPOFxaFWRflhDrkyuPTgGZ5dqD0Xu7J6L3nUU+pi7vb8HKRgDNRjIlNwfqleqbB1aqxmMOqW6vNJtmlQrhlumLCwhhC7vKG8BdCU1NB/stSP0IHpgEaF86ywmFVOIDHnuphlGEMOc4rgVdaKpP4iojwKYawfOvjle/8nwohisBKKE8dpotEuE4OFTw5Ou7z3k6vL6aXN7/Pvk1ns/NZDNeYSZ0nHXwAxmpq/IQE+KS+FJcVWU72YVvawCWdS2GHd5Ln4EQPPyy4I/iKtwhtB/y8HIw81AW/2K2gTvEZZ8agobTrNh8dHcN40qrQNBctXor/2XF/UUBf4qEb7cJKgdTluDJuuqxIA4gzl5eOuzL84N0OJYZLC1EbItrE+P/ytxcd6HoqzD18tNOy9VL6ppnqD/X09I2y/gHYvAkac2+g9mzxfQf38E96vh9A7ibJ3C2Ige4Vak77sxXPgdZhXiesn51g9Q+hHNk3
πΊ @DejaVueFm #E033 - Vue or React (with CJ from Syntax) youtube.com/watch?v=viXIin24C8Y
---
Chaptermarks:
00:00 Intro
00:42 What's the problem?
01:52 Examples in Production
04:21 An exception
05:20 Building our own Typography component
13:13 Wrapping up


