perf(packages): optimize package-index data and filtering
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cypress, react
- Ambito
- build-system, frontend, performance, testing-qa
Direzione di ricerca
Start at the /packages route and establish the #1371 production-artifact baseline before changing loader data, filtering, or interaction boundaries. Use the requested Vitest/Cypress coverage to check direct loads, navigation, filters, ordering, empty states, and accessibility behavior. Done means the measured payload and DOM improve without losing existing behavior, media dimensions, build, compilation, and route checks passing.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
/packages is a data-heavy interactive route: its loader supplies package data and the client supports text, keyword, source, maintenance, and official-package filtering. It needs a dedicated stack rather than being treated as ordinary static content. The goal is a faster usable index, not merely fewer initial bytes at the expense of filtering.
The shared route/CSS/search boundaries from #1354 already isolate the page from the homepage. Build on them and use #1371 for the first production-artifact baseline.
Suggested PR stack
- Add a
/packagesprofile and browser coverage for direct load, text search, keyword selection/removal, filter toggles, result ordering, empty states, and navigation away/back to the index. - Measure the loader-data payload, rendered-card count, DOM cost, and the cost of the local search index separately. Normalize, partition, or defer data/search work only where it improves initial usability while retaining deterministic local filtering and existing result semantics.
- Refactor filter state and effects into explicit, testable transitions. Avoid stale filter/search state after client navigation and preserve keyboard and assistive-technology behavior.
- Reserve dimensions for package imagery/icons and audit any media priority. Keep small fixed assets simple; generate responsive variants only where measurement justifies them.
- Split optional package-index work at interaction boundaries, then opt stable, measured leaf components into React Compiler annotation mode only when the emitted artifact and behavior are protected.
Acceptance criteria
- The initial package-index payload and DOM are measured separately from post-interaction filtering work, with before/after raw and gzip totals, requests, DOM/media counts, and loader-data tradeoffs recorded for every layer.
- Direct loads and client navigations preserve all existing text, keyword, category, official/community, maintenance, and empty-result behaviors without hydration or console errors.
- The route does not pull in homepage, playground/compiler, or unrelated content-only dependencies until an explicitly supported interaction requires them.
- Rendered media has numeric intrinsic dimensions and no unnecessary initial preload candidates.
- ReScript compilation, production build, focused Vitest/Cypress coverage, and the #1371 route report pass. Do not update visual snapshots without approval.
Relates to #1354 and depends on #1371 for the common measurement contract.
- Lingua principale
- MDX
- Stelle
- 1.9k
- Fork
- 261
- Merge medio
- 3g 13h
- PR unite (30g)
- 37
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rescript-lang/rescript-lang.org
-
Semantic drift analysis: resultsForse già presa @fhammerschmidt l’ha presa 14 giorni fa. Aperta
rescript-lang/rescript-lang.org#1421 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Duplicated playground logic between guide and playground, two copies divergedForse già presa @fhammerschmidt l’ha presa 13 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
rescript-lang/rescript-lang.org#1407 ·
I maintainer di solito rispondono entro 2 giorni
-
Guide compiler is unpinned and lessons are never validatedForse già presa @fhammerschmidt l’ha presa 14 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rescript-lang/rescript-lang.org#1405 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement playground react
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
rescript-lang/rescript-lang.org#1377 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement react syntax lookup
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
rescript-lang/rescript-lang.org#1376 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di rescript-lang/rescript-lang.org
Issue simili
-
3.1.1 build failingAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
flathub/io.github.Cockatrice.cockatrice#159 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
-
Clean up build dependenciesApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Bluetooth-Devices/dbus-fast#825 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
polhenarejos/pico-fido#302 ·