popcodeorg / popcodeorg/popcode

Main bundle should only contain libraries needed for fresh environment load

Ouverte
#1,292 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

performance
Langage dominant
JavaScript
Étoiles
191
Forks
143
Merge moyen
4 j 11 h
PR mergées (30 j)
5

Description

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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le point d’entrée de main-bundle et la configuration de service-worker, en retraçant les imports de Firebase, GitHub, des validations et du loop breaker. Vérifiez que l’environnement fraîchement déconnecté ne charge que les bibliothèques nécessaires, tandis que les autres fonctionnalités sont chargées de manière asynchrone et que les bundles tels que la GitHub API sont catégorisés pour le lazy loading.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
build-system, performance
Type d'issue
Refactorisation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.