[{"data":1,"prerenderedAt":20},["ShallowReactive",2],{"$fpIpAN1lgROGc-KPZ_YC2QILILBwAowvwnVosHPrzEn4":3},{"analytics":4,"html":10,"issueId":11,"issueNumber":12,"ogImage":13,"publishedAt":16,"title":17,"url":18,"version":19},{"clickRate":5,"clicks":6,"openRate":7,"sent":8,"views":9},11,503,49,4526,2219,"\u003C!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\u003Chtml lang=\"en\" dir=\"ltr\">\n\n  \u003Chead>\n    \u003Cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n    \u003Cmeta name=\"x-apple-disable-message-reformatting\">\n    \u003Ctitle>Vapor Mode, Vue Reactivity Quirks &amp; Vitest 4.0 Released\u003C/title>\n    \u003Cstyle data-id=\"__nuxt-email-style\">\n      p {\n        margin-top: 0.5rem !important;\n        font-size: 16px !important;\n      }\n\n      a {\n        color: rgb(66, 184, 131) !important;\n        text-decoration: none !important;\n        font-size: 16px !important;\n        text-decoration-thickness: 1px !important;\n        text-decoration-line: underline !important;\n      }\n    \u003C/style>\n  \u003C/head>\n\n  \u003Cbody style=\"background-color:rgb(255,255,255);\">\n    \u003Ctable border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" align=\"center\">\n      \u003Ctbody>\n        \u003Ctr>\n          \u003Ctd style=\"margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;width:100%;background-color:rgb(255,255,255);font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, Roboto, &#39;Helvetica Neue&#39;, Arial, &#39;Noto Sans&#39;, sans-serif, &#39;Apple Color Emoji&#39;, &#39;Segoe UI Emoji&#39;, &#39;Segoe UI Symbol&#39;, &#39;Noto Color Emoji&#39;;;\">\n            \u003Cdiv style=\"display:none;overflow:hidden;line-height:1px;opacity:0;max-height:0;max-width:0;\">Ready for your weekly Vue &amp; Nuxt dose?\u003Cdiv> ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿ ‌​‍‎‏﻿\u003C/div>\n            \u003C/div>\n            \u003Ctable align=\"center\" width=\"100%\" role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"max-width:37.5em;margin-left:auto;margin-right:auto;margin-top:40px;margin-bottom:40px;width:100%;max-width:650px;padding:20px;\">\n              \u003Ctbody>\n                \u003Ctr style=\"width: 100%\">\n                  \u003Ctd>\n                    \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                      \u003Ctbody>\n                        \u003Ctr>\n                          \u003Ctd>\u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;margin-left:auto;margin-right:auto;margin-top:0px;margin-bottom:0px;\" src=\"https://mokkapps.twic.pics/weekly-vue.news/logo-with-text.png?twic=v1/cover=200\" width=\"114\">\u003C/td>\n                        \u003C/tr>\n                      \u003C/tbody>\n                    \u003C/table>\n                    \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"margin-top:1rem;text-align:center;\">\n                      \u003Ctbody>\n                        \u003Ctr>\n                          \u003Ctd>\n                            \u003Ch2 style=\"margin-bottom:0.75rem;margin-top:1rem;\">\n                              Weekly Vue News #221\u003C/h2>\n                            \u003Ch1 style=\"margin-top:0.5rem;\">Vapor Mode, Vue Reactivity Quirks &amp; Vitest 4.0 Released\u003C/h1>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0px;margin-bottom:0px;text-align:center;\">\u003Ca style=\"color:rgb(66,184,131);text-decoration:none;font-size:12px !important;text-decoration-line:underline;text-decoration-thickness:1px;\" href=\"https://weekly-vue.news/issues/v2/185\" target=\"_blank\">\n                                View online\n                              \u003C/a>\u003C/p>\n                          \u003C/td>\n                        \u003C/tr>\n                      \u003C/tbody>\n                    \u003C/table>\n                    \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"margin-top:1rem;\">\n                      \u003Ctbody>\n                        \u003Ctr>\n                          \u003Ctd>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\n                              Hi 👋\n                            \u003C/p>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\n                              I’ve published two new Nuxt modules for \u003Ca style=\"color: #067df7; text-decoration: none\" href=\"https://github.com/Mokkapps/nuxt-signupgate@TrackLink\" target=\"_blank\"> SignupGate\u003C/a> and \u003Ca style=\"color: #067df7; text-decoration: none\" href=\"https://github.com/Mokkapps/nuxt-aidbase@TrackLink\" target=\"_blank\"> Aidbase\u003C/a> — two tools I use heavily in my own apps. You can get access to both through a lifetime deal in the \u003Ca style=\"color: #067df7; text-decoration: none\" href=\"https://www.founderstack.pro/?partner=michaelhoffmann@TrackLink\" target=\"_blank\">FounderStack bundle*\u003C/a>.\n                            \u003C/p>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\n                              On a less positive note, the subscriber count of this newsletter has been stagnating lately, which is a bit frustrating. If you enjoy it, I’d really appreciate it if you could share it with your friends or co-workers — it would mean a lot!\n                            \u003C/p>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\n                              Enjoy this issue and have a lovely week ☀️\n                            \u003C/p>\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">\u003Cspan style=\"display:inline-block;vertical-align:middle;\">\u003Csvg style=\"height:25px;width:25px;vertical-align:middle;margin-right:8px;margin-bottom:2px;\" viewBox=\"0 0 128 128\">\u003Cpath d=\"M0 8.934l49.854.158 14.167 24.47 14.432-24.47L128 8.935l-63.834 110.14zm126.98.637l-24.36.02-38.476 66.053L25.691 9.592.942 9.572l63.211 107.89zm-25.149-.008l-22.745.168-15.053 24.647L49.216 9.73l-22.794-.168 37.731 64.476zm-75.834-.17l23.002.009m-23.002-.01l23.002.01\" fill=\"none\">\u003C/path> \u003Cpath d=\"M25.997 9.393l23.002.009L64.035 34.36 79.018 9.404 102 9.398 64.15 75.053z\" fill=\"#35495e\">\u003C/path> \u003Cpath d=\"M.91 9.569l25.067-.172 38.15 65.659L101.98 9.401l25.11.026-62.966 108.06z\" fill=\"#41b883\">\u003C/path>\u003C/svg>\u003C/span> \u003Cspan style=\"display:inline-block;vertical-align:middle;\">Vue\u003C/span>\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\">\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://certificates.dev/blog/vues-magical-reactivity-has-some-quirks?friend=MOKKAPPS@TrackLink\" target=\"_blank\">📕 Vue&#39;s Magical Reactivity Has Some Quirks*\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Why does Vue&#39;s reactivity sometimes behave unexpectedly?\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Explore ref unwrapping edge cases and cloning complications with clear examples and fixes.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://voidzero.dev/posts/announcing-vitest-4@TrackLink\" target=\"_blank\">📕 Announcing Vitest 4.0\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Browser Mode being marked stable.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Visual Regression testing support.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://www.youtube.com/watch?v=uLs-oLwFzdk@TrackLink\" target=\"_blank\">📹 Blazing Fast Vue.js with Vapor Mode\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Vapor Mode is a new rendering strategy for Vue.js that skips the Virtual DOM, uses less memory, and produces tiny app bundles, similar to the strategies used by Solid.js and Svelte.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">\u003Cspan style=\"display:inline-block;vertical-align:middle;\">\u003Csvg style=\"height:25px;width:25px;vertical-align:middle;margin-right:8px;margin-bottom:2px;\" viewBox=\"0 0 900 900\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\u003Cpath d=\"M504.908 750H839.476C850.103 750.001 860.542 747.229 869.745 741.963C878.948 736.696 886.589 729.121 891.9 719.999C897.211 710.876 900.005 700.529 900 689.997C899.995 679.465 897.193 669.12 891.873 660.002L667.187 274.289C661.876 265.169 654.237 257.595 645.036 252.329C635.835 247.064 625.398 244.291 614.773 244.291C604.149 244.291 593.711 247.064 584.511 252.329C575.31 257.595 567.67 265.169 562.36 274.289L504.908 372.979L392.581 179.993C387.266 170.874 379.623 163.301 370.42 158.036C361.216 152.772 350.777 150 340.151 150C329.525 150 319.086 152.772 309.883 158.036C300.679 163.301 293.036 170.874 287.721 179.993L8.12649 660.002C2.80743 669.12 0.00462935 679.465 5.72978e-06 689.997C-0.00461789 700.529 2.78909 710.876 8.10015 719.999C13.4112 729.121 21.0523 736.696 30.255 741.963C39.4576 747.229 49.8973 750.001 60.524 750H270.538C353.748 750 415.112 713.775 457.336 643.101L559.849 467.145L614.757 372.979L779.547 655.834H559.849L504.908 750ZM267.114 655.737L120.551 655.704L340.249 278.586L449.87 467.145L376.474 593.175C348.433 639.03 316.577 655.737 267.114 655.737Z\" fill=\"#00DC82\">\u003C/path>\u003C/svg>\u003C/span> \u003Cspan style=\"display:inline-block;vertical-align:middle;\">Nuxt\u003C/span>\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\">\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://masteringnuxt.com/blog/a-deep-dive-into-how-nuxt-route-transitions-work?friend=MOKKAPPS@TrackLink\" target=\"_blank\">📕 A Deep Dive Into How Nuxt Route Transitions Work*\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Michael did a deep dive into the Nuxt source code and explains his insights.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://www.youtube.com/watch?v=VoS_QqQ2FGw@TrackLink\" target=\"_blank\">📹 Webpack and Rspack with Nuxt 4?!\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Nuxt is inherently supporting multiple build-tools.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://github.com/nuxt/ui/releases/tag/v4.1.0@TrackLink\" target=\"_blank\">🛠️ Nuxt UI v4.1.0\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 New Empty component.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Virtualization for large datasets.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table> \u003Ca style=\"color:#067df7;text-decoration:none !important;\" href=\"https://nuxtstarterkit.com@TrackLink\" target=\"_blank\">\n                              \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"border-radius:0.375rem;border-width:1px;border-style:solid;border-color:rgb(234,234,234);margin-top:1.5rem;\">\n                                \u003Ctbody>\n                                  \u003Ctr>\n                                    \u003Ctd>\n                                      \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                                        \u003Ctbody style=\"width:100%;\">\n                                          \u003Ctr style=\"width:100%;\">\n                                            \u003Ctd role=\"presentation\" style=\"width:25%;\">\u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;border-radius:0.375rem;margin-top:1rem;margin-bottom:1rem;width:100%;max-width:100px;margin-left:auto;margin-right:auto;\" src=\"https://mokkapps.twic.pics/weekly-vue.news/sponsor/nuxtstarterkit-logo-text.png?twic=v1/cover=600\" alt=\"Nuxt Starter Kit\">\u003C/td>\n                                            \u003Ctd role=\"presentation\" style=\"width:75%;padding-left:0.5rem;\">\n                                              \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://nuxtstarterkit.com@TrackLink\" target=\"_blank\">Launch Your Nuxt App in Minutes - Not Weeks\u003C/a>\u003C/p>\n                                              \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.5rem;font-size:16px;color:rgb(0,0,0);\">\n                                                I built this starter kit because I kept rewriting the same boilerplate for every new Nuxt project.\n                                              \u003C/p>\n                                            \u003C/td>\n                                          \u003C/tr>\n                                        \u003C/tbody>\n                                      \u003C/table>\n                                    \u003C/td>\n                                  \u003C/tr>\n                                \u003C/tbody>\n                              \u003C/table>\n                            \u003C/a>\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">📅 Events\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\">\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px !important;line-height:24px;margin:16px 0;margin-bottom:0.25rem;margin-top:0.25rem;\">\u003Ca style=\"color:#067df7;text-decoration:none;text-decoration:none;font-size:16px;text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;line-height:1.625;\" href=\"https://madvue.es/@TrackLink\" target=\"_blank\">MadVue\u003C/a> (22 May 2026, Madrid, Spain)\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">💬 Quote of the week\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\"> \u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;border-radius:0.375rem;margin-top:1rem;margin-bottom:1rem;width:100%;max-width:600px;\" src=\"https://mokkapps.twic.pics/weekly-vue.news/issues/v2/185/quote.png?twic=v1/cover=600\" alt=\"Quote of the week\">\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">🧑🏻‍💻 In Other News\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\">\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://romanzipp.com/blog/why-a-homelab-why-self-host@TrackLink\" target=\"_blank\">📕 Why Self-host?\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Self-hosting personal services like calendar, contacts, email, smart home, RSS feeds, and location tracking helps one regain privacy, sovereignty, and control over personal data, escaping reliance on Big Tech.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://addyosmani.com/blog/core-web-vitals/@TrackLink\" target=\"_blank\">📕 The History of Core Web Vitals\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Addy tells the story behind Core Web Vitals, a popular set of metrics for measuring Web performance and its impact on user experience.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://makegraph.app/@TrackLink\" target=\"_blank\">🛠️ Make Graph\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻A nicely designed tool with 10 chart types (bar, line, pie, scatter, heatmap, etc.), 10+ themes, prebuilt templates, and features for making the charts more accessible with visual pattern textures.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-size:18px !important;line-height:1.625;color:rgb(66,184,131);text-decoration-thickness:1px;text-decoration-line:underline;text-underline-offset:6px;margin-bottom:0.25rem;margin-top:1.5rem !important;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:18px !important;\" href=\"https://ogimage.click/@TrackLink\" target=\"_blank\">🛠️ Free OG Image Generator\u003C/a>\u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 Choose from different templates for the platform you want the image to display on.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;margin-top:0.25rem;font-size:16px !important;margin-bottom:0px;\">\n                                    👉🏻 You can also use an API to generate the images on the fly via JSON or cURL.\n                                  \u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">😂 Fun\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\"> \u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;border-radius:0.375rem;margin-top:1rem;margin-bottom:1rem;width:100%;max-width:600px;\" src=\"https://mokkapps.twic.pics/weekly-vue.news/issues/v2/185/fun.png?twic=v1/cover=600\" alt=\"Programmer Humor\">\n                            \u003Ch2 style=\"display:inline-block;vertical-align:middle;margin-bottom:0px;margin-top:2.5rem;font-size:24px;\">🔗 Want more Vue &amp; Nuxt content?\u003C/h2>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-bottom:1rem;border-top-width:4px;\">\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px !important;line-height:24px;margin:16px 0;margin-bottom:0.25rem;margin-top:0.25rem;margin-left:2rem;display:list-item;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:16px !important;\" href=\"https://michaelnthiessen.com/newsletter@TrackLink\" target=\"_blank\">More Exclusive Vue Tips\u003C/a>: Join Michael Thiessen&#39;s newsletter and get great Vue tips and insights delivered to your inbox each\n                                    week.\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px !important;line-height:24px;margin:16px 0;margin-bottom:0.25rem;margin-top:0.25rem;margin-left:2rem;display:list-item;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:16px !important;\" href=\"https://www.youtube.com/@TheAlexLichter@TrackLink\" target=\"_blank\">Weekly Vue &amp; Nuxt Videos\u003C/a>: You must subscribe Alexander Lichter&#39;s YouTube channel if you are interested in Vue &amp; Nuxt.\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody style=\"width:100%;\">\n                                \u003Ctr style=\"width:100%;\">\n                                  \u003Cp style=\"font-size:14px !important;line-height:24px;margin:16px 0;margin-bottom:0.25rem;margin-top:0.25rem;margin-left:2rem;display:list-item;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:16px !important;\" href=\"https://dejavue.fm/@TrackLink\" target=\"_blank\">DejaVue Podcast\u003C/a>: A weekly podcast about Vue.js and the ecosystem around it.\u003C/p>\n                                \u003C/tr>\n                              \u003C/tbody>\n                            \u003C/table>\n                            \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-top:1.5rem;margin-bottom:1.5rem;\">\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\n                              Comments? Join the discussion about this issue in our\n                              \u003Ca style=\"color: #067df7; text-decoration: none\" href=\"https://discord.gg/AWxF7cq3Qj@TrackLink\" target=\"_blank\">\n                                Discord community\n                              \u003C/a>.\n                            \u003C/p>\n                            \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\n                              Until next week,\n                            \u003C/p>\n                            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                              \u003Ctbody>\n                                \u003Ctr>\n                                  \u003Ctd>\n                                  \u003Ctd role=\"presentation\">\u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;height:3rem;width:3rem;border-radius:9999px;\" src=\"https://mokkapps.twic.pics/weekly-vue.news/2024-profile-pic-2.png?twic=v1/cover=200\">\u003C/td>\n                                  \u003Ctd role=\"presentation\">\n                                    \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;\">\u003Ca style=\"color: #067df7; text-decoration: none\" href=\"https://mokkapps.de@TrackLink\" target=\"_blank\">\n                                        Michael Hoffmann\n                                      \u003C/a>\n                                      (Curator)\n                                    \u003C/p>\n                                  \u003C/td>\n                                  \u003Ctd role=\"presentation\" style=\"width:33.333333%;\">\u003C/td>\n                          \u003C/td>\n                        \u003C/tr>\n                      \u003C/tbody>\n                    \u003C/table>\n                    \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-top:0.75rem;margin-bottom:0.75rem;\">\n                    \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;font-weight:700;\">\n                      To support me:\n                    \u003C/p>\n                    \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n                      \u003Ctbody style=\"width:100%;\">\n                        \u003Ctr style=\"width:100%;\">\n                          \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;display:list-item;margin-left:2rem;\">\n                            😘 Recommend the newsletter to your friends: it really helps!\n                          \u003C/p>\n                          \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;display:list-item;margin-left:2rem;\">\n                            💸 \u003Ca style=\"color:#067df7;text-decoration:none;\" href=\"https://weekly-vue.news/sponsor\" target=\"_blank\" class=\"\">\n                              Sponsor\n                            \u003C/a> this newsletter\n                          \u003C/p>\n                          \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;display:list-item;margin-left:2rem;\">\n                            🦋 \u003Ca style=\"color:#067df7;text-decoration:none;\" href=\"https://bsky.app/profile/weekly-vue.news\" target=\"_blank\" class=\"\">\n                              Repost\n                            \u003C/a> the latest BlueSky\n                            post\n                          \u003C/p>\n                          \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;display:list-item;margin-left:2rem;\">\n                            📨 Reply to this email: feedback is welcome\n                          \u003C/p>\n                          \u003Cp style=\"font-size:12px !important;line-height:24px;margin:16px 0;font-style:italic;color:rgb(112,106,123);\">\n                            * Some of my links are affiliate links; if you make a purchase, I gain a small percentage at no extra cost. Thank\n                            you for supporting my newsletter.\n                          \u003C/p>\n                        \u003C/tr>\n                      \u003C/tbody>\n                    \u003C/table>\n                    \u003Chr style=\"width:100%;border:none;border-top:1px solid #eaeaea;margin-top:0.75rem;margin-bottom:0.75rem;\">\n                  \u003C/td>\n                \u003C/tr>\n              \u003C/tbody>\n            \u003C/table>\n            \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\n              \u003Ctbody>\n                \u003Ctr>\n                  \u003Ctd>\n                    \u003Cp style=\"font-size:12px !important;line-height:24px;margin:16px 0;margin-bottom:0.5rem;text-align:center;\">\u003Ca style=\"color:#067df7;text-decoration:none;font-size:12px !important;\" href=\"{{ UnsubscribeURL }}\" target=\"_blank\">\n                        Unsubscribe\n                      \u003C/a>\u003C/p>\n                    \u003Cp style=\"font-size:12px !important;line-height:24px;margin:16px 0;color:rgb(112,106,123);margin-top:0px;text-align:center;\">\n                      Siegersdorf 18, 94371 Rattenberg, Germany\n                    \u003C/p> {{ TrackView }}\n                  \u003C/td>\n                \u003C/tr>\n              \u003C/tbody>\n            \u003C/table>\n          \u003C/td>\n        \u003C/tr>\n      \u003C/tbody>\n    \u003C/table>\n    \u003C/td>\n    \u003C/tr>\n    \u003C/tbody>\n    \u003C/table>\n  \u003C/body>\n\n\u003C/html>",185,221,{"absoluteUrl":14,"relativeUrl":15},"https://mokkapps.twic.pics/weekly-vue.news/issues/v2/185/og.png","/issues/v2/185/og.png","2025-10-27T14:00:00Z","Weekly Vue News #221 - Vapor Mode, Vue Reactivity Quirks & Vitest 4.0 Released","/issues/v2/185",2,1794479136459]