popcodeorg / popcodeorg/popcode
Main bundle should only contain libraries needed for fresh environment load
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 191
- フォーク
- 143
- 平均マージ
- 4日 11時間
- マージ済み PR(30日)
- 5
説明
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.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
main-bundle のエントリーポイントと service-worker の設定から始め、Firebase、GitHub、バリデーション、loop breaker の import を追跡します。新しいログアウト状態の環境では必要なライブラリだけが読み込まれ、その他の機能は非同期で読み込まれ、GitHub API などのバンドルが lazy loading 用に分類されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- build-system, performance
- issue の種類
- リファクタリング
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100