[{"data":1,"prerenderedAt":241},["ShallowReactive",2],{"articles":3},["Reactive",4],[5,35,60,83,100,130,156,175,197,219],{"type_of":6,"id":7,"title":8,"description":9,"readable_publish_date":10,"slug":11,"path":12,"url":13,"comments_count":14,"public_reactions_count":15,"collection_id":16,"published_timestamp":17,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":15,"cover_image":16,"social_image":21,"canonical_url":13,"created_at":17,"edited_at":16,"crossposted_at":16,"published_at":17,"last_comment_at":17,"reading_time_minutes":22,"tag_list":23,"tags":28,"user":29},"article",4539615,"Using Playwright projects and Page extensions to run tests on multiple testing environments","The setup   We are a team of 8 and our main focus in the past years has been a multiplatform...","Aug 31","using-playwright-projects-and-page-extensions-to-run-tests-on-multiple-testing-environments-3imm","/andras_sarro_2b04da0cc4d2/using-playwright-projects-and-page-extensions-to-run-tests-on-multiple-testing-environments-3imm","https://dev.to/andras_sarro_2b04da0cc4d2/using-playwright-projects-and-page-extensions-to-run-tests-on-multiple-testing-environments-3imm",0,1,null,"2026-08-31T18:53:35Z","en","not_disclosed","Not Disclosed","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxomynf2u4688553273lm.png",19,[24,25,26,27],"automation","javascript","testing","vue","automation, javascript, testing, vue",{"name":30,"username":31,"twitter_username":16,"github_username":16,"user_id":32,"website_url":16,"profile_image":33,"profile_image_90":34},"Andras Sarro","andras_sarro_2b04da0cc4d2",4097963,"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4097963%2Fc14e465b-cc7d-40c1-a658-4dfadf68838a.jpg","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4097963%2Fc14e465b-cc7d-40c1-a658-4dfadf68838a.jpg",{"type_of":6,"id":36,"title":37,"description":38,"readable_publish_date":39,"slug":40,"path":41,"url":42,"comments_count":14,"public_reactions_count":43,"collection_id":16,"published_timestamp":44,"language":18,"subforem_id":15,"ai_disclosure_level":45,"ai_disclosure_label":46,"positive_reactions_count":43,"cover_image":47,"social_image":48,"canonical_url":42,"created_at":44,"edited_at":16,"crossposted_at":16,"published_at":44,"last_comment_at":44,"reading_time_minutes":15,"tag_list":49,"tags":52,"user":53},4551628,"JavaScript Callbacks","A callback function is a function that is passed as an argument to another function and executed...","Sep 2","javascript-callbacks-3nic","/karthick_07/javascript-callbacks-3nic","https://dev.to/karthick_07/javascript-callbacks-3nic",2,"2026-09-02T03:24:30Z","no_ai","No AI","https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fll93p2ai8l0e4jxnvo9l.png","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fll93p2ai8l0e4jxnvo9l.png",[25,50,27,51],"javascriptlibraries","react","javascript, javascriptlibraries, vue, react",{"name":54,"username":55,"twitter_username":16,"github_username":16,"user_id":56,"website_url":57,"profile_image":58,"profile_image_90":59},"Karthick (k)","karthick_07",3924592,"https://new-portfolio-ae42b2.gitlab.io/","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924592%2Fc7d24a28-37c4-4afc-af8e-88377a701cba.png","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924592%2Fc7d24a28-37c4-4afc-af8e-88377a701cba.png",{"type_of":6,"id":61,"title":62,"description":63,"readable_publish_date":64,"slug":65,"path":66,"url":67,"comments_count":14,"public_reactions_count":14,"collection_id":16,"published_timestamp":68,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":14,"cover_image":16,"social_image":69,"canonical_url":70,"created_at":71,"edited_at":16,"crossposted_at":16,"published_at":68,"last_comment_at":68,"reading_time_minutes":43,"tag_list":72,"tags":74,"user":75},4529721,"Auto-layout you don't have to build","Originally published on the Grafloria engineering blog.   There's a special kind of feature request:...","Aug 30","auto-layout-you-dont-have-to-build-1311","/ramy_othman/auto-layout-you-dont-have-to-build-1311","https://dev.to/ramy_othman/auto-layout-you-dont-have-to-build-1311","2026-08-30T16:12:34Z","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj8y2hlum66ecpvtaqxdz.png","https://grafloria.com/blog/auto-layout-you-dont-have-to-build/","2026-08-30T16:04:19Z",[51,73,27,25],"angular","react, angular, vue, javascript",{"name":76,"username":77,"twitter_username":16,"github_username":78,"user_id":79,"website_url":80,"profile_image":81,"profile_image_90":82},"Ramy Othman","ramy_othman","visionarerthm",4101566,"https://grafloria.com","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4101566%2F943518a4-ccb8-4ccb-bad0-f86d168e24f8.png","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4101566%2F943518a4-ccb8-4ccb-bad0-f86d168e24f8.png",{"type_of":6,"id":84,"title":85,"description":86,"readable_publish_date":64,"slug":87,"path":88,"url":89,"comments_count":14,"public_reactions_count":14,"collection_id":16,"published_timestamp":90,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":14,"cover_image":16,"social_image":91,"canonical_url":92,"created_at":93,"edited_at":16,"crossposted_at":16,"published_at":90,"last_comment_at":90,"reading_time_minutes":94,"tag_list":95,"tags":98,"user":99},4529722,"Build a workflow editor in Vue 3 — the whole thing","Originally published on the Grafloria engineering blog.   Vue gets fewer diagram tutorials than...","build-a-workflow-editor-in-vue-3-the-whole-thing-4602","/ramy_othman/build-a-workflow-editor-in-vue-3-the-whole-thing-4602","https://dev.to/ramy_othman/build-a-workflow-editor-in-vue-3-the-whole-thing-4602","2026-08-30T16:12:28Z","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe32qjoftw3wlf9ef7yxz.png","https://grafloria.com/blog/build-a-workflow-editor-in-vue/","2026-08-30T16:04:23Z",3,[27,25,96,97],"tutorial","webdev","vue, javascript, tutorial, webdev",{"name":76,"username":77,"twitter_username":16,"github_username":78,"user_id":79,"website_url":80,"profile_image":81,"profile_image_90":82},{"type_of":6,"id":101,"title":102,"description":103,"readable_publish_date":64,"slug":104,"path":105,"url":106,"comments_count":14,"public_reactions_count":14,"collection_id":16,"published_timestamp":107,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":14,"cover_image":108,"social_image":109,"canonical_url":106,"created_at":110,"edited_at":111,"crossposted_at":16,"published_at":107,"last_comment_at":107,"reading_time_minutes":112,"tag_list":113,"tags":116,"user":117,"organization":125},4526871,"From Empty Folder to Live URL: A Beginner's Full-Stack App on AWS Fargate","A beginner-friendly walkthrough of building a movies app with Vue 3 and Express, storing data in...","from-empty-folder-to-live-url-a-beginners-full-stack-app-on-aws-fargate-3e6g","/aws-builders/from-empty-folder-to-live-url-a-beginners-full-stack-app-on-aws-fargate-3e6g","https://dev.to/aws-builders/from-empty-folder-to-live-url-a-beginners-full-stack-app-on-aws-fargate-3e6g","2026-08-30T07:37:41Z","https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9b4i1t0fg012iab7e5gr.png","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9b4i1t0fg012iab7e5gr.png","2026-08-30T06:51:54Z","2026-08-30T10:18:11Z",16,[114,115,96,27],"aws","beginners","aws, beginners, tutorial, vue",{"name":118,"username":119,"twitter_username":120,"github_username":119,"user_id":121,"website_url":122,"profile_image":123,"profile_image_90":124},"Sri","kasukur","sri_k47",643937,"https://www.linkedin.com/in/sridharkasukurthy","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F643937%2Fcd8d3f00-3a1b-4ac1-89cc-6b50a2e021de.JPG","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F643937%2Fcd8d3f00-3a1b-4ac1-89cc-6b50a2e021de.JPG",{"name":126,"username":127,"slug":127,"profile_image":128,"profile_image_90":129},"AWS Community Builders ","aws-builders","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png",{"type_of":6,"id":131,"title":132,"description":133,"readable_publish_date":134,"slug":135,"path":136,"url":137,"comments_count":14,"public_reactions_count":94,"collection_id":16,"published_timestamp":138,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":94,"cover_image":16,"social_image":139,"canonical_url":137,"created_at":138,"edited_at":16,"crossposted_at":16,"published_at":138,"last_comment_at":138,"reading_time_minutes":140,"tag_list":141,"tags":143,"user":144,"organization":151},4494947,"Counting text is harder than it looks (especially once Chinese and emoji show up)","I used to think a word counter was the most boring tool imaginable. Split on spaces, maybe trim a...","Aug 26","counting-text-is-harder-than-it-looks-especially-once-chinese-and-emoji-show-up-3amh","/begoodtool/counting-text-is-harder-than-it-looks-especially-once-chinese-and-emoji-show-up-3amh","https://dev.to/begoodtool/counting-text-is-harder-than-it-looks-especially-once-chinese-and-emoji-show-up-3amh","2026-08-26T13:00:02Z","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff7b25veky74uw9s3q51d.png",4,[25,27,142],"algorithms","javascript, vue, algorithms",{"name":145,"username":146,"twitter_username":16,"github_username":16,"user_id":147,"website_url":148,"profile_image":149,"profile_image_90":150},"Joe Lin","yuntao_lin",4066889,"https://begoodtool.com/home/en","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4066889%2Fcbfd5bde-d893-4635-97d5-aea05722cb26.jpeg","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4066889%2Fcbfd5bde-d893-4635-97d5-aea05722cb26.jpeg",{"name":152,"username":153,"slug":153,"profile_image":154,"profile_image_90":155},"BeGoodTool.com","begoodtool","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F14295%2Fd519278f-433a-4dab-9489-447ef51fc6d4.jpg","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F14295%2Fd519278f-433a-4dab-9489-447ef51fc6d4.jpg",{"type_of":6,"id":157,"title":158,"description":159,"readable_publish_date":39,"slug":160,"path":161,"url":162,"comments_count":15,"public_reactions_count":15,"collection_id":16,"published_timestamp":163,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":15,"cover_image":16,"social_image":164,"canonical_url":162,"created_at":163,"edited_at":16,"crossposted_at":16,"published_at":163,"last_comment_at":165,"reading_time_minutes":43,"tag_list":166,"tags":168,"user":169},4556712,"How to Encrypt PDF Files in the Browser with Vue 3 and pdf-lib","Encrypting PDFs in the browser requires careful handling of passwords and encryption standards....","how-to-encrypt-pdf-files-in-the-browser-with-vue-3-and-pdf-lib-135k","/sunshey/how-to-encrypt-pdf-files-in-the-browser-with-vue-3-and-pdf-lib-135k","https://dev.to/sunshey/how-to-encrypt-pdf-files-in-the-browser-with-vue-3-and-pdf-lib-135k","2026-09-02T13:45:31Z","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdi5hh63flmnfmo3f8pi0.png","2026-09-02T14:15:34Z",[97,167,25,27],"pdf","webdev, pdf, javascript, vue",{"name":170,"username":170,"twitter_username":16,"github_username":170,"user_id":171,"website_url":172,"profile_image":173,"profile_image_90":174},"sunshey",3960024,"https://en.sotool.top","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3960024%2F275eb34f-65b0-4b9d-b739-824cfbf6c2cb.png",{"type_of":6,"id":176,"title":177,"description":178,"readable_publish_date":134,"slug":179,"path":180,"url":181,"comments_count":14,"public_reactions_count":14,"collection_id":16,"published_timestamp":182,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":14,"cover_image":183,"social_image":184,"canonical_url":181,"created_at":185,"edited_at":16,"crossposted_at":16,"published_at":182,"last_comment_at":182,"reading_time_minutes":140,"tag_list":186,"tags":189,"user":190},4468638,"Vue 3 Contact Forms Without Writing a Single Line of Backend Code","Vue 3 Contact Forms Without Writing a Single Line of Backend Code   Building a contact form...","vue-3-contact-forms-without-writing-a-single-line-of-backend-code-23b0","/ekwoster/vue-3-contact-forms-without-writing-a-single-line-of-backend-code-23b0","https://dev.to/ekwoster/vue-3-contact-forms-without-writing-a-single-line-of-backend-code-23b0","2026-08-26T15:35:00Z","https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fft8xck2o84toa1avcklu.png","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fft8xck2o84toa1avcklu.png","2026-08-23T15:36:05Z",[27,97,187,188],"frontend","staticwebapps","vue, webdev, frontend, staticwebapps",{"name":191,"username":192,"twitter_username":192,"github_username":16,"user_id":193,"website_url":194,"profile_image":195,"profile_image_90":196},"Yevhen Kozachenko 🇺🇦🇩🇪","ekwoster",3415300,"https://ekwoster.dev","https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3415300%2F145683af-9716-4263-812e-25a3962d2552.jpg","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3415300%2F145683af-9716-4263-812e-25a3962d2552.jpg",{"type_of":6,"id":198,"title":199,"description":200,"readable_publish_date":201,"slug":202,"path":203,"url":204,"comments_count":14,"public_reactions_count":14,"collection_id":16,"published_timestamp":205,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":14,"cover_image":16,"social_image":206,"canonical_url":207,"created_at":208,"edited_at":16,"crossposted_at":16,"published_at":205,"last_comment_at":205,"reading_time_minutes":94,"tag_list":209,"tags":211,"user":212},4486903,"Vue's Vapor Mode Is Almost Here. Writing Browser Games With No Framework Taught Me Why It Matters","Vue 3.6 entered release-candidate stage in July, and with it Vapor Mode is finally feature-complete:...","Aug 25","vues-vapor-mode-is-almost-here-writing-browser-games-with-no-framework-taught-me-why-it-matters-5gak","/gabbrowick/vues-vapor-mode-is-almost-here-writing-browser-games-with-no-framework-taught-me-why-it-matters-5gak","https://dev.to/gabbrowick/vues-vapor-mode-is-almost-here-writing-browser-games-with-no-framework-taught-me-why-it-matters-5gak","2026-08-25T16:28:49Z","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6jbi9zreo8tq46nv4g37.png","https://gabrielepieretti.dev/blog-en/vue-vapor-mode-games-without-framework/","2026-08-25T16:26:20Z",[27,25,210,97],"performance","vue, javascript, performance, webdev",{"name":213,"username":214,"twitter_username":16,"github_username":215,"user_id":216,"website_url":16,"profile_image":217,"profile_image_90":218},"Gabriele Pieretti","gabbrowick","GabbroWick",4081509,"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4081509%2F97ad5a9c-8094-4644-b924-bfeb72c87649.jpg","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4081509%2F97ad5a9c-8094-4644-b924-bfeb72c87649.jpg",{"type_of":6,"id":220,"title":221,"description":222,"readable_publish_date":223,"slug":224,"path":225,"url":226,"comments_count":14,"public_reactions_count":94,"collection_id":16,"published_timestamp":227,"language":18,"subforem_id":15,"ai_disclosure_level":19,"ai_disclosure_label":20,"positive_reactions_count":94,"cover_image":228,"social_image":229,"canonical_url":226,"created_at":230,"edited_at":16,"crossposted_at":16,"published_at":227,"last_comment_at":227,"reading_time_minutes":43,"tag_list":231,"tags":233,"user":234},4524729,"PrimeVue v4 Stopped Active Dev: OpenVue Takes Over on MIT","If your stack relies on PrimeVue v4, there's a recent change in the project's maintenance lifecycle...","Aug 29","primevue-v4-stopped-active-dev-openvue-takes-over-on-mit-5c05","/njevric/primevue-v4-stopped-active-dev-openvue-takes-over-on-mit-5c05","https://dev.to/njevric/primevue-v4-stopped-active-dev-openvue-takes-over-on-mit-5c05","2026-08-29T22:48:30Z","https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flmjkwzkxqh80xzk51o9z.png","https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flmjkwzkxqh80xzk51o9z.png","2026-08-29T22:28:29Z",[27,97,25,232],"opensource","vue, webdev, javascript, opensource",{"name":235,"username":236,"twitter_username":16,"github_username":237,"user_id":238,"website_url":16,"profile_image":239,"profile_image_90":240},"Nikola Jevrić","njevric","NJevric",4094784,"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4094784%2F423876da-aea8-43ce-b0d0-48f5444d683c.png","https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4094784%2F423876da-aea8-43ce-b0d0-48f5444d683c.png",1788519848122]