Skip to content

Commit 5afde83

Browse files
committed
Rerun
1 parent c6d381c commit 5afde83

File tree

3,345 files changed

+13415
-7140
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,345 files changed

+13415
-7140
lines changed

apps/svelte.dev/scripts/registry/npm.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,8 @@ export interface SearchOptions {
367367

368368
/** Whether to use the cache of markdown files */
369369
skip_cached?: boolean;
370+
371+
exclude_official?: boolean;
370372
}
371373

372374
export type StructuredInterimPackage = {
@@ -410,7 +412,8 @@ export async function* stream_search_by_keywords({
410412
limit = Infinity,
411413
fetch = { package_json: true },
412414
batch_size = 10,
413-
skip_cached = false
415+
skip_cached = false,
416+
exclude_official = true
414417
}: SearchOptions): AsyncGenerator<Map<string, StructuredInterimPackage>> {
415418
let total_runs = 0;
416419
let collected_packages = new Map<string, StructuredInterimPackage>();
@@ -445,6 +448,7 @@ export async function* stream_search_by_keywords({
445448
// Process each package
446449
for (const obj of results.objects) {
447450
if (skip_cached && (await PackageCache.has(obj.package.name))) continue;
451+
448452
// Check if we've seen this package before (either in current batch or previous batches)
449453
if (all_seen_packages.has(obj.package.name)) {
450454
console.log(
@@ -469,7 +473,7 @@ export async function* stream_search_by_keywords({
469473
// Skip if we've reached the limit
470474
if (total_runs >= limit) break;
471475

472-
// Exclude 'svelte' and '@sveltejs/kit' package
476+
// Exclude 'svelte' and Kit
473477
if (obj.package.name === 'svelte' || obj.package.name === '@sveltejs/kit') {
474478
continue;
475479
}

apps/svelte.dev/scripts/registry/update-registry.ts

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// Credit for original: Astro team
21
import { createOpenRouter } from '@openrouter/ai-sdk-provider';
32
import { generateText } from 'ai';
43
import dotenv from 'dotenv';
@@ -7,6 +6,7 @@ import path from 'node:path';
76
import { fileURLToPath } from 'node:url';
87
import glob from 'tiny-glob/sync.js';
98
import registry from '../../src/lib/registry.json' with { type: 'json' };
9+
import type { Package } from '../../src/lib/server/content.js';
1010
import {
1111
fetch_details_for_package,
1212
fetch_downloads_for_package,
@@ -19,7 +19,7 @@ import {
1919
superfetch,
2020
type StructuredInterimPackage
2121
} from './npm.js';
22-
import type { Package } from '../../src/lib/server/content.js';
22+
import { program } from 'commander';
2323

2424
dotenv.config({ path: '.env.local' });
2525

@@ -140,7 +140,7 @@ interface ProcessBatchesOptions {
140140
async function process_batches_through_llm({
141141
keywords = ['svelte'],
142142
limit = Infinity,
143-
batch_size = 25,
143+
batch_size = 20,
144144
max_retries = 2,
145145
retry_count = 0,
146146
failed_packages = null
@@ -201,19 +201,23 @@ async function process_batches_through_llm({
201201
- Any package with "-react" suffix
202202
203203
3. For INCLUDED packages:
204-
- Assign relevant tags
205-
- Clean up description
204+
- Assign relevant tags based on functionality
205+
- ALWAYS provide a terse description:
206+
- Must be plain text (no markdown, HTML, or special chars)
207+
- Should be 30-80 characters, direct and to the point
208+
- Use simple present tense verbs
209+
- No need for complete sentences; can omit articles
206210
207211
OUTPUT FORMAT:
208212
Return ONLY a valid JSON object like this:
209213
{
210214
"package-name-1": {
211215
"tags": ["tag1", "tag2"],
212-
"description": "Description"
216+
"description": "Parse Svelte markup without parsing script or style tags, useful for codemods and tooling."
213217
},
214218
"package-name-2": {
215219
"tags": ["tag1", "tag3"],
216-
"description": "Description"
220+
"description": "Accessible UI components for Svelte applications."
217221
}
218222
}
219223
@@ -236,7 +240,7 @@ async function process_batches_through_llm({
236240
{
237241
"package-name": {
238242
"tags": ["tag1", "tag2"],
239-
"description": "Clean description"
243+
"description": "Terse description"
240244
}
241245
}
242246
@@ -248,13 +252,29 @@ async function process_batches_through_llm({
248252
3. Exclude packages without \`\`\`svelte code examples in README
249253
4. ALWAYS exclude "embla-carousel-react" and similar packages
250254
255+
DESCRIPTION REQUIREMENTS:
256+
For ALL qualifying packages:
257+
1. Create terse, direct descriptions (30-80 characters)
258+
2. Start with a verb in present tense (Parse, Create, Generate, etc.)
259+
3. Focus only on core functionality, omit fluff
260+
4. Articles (a, an, the) can be omitted
261+
5. Use plain text only - no markdown, HTML, or special characters
262+
6. Prioritize brevity over completeness
263+
264+
EXAMPLE FORMATS:
265+
- "Parse Svelte markup without parsing script tags, useful for codemods."
266+
- "Generate type definitions for Svelte components."
267+
- "Build forms with validation in Svelte apps."
268+
- "Convert Markdown to Svelte components."
269+
251270
AVAILABLE TAGS:
252271
${JSON.stringify(TAGS_PROMPT)}
253272
254273
${JSON.stringify(batch_data)}`,
255274
maxRetries: 3,
256275
temperature: 0.0 // Absolutely no deviation
257276
});
277+
258278
console.timeEnd(`llm-${batch_id}`);
259279

260280
// Parse the LLM response
@@ -570,8 +590,12 @@ async function* create_map_batch_generator(
570590
}
571591
}
572592

573-
// const svelte_packages = await process_batches_through_llm();
593+
const svelte_packages = await process_batches_through_llm();
574594

575-
update_cache_from_npm();
576-
// update_all_github_stars();
595+
// update_cache_from_npm();
596+
await update_all_github_stars();
577597
// delete_untagged();
598+
599+
// program.name('packages').description('Package to curate the svelte.dev/packages list');
600+
601+
// program.command('update').addArgument({ name: 'github-stars', required: false });

apps/svelte.dev/src/lib/registry.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,67 @@
11
{
22
"tags": {
33
"component-library": {
4-
"prompt": "ANY collection of Svelte components (2 or more). UI kits, design systems, widget collections, form components.",
4+
"prompt": "MUST contain 2+ reusable Svelte components designed as a cohesive set with shared design principles. Examples: complete UI kits, design systems, form libraries, widget collections. Key indicator: components are intentionally built to work together, share styling patterns, and serve a unified purpose. NOT a single component or unrelated components bundled together.",
55
"title": "Component Collections & UI Kits"
66
},
77
"ui": {
8-
"prompt": "ANY UI-related code for Svelte. Single components, styling utilities, animations, transitions, visual elements, modals, tooltips.",
8+
"prompt": "Individual visual Svelte components or styling tools focused on appearance. Examples: standalone UI elements (buttons, modals, dropdowns), animation libraries, transition effects, tooltips. Key indicator: primary purpose is enhancing visual presentation. NOT utility libraries, state management tools, or multi-component systems that would qualify as component libraries.",
99
"title": "UI Components & Elements"
1010
},
1111
"utility": {
12-
"prompt": "ANY helper functionality for Svelte. Stores, actions, directives, hooks, form handling, data fetching, validation, i18n.",
12+
"prompt": "Non-visual logic and helper functions for Svelte. Examples: custom stores, actions, directives, form validation, state management tools. Key indicator: focuses on behavior and functionality rather than appearance. NOT visual components, routers, or content rendering tools. Solves specific developer implementation challenges with minimal UI output.",
1313
"title": "Svelte Utility Helpers"
1414
},
1515
"router": {
16-
"prompt": "ANY routing or navigation related code. Page transitions, route management, URL handling, history management.",
16+
"prompt": "Manages navigation and URL handling in Svelte apps. Examples: client-side routers, path matching utilities, navigation guards, route parameter parsers. Key indicator: primary purpose is handling application navigation flow and URL state. NOT page transition animations (ui tag) or general application state management (utility tag).",
1717
"title": "Routing & Navigation"
1818
},
1919
"content": {
20-
"prompt": "ANY content or data handling. Markdown, MDX, CMS integration, blogs, static site generation, content editing.",
20+
"prompt": "Tools for creating, processing, and rendering structured content in Svelte. Examples: Markdown/MDX processors, CMS connectors, blog frameworks, documentation generators. Key indicator: focused on content authoring, organization, or display. NOT general data fetching (server tag) or UI components (ui tag) unless specifically content-oriented.",
2121
"title": "Content Management"
2222
},
2323
"media": {
24-
"prompt": "ANY media-related features. Images, videos, audio, file uploads, media players, carousels, galleries.",
24+
"prompt": "Tools specifically for handling images, video, audio or file assets in Svelte. Examples: media players, image galleries, file uploaders, lazy-loading media components. Key indicator: primarily works with media files or streams. NOT general UI components or data fetching utilities unless media-specific.",
2525
"title": "Media Handling"
2626
},
2727
"server": {
28-
"prompt": "ANY server-related functionality. SSR, API integration, data fetching, backend communication, cookies, sessions.",
28+
"prompt": "Tools for server-side operations and client-server communication in Svelte. Examples: SSR utilities, API clients, data fetching libraries, server action wrappers. Key indicator: facilitates interaction between frontend and backend. NOT client-side state management (utility tag) or deployment tools (adapter tag).",
2929
"title": "Server Integration"
3030
},
3131
"adapter": {
32-
"prompt": "ANY SvelteKit deployment solutions. Hosting integrations, platform adapters, deployment utilities.",
32+
"prompt": "SvelteKit-specific deployment adapters or hosting integration tools. Examples: platform adapters (Vercel, Netlify, etc.), serverless deployment helpers, hosting configuration utilities. Key indicator: primary purpose is facilitating deployment to specific environments. NOT general server utilities or build tools.",
3333
"title": "Deployment Adapters"
3434
},
3535
"tooling": {
36-
"prompt": "ANY development tools. Build plugins, code generation, testing, debugging, development workflows, CLI tools.",
36+
"prompt": "Development tools for Svelte that operate outside runtime code. Examples: build plugins, code generators, debugging utilities, CLI tools, linters. Key indicator: used during development process but not part of runtime application code. NOT runtime libraries, components, or server integrations.",
3737
"title": "Development Tools"
3838
},
3939
"preprocessor": {
40-
"prompt": "ANY compile-time functionality. Language integration (SCSS/TS), template processing, code transformation.",
40+
"prompt": "Compile-time extensions or transformations for Svelte. Examples: language integrations (TypeScript, SCSS), template preprocessors, code transformation tools. Key indicator: modifies or enhances the Svelte compilation process. NOT runtime utilities, components, or post-build optimizations.",
4141
"title": "Compile-time Solutions"
4242
},
4343
"performance": {
44-
"prompt": "ANY performance optimization. Bundle optimization, runtime improvements, rendering optimization, lazy loading.",
44+
"prompt": "Tools specifically focused on optimizing Svelte application performance. Examples: bundle optimizers, rendering enhancers, code-splitting utilities, memory management tools. Key indicator: primary purpose is improving speed or resource efficiency. NOT general utilities or UI components unless specifically focused on performance optimization.",
4545
"title": "Performance Optimizers"
4646
},
4747
"seo": {
48-
"prompt": "ANY SEO-related features. Meta tags, structured data, sitemaps, SEO analysis, head management.",
48+
"prompt": "Tools for improving search engine optimization in Svelte applications. Examples: meta tag managers, structured data generators, sitemap creators, link analyzers. Key indicator: primarily concerned with search engine visibility. NOT general head management or routing unless specifically SEO-focused.",
4949
"title": "SEO Utilities"
5050
},
5151
"dom": {
52-
"prompt": "ANY direct DOM interaction. Portal components, element queries, viewport detection, scroll handling, focus management.",
52+
"prompt": "Low-level tools for direct DOM manipulation in Svelte. Examples: portal components, intersection observers, focus managers, scroll utilities. Key indicator: involves direct interaction with browser DOM outside Svelte's normal element handling. NOT high-level UI components or general utilities that don't require direct DOM access.",
5353
"title": "DOM Manipulation"
5454
},
5555
"auth": {
56-
"prompt": "ANY authentication or authorization. Login systems, OAuth, JWT, permission management, user sessions.",
56+
"prompt": "User authentication and authorization solutions for Svelte. Examples: login systems, OAuth implementations, JWT handlers, permission managers. Key indicator: primarily concerned with user identity and access control. NOT general API clients or state management unless specifically auth-focused.",
5757
"title": "Authentication Solutions"
5858
},
5959
"integration": {
60-
"prompt": "ANY integration with external services or libraries. Database connectors, API clients, third-party service integration.",
60+
"prompt": "Connectors between Svelte and external services or systems. Examples: database clients, third-party API wrappers, payment processor integrations. Key indicator: primary purpose is connecting Svelte apps with external platforms. NOT general UI components or utilities unless they specifically bridge to external services.",
6161
"title": "External Integrations"
6262
},
6363
"testing": {
64-
"prompt": "Testing utilities, frameworks, or helpers specifically for Svelte applications. Includes test runners, mocking tools, assertion libraries, UI testing, and component testing for Svelte.",
64+
"prompt": "Specialized testing tools designed for Svelte applications. Examples: component testing libraries, Svelte-aware test runners, store mocking utilities. Key indicator: explicitly built for testing Svelte code with awareness of Svelte's features. NOT general JavaScript testing tools that aren't Svelte-specific.",
6565
"title": "Testing Frameworks"
6666
}
6767
},
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: "@0mn1/svelte-adapter-appengine"
3-
description: "Adapter for Svelte that integrates with Google Cloud Appengine"
3+
description: "Deploy SvelteKit apps to Google Cloud App Engine."
44
repo_url: "https://github.com/halfdanj/svelte-adapter-appengine"
55
author: "Jonas Jongejan"
66
homepage: "https://github.com/halfdanj/svelte-adapter-appengine#readme"
@@ -9,4 +9,5 @@ updated: "2022-06-02T17:02:30.869Z"
99
github_stars: 69
1010
tags:
1111
- adapter
12+
- server
1213
---

apps/svelte.dev/src/lib/server/generated/registry/0xclearview-svelte-tiny-virtual-table.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
name: "@0xclearview/svelte-tiny-virtual-table"
3-
description: "A tiny but mighty list virtualization component for svelte, with zero dependencies 💪"
3+
description: "Implement tiny virtual table component for Svelte with zero dependencies."
44
repo_url: "https://github.com/0xclearview/svelte-tiny-virtual-table"
55
author: "Marcos Gutiérrez"
66
homepage: "https://github.com/0xclearview/svelte-tiny-virtual-table#readme"
7-
downloads: 9
7+
downloads: 6
88
updated: "2024-11-16T13:11:37.125Z"
99
tags:
1010
- ui
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
name: "@0xmageia/mdsvex"
3+
description: "Process Markdown with Svelte components using MDsveX."
4+
repo_url: "https://github.com/0xmageia/MDsveX"
5+
author: "pngwn"
6+
homepage: "https://github.com/0xmageia/MDsveX#readme"
7+
downloads: 1
8+
updated: "2023-10-08T01:00:50.441Z"
9+
tags:
10+
- preprocessor
11+
- content
12+
---
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: "@3-/prettier-plugin-svelte"
3+
description: "Format Svelte components using Prettier, including HTML, CSS, and JavaScript."
4+
author: "i18n-now"
5+
homepage: "https://github.com/i18n-fork/prettier-plugin-svelte/tree/tmp"
6+
updated: "2025-02-05T07:26:58.910Z"
7+
tags:
8+
- tooling
9+
- preprocessor
10+
---
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
---
22
name: "@3-/svelte-preprocess"
3-
description: "A Svelte preprocessor wrapper with baked-in support for commonly used preprocessors"
3+
description: "Preprocess Svelte components with support for multiple languages."
44
repo_url: "https://github.com/i18n-fork/svelte-preprocess"
55
author: "Christian Kaisermann"
66
homepage: "https://github.com/i18n-fork/svelte-preprocess#readme"
7-
downloads: 16
7+
downloads: 2
88
updated: "2024-10-21T06:10:48.516Z"
99
tags:
1010
- preprocessor
11+
- tooling
1112
---

apps/svelte.dev/src/lib/server/generated/registry/3xpo-svelte-colour-picker.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
name: "@3xpo/svelte-colour-picker"
3-
description: "A highly customizable color picker component library"
3+
description: "Offer highly customizable color picker component for Svelte."
44
repo_url: "https://github.com/Exponential-Workload/svelte-colour-picker"
55
author: "Maxime Dupont"
66
homepage: "https://gh.expo.moe/svelte-colour-picker/"
7-
downloads: 8
7+
downloads: 2
88
updated: "2024-03-01T19:10:08.365Z"
99
tags:
1010
- ui

apps/svelte.dev/src/lib/server/generated/registry/3xpo-svelte-slider.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
name: "@3xpo/svelte-slider"
3-
description: "A highly customizable slider component library"
3+
description: "Create highly customizable slider component library for Svelte."
44
repo_url: "https://github.com/Exponential-Workload/svelte-colour-picker"
55
author: "Expo"
66
homepage: "https://gh.expo.moe/svelte-slider/"
7-
downloads: 4
7+
downloads: 2
88
dependents: 1
99
updated: "2024-01-04T08:25:23.273Z"
1010
tags:

0 commit comments

Comments
 (0)