{"adoption": {"forks": 973, "observed_at": "2026-08-28T04:10:44.300261+00:00", "stars": 10791}, "canonical_url": "https://ross.abutalabs.com/products/vue-virtual-scroller", "card": {"archived": false, "artifact_type": "library", "description": "⚡️ Blazing fast scrolling for any amount of data", "domain": ["frontend", "web-development", "performance"], "enriched": true, "function": ["ui-components", "frontend-framework"], "health_score": 98, "homepage": "https://vue-virtual-scroller.netlify.app/", "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["Akryum/vue-virtual-scroller"], "name": "Akryum/vue-virtual-scroller", "platform": ["browser"], "pushed_at": "2026-08-12T06:13:53+00:00", "repo": "Akryum/vue-virtual-scroller", "stars": 10791, "tags": ["vue", "vue3", "virtual-scrolling", "list-virtualization", "recycler-scroller", "dom-performance", "nodejs", "javascript"], "topics": ["vuejs", "vuejs2", "virtual-scroller", "scroller", "vuejs-components"], "urls": [], "use_cases": ["render huge lists in vue without lag", "virtualize a long table or feed in vue 3", "scroll thousands of rows smoothly", "render lists with unknown item heights", "keep DOM node count low for large datasets"], "what_it_is": "A Vue 3 component library providing virtual scrolling for rendering large lists efficiently by only rendering visible items. It includes RecycleScroller, DynamicScroller, and headless APIs for custom markup.", "when_to_avoid": ["you use React, Svelte, or another non-Vue framework", "you need ESM-incompatible legacy bundlers (ships ESM only)", "your lists are small enough that virtualization adds unneeded complexity"], "when_to_choose": ["you use Vue 3 (or Vue 2 via the v1 branch) and need performant large lists", "you want both fixed-size and dynamic-height virtualization", "you need headless virtualization with your own components"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vue-virtual-scroller", "repo": "Akryum/vue-virtual-scroller", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:44.300261+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:17:42.679679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "968919adb05f0d41205f8b04f8fa6cc06bcca1dff8b6ab6d8e1693e54c429f28", "fetched_at": "2026-08-28T04:10:44.300261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Akryum/vue-virtual-scroller"}, {"content_hash": "3055589ccf5979a131b8f3c73677c004b64f4403af2eaac36257b95c5c4213d7", "fetched_at": "2026-08-29T08:17:04.402478+00:00", "kind": "homepage", "missing": false, "url": "https://vue-virtual-scroller.netlify.app/"}, {"content_hash": "3adc7b0483c2469dea9046e602bf126093d74f98b43614f5605a06bbe843a13c", "fetched_at": "2026-08-29T08:17:04.411958+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/vue-virtual-scroller"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 97}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3564, "days_push": 21, "days_rel": 21, "gap_med": 7, "n_releases_24m": 8}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}