Skip to content

feat: SchemaStore catalog suggestions for schema URL input - #8

Merged
SuperPauly merged 1 commit into
mainfrom
feat/schemastore-catalog-datalist
Sep 6, 2026
Merged

feat: SchemaStore catalog suggestions for schema URL input#8
SuperPauly merged 1 commit into
mainfrom
feat/schemastore-catalog-datalist

Conversation

@SuperPauly

Copy link
Copy Markdown
Owner

Summary

Adds native <datalist> integration with SchemaStore.org catalog to the Fetch URL dialog in GenericWorkbench.

Changes

  • New module src/generic-schema/schemastore.ts: Fetches and normalizes 1439 valid schemas from SchemaStore API
  • Updated GenericWorkbench.tsx: Lazy-loads datalist when URL panel opens, adds link to human catalog
  • Validation: HTTPS + extension filter (removes 20 invalid entries)
  • Performance: In-memory module-level cache, never-throw error handling
  • Tests: Full coverage in schemastore.test.ts and GenericWorkbench.test.tsx

Tested

  • npm run lint — no errors
  • npx vitest run — 203 tests pass
  • npm run build — builds successfully
  • ✅ Manual: Type 'renov' → Renovate suggestion appears, URL fills correctly

Known Limitation

Large schemas with 700+ $ref entries (e.g. Renovate) may compile slowly. Not a blocker — catalog integration works correctly.

- New module schemastore.ts loads 1439 valid schemas from SchemaStore API
- Lazy-loaded <datalist> on schema-url input with native browser filtering
- Link to human catalog at schemastore.org
- HTTPS+extension validation filters 20 invalid entries
- In-memory cache, never-throw error handling
- Comprehensive test coverage
@SuperPauly
SuperPauly merged commit e4f9033 into main Sep 6, 2026
@SuperPauly
SuperPauly deleted the feat/schemastore-catalog-datalist branch September 6, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant