[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"verticals":3,"packages-recent-":32},[4,20],{"id":5,"slug":6,"name":7,"tagline":8,"description":9,"accentFrom":10,"accentTo":11,"icon":12,"defaultLocale":13,"locales":14,"features":16,"position":19},"019fe637-3d33-714b-b57f-23e163ffca0c","dev","Web Development","Build. Learn. Ship.","Practical courses, engineering-grade articles and open-source tools for people who ship.","violet-500","cyan-400","◇","en",[13,15],"fa",{"courses":17,"paths":17,"articles":17,"exams":18,"flashcards":18,"packages":17,"community":17,"certificates":17,"teams":17,"commerce":17},true,false,0,{"id":21,"slug":22,"name":23,"tagline":24,"description":25,"accentFrom":26,"accentTo":10,"icon":27,"defaultLocale":13,"locales":28,"features":30,"position":31},"019fe637-3dc2-754c-8657-0f175bfee7c6","lang","Languages","Learn a language the way you learn a codebase.","Structured paths, listening drills and spaced repetition that actually sticks.","amber-400","⌘",[13,15,29],"es",{"courses":17,"paths":17,"articles":18,"exams":18,"flashcards":18,"packages":18,"community":17,"certificates":18,"teams":18,"commerce":17},2,{"items":33,"meta":308},[34,55,69,85,101,115,129,142,156,170,183,195,208,220,232,246,257,268,281,294],{"id":35,"slug":36,"name":36,"scope":37,"registry":38,"tagline":39,"ecosystem":40,"repoUrl":41,"docsUrl":42,"registryUrl":43,"license":44,"isOfficial":17,"weekOf":45,"latestVersion":46,"stars":47,"weeklyDownloads":48,"voteCount":19,"publishedAt":45,"submittedBy":49,"vertical":53,"tags":54,"hasVoted":18},"019fe637-6114-723e-abe5-bac18d98eff7","tab-leader",null,"NPM","Elect one leader tab per browser session so timers and sockets run exactly once.","javascript","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Ftab-leader","https:\u002F\u002Fparsajiravand.github.io\u002Ftab-leader\u002F","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Ftab-leader","MIT","2026-08-31T00:00:00.000Z","0.1.0",127,76,{"id":50,"name":51,"username":52,"avatarUrl":37},"019fe637-3c25-7088-9034-39c9f15dc3c8","Parsa Jiravand","parsa",{"slug":6,"name":7},[],{"id":56,"slug":57,"name":57,"scope":37,"registry":38,"tagline":58,"ecosystem":59,"repoUrl":60,"docsUrl":61,"registryUrl":62,"license":44,"isOfficial":17,"weekOf":63,"latestVersion":46,"stars":64,"weeklyDownloads":65,"voteCount":19,"publishedAt":63,"submittedBy":66,"vertical":67,"tags":68,"hasVoted":18},"019fe637-6042-714f-9888-5d102e1f7aa5","use-autosave","Debounced autosave for React forms — status machine, tab-close flush, in-flight de-duping.","react","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fuse-autosave","https:\u002F\u002Fparsajiravand.github.io\u002Fuse-autosave\u002F","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fuse-autosave","2026-08-24T00:00:00.000Z",316,3941,{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[],{"id":70,"slug":71,"name":71,"scope":37,"registry":38,"tagline":72,"ecosystem":73,"repoUrl":74,"docsUrl":75,"registryUrl":76,"license":44,"isOfficial":17,"weekOf":77,"latestVersion":46,"stars":78,"weeklyDownloads":79,"voteCount":19,"publishedAt":77,"submittedBy":80,"vertical":81,"tags":82,"hasVoted":18},"019fe637-5f34-736c-a24b-fc17fafcf423","nuxt-maintenance","Maintenance mode for Nuxt 3\u002F4 — runtime env toggle, allowlist, bypass token, real 503.","nuxt","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fnuxt-maintenance","https:\u002F\u002Fparsajiravand.github.io\u002Fnuxt-maintenance\u002F","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnuxt-maintenance","2026-08-17T00:00:00.000Z",32,3577,{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[83],{"slug":73,"name":84},"Nuxt",{"id":86,"slug":87,"name":87,"scope":37,"registry":38,"tagline":88,"ecosystem":89,"repoUrl":90,"docsUrl":91,"registryUrl":92,"license":44,"isOfficial":17,"weekOf":93,"latestVersion":46,"stars":94,"weeklyDownloads":95,"voteCount":19,"publishedAt":93,"submittedBy":96,"vertical":97,"tags":98,"hasVoted":18},"019fe637-5e1e-775f-a4ae-913af3cd821a","vue-idle-guard","Session timeout for Vue 3 — idle detection, logout countdown, multi-tab activity sync.","vue","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fvue-idle-guard","https:\u002F\u002Fparsajiravand.github.io\u002Fvue-idle-guard\u002F","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvue-idle-guard","2026-08-10T00:00:00.000Z",368,1230,{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[99],{"slug":89,"name":100},"Vue",{"id":102,"slug":103,"name":103,"scope":37,"registry":38,"tagline":104,"ecosystem":89,"repoUrl":105,"docsUrl":106,"registryUrl":107,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":108,"stars":19,"weeklyDownloads":109,"voteCount":19,"publishedAt":110,"submittedBy":111,"vertical":112,"tags":113,"hasVoted":18},"019fe845-897a-7625-9d65-6d0c7ffe5afa","god-kit","God Kit — design tokens and Vue 3 primitives for God Plan apps","https:\u002F\u002Fgithub.com\u002Fgod-plans\u002Fgod-kit","https:\u002F\u002Fgodkit.godplans.org\u002F","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fgod-kit","0.8.9",20,"2026-05-01T11:34:17.384Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[114],{"slug":89,"name":100},{"id":116,"slug":117,"name":117,"scope":37,"registry":38,"tagline":118,"ecosystem":40,"repoUrl":37,"docsUrl":119,"registryUrl":120,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":121,"stars":19,"weeklyDownloads":122,"voteCount":19,"publishedAt":123,"submittedBy":124,"vertical":125,"tags":126,"hasVoted":18},"019fe845-7fda-7479-bc73-dd73217eba66","cross-framework","Source-to-source converter: React to Vue (and more)","https:\u002F\u002Fcross-framework.netlify.app\u002F","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcross-framework","0.1.4",21,"2026-03-25T08:15:50.328Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[127],{"slug":40,"name":128},"Javascript",{"id":130,"slug":131,"name":131,"scope":37,"registry":38,"tagline":132,"ecosystem":89,"repoUrl":133,"docsUrl":37,"registryUrl":134,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":135,"stars":19,"weeklyDownloads":136,"voteCount":19,"publishedAt":137,"submittedBy":138,"vertical":139,"tags":140,"hasVoted":18},"019fe845-82d6-712b-9d51-53e88dff04de","vue-heic-image","Vue 3 HEIC\u002FHEIF image preview and converter for the browser: HeicImage component, useHeicImage composable, PNG\u002FJPEG\u002FGIF output, TypeScript, iOS photos,…","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fvue-heic-image","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvue-heic-image","2.0.0",9,"2026-03-24T20:45:24.802Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[141],{"slug":89,"name":100},{"id":143,"slug":144,"name":144,"scope":37,"registry":38,"tagline":145,"ecosystem":40,"repoUrl":146,"docsUrl":147,"registryUrl":148,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":149,"stars":19,"weeklyDownloads":150,"voteCount":19,"publishedAt":151,"submittedBy":152,"vertical":153,"tags":154,"hasVoted":18},"019fe845-7ba6-703c-9a43-cfc23cbafd64","helping-js","helping-js: zero-dependency JavaScript utilities — type guards, 50+ regex patterns, validate(), TypeScript .d.ts, v3 helpers (string, array, object, async,…","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fhelping-js","https:\u002F\u002Fhelping-js.netlify.app","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fhelping-js","3.0.0",28,"2026-03-24T20:12:43.447Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[155],{"slug":40,"name":128},{"id":157,"slug":158,"name":158,"scope":37,"registry":38,"tagline":159,"ecosystem":59,"repoUrl":160,"docsUrl":37,"registryUrl":161,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":162,"stars":19,"weeklyDownloads":163,"voteCount":19,"publishedAt":164,"submittedBy":165,"vertical":166,"tags":167,"hasVoted":18},"019fe845-9053-769a-a471-7f70f176eb16","advanced-react-role-guard","Declarative role & permission guards for React apps","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Freact-role-guard","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fadvanced-react-role-guard","1.1.2",1,"2026-03-24T11:32:29.561Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[168],{"slug":59,"name":169},"React",{"id":171,"slug":172,"name":172,"scope":37,"registry":38,"tagline":173,"ecosystem":89,"repoUrl":174,"docsUrl":37,"registryUrl":175,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":176,"stars":19,"weeklyDownloads":177,"voteCount":19,"publishedAt":178,"submittedBy":179,"vertical":180,"tags":181,"hasVoted":18},"019fe845-6e34-7770-be73-ed5584912d82","vue3-form-wizard","vue3-form-wizard is a vue based component with no external depenendcies which simplifies tab wizard management.","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fvue3-form-wizard","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvue3-form-wizard","1.1.1",5709,"2026-03-19T20:02:00.994Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[182],{"slug":89,"name":100},{"id":184,"slug":185,"name":185,"scope":37,"registry":38,"tagline":186,"ecosystem":59,"repoUrl":187,"docsUrl":37,"registryUrl":188,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":176,"stars":19,"weeklyDownloads":189,"voteCount":19,"publishedAt":190,"submittedBy":191,"vertical":192,"tags":193,"hasVoted":18},"019fe845-72cf-75bf-b49f-7db932c2cc7f","react-form-wizard-component","A modern, accessible React form wizard component with validation, progress tracking, and extensive customization options.","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Freact-form-wizard","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Freact-form-wizard-component",4088,"2026-03-10T19:58:55.859Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[194],{"slug":59,"name":169},{"id":196,"slug":197,"name":197,"scope":37,"registry":38,"tagline":198,"ecosystem":89,"repoUrl":199,"docsUrl":37,"registryUrl":200,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":201,"stars":19,"weeklyDownloads":202,"voteCount":19,"publishedAt":203,"submittedBy":204,"vertical":205,"tags":206,"hasVoted":18},"019fe845-7739-757e-9920-1b9313a1c95c","vue-client-recaptcha","Build simple recaptcha for vuejs without need server","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fvue-client-recaptcha","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvue-client-recaptcha","2.0.1",488,"2026-03-10T17:19:09.373Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[207],{"slug":89,"name":100},{"id":209,"slug":210,"name":210,"scope":37,"registry":38,"tagline":211,"ecosystem":59,"repoUrl":212,"docsUrl":37,"registryUrl":213,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":121,"stars":19,"weeklyDownloads":214,"voteCount":19,"publishedAt":215,"submittedBy":216,"vertical":217,"tags":218,"hasVoted":18},"019fe845-96cc-756a-9118-7b56c701c7df","react-performance-monitoring","Developer-focused performance monitoring HUD for React applications.","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Freact-performance-monitor","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Freact-performance-monitoring",5,"2026-02-12T16:12:54.190Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[219],{"slug":59,"name":169},{"id":221,"slug":222,"name":222,"scope":37,"registry":38,"tagline":223,"ecosystem":224,"repoUrl":225,"docsUrl":37,"registryUrl":226,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":227,"stars":19,"weeklyDownloads":19,"voteCount":19,"publishedAt":228,"submittedBy":229,"vertical":230,"tags":231,"hasVoted":18},"019fe845-a0d4-742d-b9a7-e9156ca84f02","next-dynamic-sitemap-generator","Automatically generate sitemap.xml and robots.txt for Next.js apps with support for dynamic routes and ISR","next","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fnext-dynamic-sitemap","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnext-dynamic-sitemap-generator","1.0.1","2025-10-06T20:14:27.913Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[],{"id":233,"slug":234,"name":234,"scope":37,"registry":38,"tagline":235,"ecosystem":59,"repoUrl":236,"docsUrl":237,"registryUrl":238,"license":37,"isOfficial":18,"weekOf":37,"latestVersion":239,"stars":19,"weeklyDownloads":240,"voteCount":19,"publishedAt":241,"submittedBy":242,"vertical":243,"tags":244,"hasVoted":18},"019fe845-9336-73de-84c6-8de51c83bfe2","react-scroll-narrator","A React component for creating scroll-driven storytelling UIs with smooth animations, inspired by Apple product pages","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Freact-scroll-narrator","https:\u002F\u002Freact-scroll-narrator.netlify.app","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Freact-scroll-narrator","1.0.5",11,"2025-10-04T13:30:17.266Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[245],{"slug":59,"name":169},{"id":247,"slug":248,"name":248,"scope":37,"registry":38,"tagline":249,"ecosystem":59,"repoUrl":250,"docsUrl":37,"registryUrl":251,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":227,"stars":19,"weeklyDownloads":19,"voteCount":19,"publishedAt":252,"submittedBy":253,"vertical":254,"tags":255,"hasVoted":18},"019fe845-9e90-71da-8636-9e09ecdf2a70","use-clipboard-history","A React hook for managing clipboard history with customizable UI components","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fuse-clipboard-history","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fuse-clipboard-history","2025-08-01T10:10:57.003Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[256],{"slug":59,"name":169},{"id":258,"slug":259,"name":259,"scope":37,"registry":38,"tagline":260,"ecosystem":89,"repoUrl":261,"docsUrl":37,"registryUrl":262,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":121,"stars":19,"weeklyDownloads":136,"voteCount":19,"publishedAt":263,"submittedBy":264,"vertical":265,"tags":266,"hasVoted":18},"019fe845-8d50-71a5-8c8a-07f55ee6e197","vue-camera-kit","A versatile Vue 3 camera component for capturing photos and videos with advanced features","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fvue-camera-kit","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvue-camera-kit","2025-03-19T16:25:45.932Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[267],{"slug":89,"name":100},{"id":269,"slug":270,"name":270,"scope":37,"registry":38,"tagline":271,"ecosystem":89,"repoUrl":272,"docsUrl":37,"registryUrl":273,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":274,"stars":19,"weeklyDownloads":275,"voteCount":19,"publishedAt":276,"submittedBy":277,"vertical":278,"tags":279,"hasVoted":18},"019fe845-998c-778a-b81d-9d9e80883fa2","vue-advanced-screen-recorder","A Vue component for recording the screen with advanced features","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fvue-advanced-screen-recorder","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fvue-advanced-screen-recorder","1.0.4",7,"2025-03-13T22:38:57.320Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[280],{"slug":89,"name":100},{"id":282,"slug":283,"name":283,"scope":37,"registry":38,"tagline":284,"ecosystem":40,"repoUrl":285,"docsUrl":37,"registryUrl":286,"license":287,"isOfficial":18,"weekOf":37,"latestVersion":227,"stars":19,"weeklyDownloads":288,"voteCount":19,"publishedAt":289,"submittedBy":290,"vertical":291,"tags":292,"hasVoted":18},"019fe845-9c4c-773a-b630-cd8b4167b9ac","simple-form-data-function","This package provides a utility function `easyFormData` for converting a JavaScript object into `FormData` format, which is especially useful when the…","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fsimple-form-data","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fsimple-form-data-function","ISC",3,"2024-06-11T20:47:59.758Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[293],{"slug":40,"name":128},{"id":295,"slug":296,"name":296,"scope":37,"registry":38,"tagline":297,"ecosystem":73,"repoUrl":298,"docsUrl":299,"registryUrl":300,"license":44,"isOfficial":18,"weekOf":37,"latestVersion":301,"stars":19,"weeklyDownloads":302,"voteCount":19,"publishedAt":303,"submittedBy":304,"vertical":305,"tags":306,"hasVoted":18},"019fe845-852d-75db-94ce-db0a3aa675b3","nuxt-content-stand","Integration with Nuxt Content without documentDriven mode","https:\u002F\u002Fgithub.com\u002Fparsajiravand\u002Fnuxt-content-standalone","https:\u002F\u002Fnuxt-content-stand.netlify.app","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnuxt-content-stand","1.0.0-beta.8",45,"2023-06-25T14:24:48.605Z",{"id":50,"name":51,"username":52,"avatarUrl":37},{"slug":6,"name":7},[307],{"slug":73,"name":84},{"page":163,"perPage":309,"total":109,"totalPages":163},24]