popcodeorg / popcodeorg/popcode

Main bundle should only contain libraries needed for fresh environment load

Aperta
#1,292 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

performance
Lingua principale
JavaScript
Stelle
191
Fork
143
Merge medio
4g 11h
PR unite (30g)
5

Descrizione

The main bundle should only contain the libraries needed to load a fresh environment, logged out, with no snapshot/gist ID in the URL and nothing in local storage. Everything else should be loaded via an async import().

Specific things that I don’t think we need:

  • Firebase database: we need auth to determine login state but if you’re logged out, that should be the end of it
  • GitHub
  • Anything related to validations (we are mostly good here but I think the custom HTML validation module unintentionally pulls some of its dependencies into the main bundle)
  • The loop breaker: should be easy to load async now that compileProject() is async (and can skip it altogether if there is no JS)

We should also be deliberate about how we categorize various async bundles in the service worker configuration (e.g. I think the GitHub API should probably in a bundle classified as optional and loaded lazily)

Probably other stuff too, those are just some big ones that come to mind.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal punto di ingresso di main-bundle e dalla configurazione di service-worker, tracciando gli import per Firebase, GitHub, le validazioni e il loop breaker. Verifica che l’ambiente appena disconnesso carichi solo le librerie necessarie, mentre le altre funzionalità vengono caricate in modo asincrono e i bundle come la GitHub API vengono categorizzati per il lazy loading.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
build-system, performance
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.