[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2v3tzw7dti6zg":-1,"weekly-digest-2026-09-28":3},{"bouncedCount":4,"broadcastStatus":5,"clickedCount":6,"complainedCount":4,"createdAt":7,"deliveredCount":8,"failedCount":9,"html":10,"id":11,"openedCount":12,"payload":13,"sentAt":7,"sentCount":49,"slug":50,"subject":51,"subscriberCount":49,"updatedAt":52,"weekEnd":53,"weekLabel":25,"weekStart":54},null,"sent",39,"2026-09-28T14:00:03.223Z",443,0,"\u003C!DOCTYPE html PUBLIC \"-\u002F\u002FW3C\u002F\u002FDTD XHTML 1.0 Transitional\u002F\u002FEN\" \"http:\u002F\u002Fwww.w3.org\u002FTR\u002Fxhtml1\u002FDTD\u002Fxhtml1-transitional.dtd\">\n\u003Chtml lang=\"en\" dir=\"ltr\">\n\n  \u003Chead>\n    \u003Cmeta http-equiv=\"Content-Type\" content=\"text\u002Fhtml; charset=UTF-8\">\n    \u003Cmeta name=\"x-apple-disable-message-reformatting\">\n    \u003Cstyle>\n      @font-face {\n        font-family: 'Onest';\n        font-style: normal;\n        font-weight: 400;\n        mso-font-alt: 'Arial';\n\n      }\n\n      * {\n        font-family: 'Onest', Arial;\n      }\n    \u003C\u002Fstyle>\n  \u003C\u002Fhead>\n  \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\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                \u003Ctable align=\"center\" width=\"100%\" role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"max-width:37.5em;border-color:rgb(209,213,219);border-radius:0.5rem;border-style:solid;border-width:1px;font-size:16px;line-height:1.5;padding:1.5rem;\">\n                  \u003Ctbody>\n                    \u003Ctr style=\"width: 100%\">\n                      \u003Ctd>\n                        \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"margin-top:1rem;\">\n                          \u003Ctbody>\n                            \u003Ctr>\n                              \u003Ctd>\u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;margin-bottom:0px;margin-top:0px;\" src=\"https:\u002F\u002Fmokkapps.twic.pics\u002Fvuedigest.com\u002Flogo.png\" width=\"100\">\u003C\u002Ftd>\n                            \u003C\u002Ftr>\n                          \u003C\u002Ftbody>\n                        \u003C\u002Ftable>\n                        \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"background-color:#f1f8f3;border-radius:10px;margin-top:20px;padding:24px;\">\n                          \u003Ctbody>\n                            \u003Ctr>\n                              \u003Ctd>\n                                \u003Cp style=\"font-size:11px;line-height:24px;margin:0 0 10px;color:#24704c;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;\">\n                                  Your weekly Vue &amp; Nuxt roundup\n                                \u003C\u002Fp>\n                                \u003Ch1 style=\"color:#172b24;font-size:30px;font-weight:700;line-height:38px;margin:0 0 8px;\">\n                                  Weekly Digest\n                                \u003C\u002Fh1>\n                                \u003Cp style=\"font-size:15px;line-height:23px;margin:0;color:#52645a;\">Sep 21, 2026 – Sep 28, 2026 · Hand-picked reads and updates from the Vue ecosystem.\n                                \u003C\u002Fp>\n                              \u003C\u002Ftd>\n                            \u003C\u002Ftr>\n                          \u003C\u002Ftbody>\n                        \u003C\u002Ftable>\n                        \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"margin-top:30px;\">\n                          \u003Ctbody>\n                            \u003Ctr>\n                              \u003Ctd>\n                                \u003Cp style=\"font-size:11px;line-height:24px;margin:0 0 5px;color:#24704c;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;\">\n                                  Worth your time\n                                \u003C\u002Fp>\n                                \u003Ch2 style=\"color:#172b24;font-size:21px;font-weight:700;line-height:29px;margin:0;\">\n                                  Top Articles\n                                \u003C\u002Fh2>\n                                \u003Cdiv style=\"border-bottom:1px solid #e6ece8;padding:18px 0;\">\n                                  \u003Cp style=\"font-size:12px;line-height:24px;margin:0 0 7px;color:#24704c;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;\">Certificates.dev · #1\u003C\u002Fp> \u003Ca style=\"color:#176a46;text-decoration:none;font-size:18px;font-weight:700;line-height:26px;text-decoration:none;\" href=\"https:\u002F\u002Fvuedigest.com\u002Fnews\u002Fa-reference-to-composable-patterns-in-vue\" target=\"_blank\">A Reference to Composable Patterns in Vue\u003C\u002Fa>\n                                  \u003Cp style=\"font-size:15px;line-height:23px;margin:8px 0 0;color:#52645a;\">This article provides a catalog of practical patterns for creating composables in Vue, focusing on flexibility, predictability, and reusability. It serves as a reference for developers looking to enhance their composable architecture in Vue applications.\u003C\u002Fp>\n                                \u003C\u002Fdiv>\n                                \u003Cdiv style=\"border-bottom:1px solid #e6ece8;padding:18px 0;\">\n                                  \u003Cp style=\"font-size:12px;line-height:24px;margin:0 0 7px;color:#24704c;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;\">alexop.dev · #2\u003C\u002Fp> \u003Ca style=\"color:#176a46;text-decoration:none;font-size:18px;font-weight:700;line-height:26px;text-decoration:none;\" href=\"https:\u002F\u002Fvuedigest.com\u002Fnews\u002Fenforce-tailwind-css-design-tokens-in-vue-with-shadcnlint\" target=\"_blank\">Enforce Tailwind CSS Design Tokens in Vue with @shadcn\u002Flint\u003C\u002Fa>\n                                  \u003Cp style=\"font-size:15px;line-height:23px;margin:8px 0 0;color:#52645a;\">The article discusses the use of @shadcn\u002Flint to enforce Tailwind CSS design tokens in Vue applications, addressing the gap between using Tailwind and ensuring adherence to design systems. It highlights how this linting tool can help both developers and AI agents maintain design consistency by providing feedback on violations and suggesting corrections. A practical example is provided, demonstrating the integration of the linter within a Vue project to enhance styling practices.\u003C\u002Fp>\n                                \u003C\u002Fdiv>\n                              \u003C\u002Ftd>\n                            \u003C\u002Ftr>\n                          \u003C\u002Ftbody>\n                        \u003C\u002Ftable>\n                        \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"margin-top:30px;\">\n                          \u003Ctbody>\n                            \u003Ctr>\n                              \u003Ctd>\n                                \u003Cp style=\"font-size:11px;line-height:24px;margin:0 0 5px;color:#24704c;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;\">\n                                  What shipped\n                                \u003C\u002Fp>\n                                \u003Ch2 style=\"color:#172b24;font-size:21px;font-weight:700;line-height:29px;margin:0;\">\n                                  GitHub Releases\n                                \u003C\u002Fh2>\n                                \u003Cp style=\"font-size:15px;line-height:24px;margin:12px 0;color:#52645a;\">This week in the Vue\u002FNuxt ecosystem, notable releases include the Pinia Colada plugin version 1.0.3, which enhances developer experience with new features. Nuxt UI v4.11.2 brings important bug fixes, particularly in component overrides and focus management. Additionally, Nuxt Content v3.16.1 introduces a new option to disable the nuxt-llms integration, providing developers with greater flexibility.\u003C\u002Fp> \u003Ca style=\"color:#167a4d;text-decoration:none;font-size:14px;font-weight:700;text-decoration:none;\" href=\"https:\u002F\u002Fvuedigest.com\u002Fgithub-releases\" target=\"_blank\">\n                                  View all releases →\n                                \u003C\u002Fa>\n                              \u003C\u002Ftd>\n                            \u003C\u002Ftr>\n                          \u003C\u002Ftbody>\n                        \u003C\u002Ftable>\n                        \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"margin-top:30px;\">\n                          \u003Ctbody>\n                            \u003Ctr>\n                              \u003Ctd>\n                                \u003Cp style=\"font-size:11px;line-height:24px;margin:0 0 5px;color:#24704c;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;\">\n                                  On the calendar\n                                \u003C\u002Fp>\n                                \u003Ch2 style=\"color:#172b24;font-size:21px;font-weight:700;line-height:29px;margin:0;\">\n                                  Upcoming Conferences\n                                \u003C\u002Fh2>\n                                \u003Cdiv style=\"border-bottom:1px solid #e6ece8;padding:16px 0;\">\u003Ca style=\"color:#176a46;text-decoration:none;font-size:17px;font-weight:700;line-height:25px;text-decoration:none;\" href=\"https:\u002F\u002Fpragvue.com\u002F\" target=\"_blank\">PragVue\u003C\u002Fa>\n                                  \u003Cp style=\"font-size:14px;line-height:21px;margin:6px 0 0;color:#52645a;\">Sep 29, 2026\u003Cspan> · Prag, Czech Republic\u003C\u002Fspan>\u003C\u002Fp>\n                                \u003C\u002Fdiv>\n                                \u003Cdiv style=\"border-bottom:1px solid #e6ece8;padding:16px 0;\">\u003Ca style=\"color:#176a46;text-decoration:none;font-size:17px;font-weight:700;line-height:25px;text-decoration:none;\" href=\"https:\u002F\u002Fvuefes.jp\u002F2026\u002F\" target=\"_blank\">Vue Fes Japan\u003C\u002Fa>\n                                  \u003Cp style=\"font-size:14px;line-height:21px;margin:6px 0 0;color:#52645a;\">Oct 24, 2026\u003Cspan> · Tokyo, Japan\u003C\u002Fspan>\u003C\u002Fp>\n                                \u003C\u002Fdiv>\n                                \u003Cdiv style=\"border-bottom:1px solid #e6ece8;padding:16px 0;\">\u003Ca style=\"color:#176a46;text-decoration:none;font-size:17px;font-weight:700;line-height:25px;text-decoration:none;\" href=\"https:\u002F\u002Fvuejs.amsterdam\u002F\" target=\"_blank\">VueJS Amsterdam\u003C\u002Fa>\n                                  \u003Cp style=\"font-size:14px;line-height:21px;margin:6px 0 0;color:#52645a;\">Mar 11, 2027 – Mar 12, 2027\u003Cspan> · Amsterdam, Netherlands\u003C\u002Fspan>\u003C\u002Fp>\n                                \u003C\u002Fdiv> \u003Ca style=\"color:#167a4d;text-decoration:none;font-size:14px;font-weight:700;text-decoration:none;\" href=\"https:\u002F\u002Fvuedigest.com\u002Fconferences\" target=\"_blank\">\n                                  View all conferences →\n                                \u003C\u002Fa>\n                              \u003C\u002Ftd>\n                            \u003C\u002Ftr>\n                          \u003C\u002Ftbody>\n                        \u003C\u002Ftable>\n                        \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"border-top:1px solid #e6ece8;margin-top:30px;padding-top:25px;\">\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\" width=\"52\">\u003Cimg style=\"display:block;outline:none;border:none;text-decoration:none;border-radius:50%;\" src=\"https:\u002F\u002Fmokkapps.twic.pics\u002Fvuedigest.com\u002F2024-profile-pic-1.png?twic=v1\u002Fresize=104x104\" width=\"52\" height=\"52\" alt=\"Michael Hoffmann\">\u003C\u002Ftd>\n                                      \u003Ctd role=\"presentation\" style=\"padding-left:14px;vertical-align:middle;\">\n                                        \u003Cp style=\"font-size:14px;line-height:21px;margin:0;color:#52645a;\">\n                                          Thanks for reading, see you next week!\n                                        \u003C\u002Fp>\n                                        \u003Cp style=\"font-size:15px;line-height:24px;margin:2px 0 0;color:#172b24;font-weight:700;\">\n                                          Michael Hoffmann\n                                        \u003C\u002Fp>\n                                      \u003C\u002Ftd>\n                                    \u003C\u002Ftr>\n                                  \u003C\u002Ftbody>\n                                \u003C\u002Ftable>\n                              \u003C\u002Ftd>\n                            \u003C\u002Ftr>\n                          \u003C\u002Ftbody>\n                        \u003C\u002Ftable>\n                        \u003Chr style=\"width: 100%; border: none; border-top: 1px solid #eaeaea;\">\n                        \u003Cp style=\"font-size:12px;line-height:19px;margin:0 0 5px;color:#738179;text-align:center;\">\n                          You received this email because you subscribed to the VueDigest newsletter.\n                        \u003C\u002Fp>\n                        \u003Cp style=\"font-size:12px;line-height:19px;margin:0 0 5px;color:#738179;text-align:center;\">\u003Ca style=\"color:#52645a;text-decoration:none;font-size:13px;text-decoration:underline;\" href=\"{{unsubscribeUrl}}\" target=\"_blank\">\n                            Unsubscribe\n                          \u003C\u002Fa>\u003C\u002Fp>\n                      \u003C\u002Ftd>\n                    \u003C\u002Ftr>\n                  \u003C\u002Ftbody>\n                \u003C\u002Ftable>\n              \u003C\u002Ftr>\n            \u003C\u002Ftbody>\n          \u003C\u002Ftable>\n        \u003C\u002Ftd>\n      \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n  \u003C\u002Ftable>\n  \u003Ctable align=\"center\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\">\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                \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;text-align:center;margin-bottom:0px;\">VueDigest\u003C\u002Fp>\n                \u003Cp style=\"font-size:14px;line-height:24px;margin:16px 0;text-align:center;margin-top:0px;\">\u003Ca style=\"color:#2FBC79;text-decoration:none;font-size:14px;text-align:center;\" href=\"https:\u002F\u002Fvuedigest.com\" target=\"_blank\" class=\"text-primary\">vuedigest.com\u003C\u002Fa>\u003C\u002Fp>\n              \u003C\u002Ftr>\n            \u003C\u002Ftbody>\n          \u003C\u002Ftable>\n        \u003C\u002Ftd>\n      \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n  \u003C\u002Ftable>\n\n\u003C\u002Fhtml>","01a0e850-c796-7344-8506-66e6efecd66f",214,{"articles":14,"weekLabel":25,"conferences":26,"editorPicks":45,"releasesUrl":46,"conferencesUrl":47,"releasesSummary":48},[15,20],{"url":16,"title":17,"summary":18,"sourceName":19},"https:\u002F\u002Fvuedigest.com\u002Fnews\u002Fa-reference-to-composable-patterns-in-vue","A Reference to Composable Patterns in Vue","This article provides a catalog of practical patterns for creating composables in Vue, focusing on flexibility, predictability, and reusability. It serves as a reference for developers looking to enhance their composable architecture in Vue applications.","Certificates.dev",{"url":21,"title":22,"summary":23,"sourceName":24},"https:\u002F\u002Fvuedigest.com\u002Fnews\u002Fenforce-tailwind-css-design-tokens-in-vue-with-shadcnlint","Enforce Tailwind CSS Design Tokens in Vue with @shadcn\u002Flint","The article discusses the use of @shadcn\u002Flint to enforce Tailwind CSS design tokens in Vue applications, addressing the gap between using Tailwind and ensuring adherence to design systems. It highlights how this linting tool can help both developers and AI agents maintain design consistency by providing feedback on violations and suggesting corrections. A practical example is provided, demonstrating the integration of the linter within a Vue project to enhance styling practices.","alexop.dev","Sep 21, 2026 – Sep 28, 2026",[27,33,39],{"url":28,"name":29,"location":30,"dateRange":31,"startDate":32},"https:\u002F\u002Fpragvue.com\u002F","PragVue","Prag, Czech Republic","Sep 29, 2026","2026-09-29T00:00:00.000Z",{"url":34,"name":35,"location":36,"dateRange":37,"startDate":38},"https:\u002F\u002Fvuefes.jp\u002F2026\u002F","Vue Fes Japan","Tokyo, Japan","Oct 24, 2026","2026-10-24T00:00:00.000Z",{"url":40,"name":41,"location":42,"dateRange":43,"startDate":44},"https:\u002F\u002Fvuejs.amsterdam\u002F","VueJS Amsterdam","Amsterdam, Netherlands","Mar 11, 2027 – Mar 12, 2027","2027-03-11T00:00:00.000Z",[],"https:\u002F\u002Fvuedigest.com\u002Fgithub-releases","https:\u002F\u002Fvuedigest.com\u002Fconferences","This week in the Vue\u002FNuxt ecosystem, notable releases include the Pinia Colada plugin version 1.0.3, which enhances developer experience with new features. Nuxt UI v4.11.2 brings important bug fixes, particularly in component overrides and focus management. Additionally, Nuxt Content v3.16.1 introduces a new option to disable the nuxt-llms integration, providing developers with greater flexibility.",472,"2026-09-28","[VueDigest] Weekly Digest — Sep 21, 2026 – Sep 28, 2026","2026-09-28T20:47:32.747Z","2026-09-28T14:00:00.094Z","2026-09-21T14:00:00.094Z"]