
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
@sveltejs/svelte-virtual-list
Advanced tools
A virtual list component for Svelte apps. Instead of rendering all your data, <VirtualList> just renders the bits that are visible, keeping your page nice and light.
yarn add @sveltejs/svelte-virtual-list
<script>
import VirtualList from '@sveltejs/svelte-virtual-list';
const things = [
// these can be any values you like
{ name: 'one', number: 1 },
{ name: 'two', number: 2 },
{ name: 'three', number: 3 },
// ...
{ name: 'six thousand and ninety-two', number: 6092 }
];
</script>
<VirtualList items={things} let:item>
<!-- this will be rendered for each currently visible item -->
<p>{item.number}: {item.name}</p>
</VirtualList>
start and endYou can track which rows are visible at any given by binding to the start and end values:
<VirtualList items={things} bind:start bind:end>
<p>{item.number}: {item.name}</p>
</VirtualList>
<p>showing {start}-{end} of {things.length} rows</p>
You can rename them with e.g. bind:start={a} bind:end={b}.
heightBy default, the <VirtualList> component will fill the vertical space of its container. You can specify a different height by passing any CSS length:
<VirtualList height="500px" items={things} let:item>
<p>{item.number}: {item.name}</p>
</VirtualList>
itemHeightYou can optimize initial display and scrolling when the height of items is known in advance. This should be a number representing a pixel value.
<VirtualList itemHeight={48} items={things} let:item>
<p>{item.number}: {item.name}</p>
</VirtualList>
If you're using webpack with svelte-loader, make sure that you add "svelte" to resolve.mainFields in your webpack config. This ensures that webpack imports the uncompiled component (src/index.html) rather than the compiled version (index.mjs) — this is more efficient.
If you're using Rollup with rollup-plugin-svelte, this will happen automatically.
FAQs
A <VirtualList> component for Svelte apps
The npm package @sveltejs/svelte-virtual-list receives a total of 25,051 weekly downloads. As such, @sveltejs/svelte-virtual-list popularity was classified as popular.
We found that @sveltejs/svelte-virtual-list demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.