loopbackio / loopbackio/loopback.io
Move vendored assets to Git Submodules and `.gitignore` built assets
Nessuno ha ancora preso questa issue.
- Lingua principale
- HTML
- Stelle
- 276
- Fork
- 382
- Merge medio
- 6h 17m
- PR unite (30g)
- 18
Descrizione
The website has scripts which pulls data from GitHub and NPM:
- [`update-blog.sh`](https://github.com/loopbackio/loopback.io/blob/dc08f345c51fcf85cef04ad55c2a56e5812f2451/update-blog.sh)
Clones `loopbackio/loopback-blog` into `/blog`
- [`update-readmes.sh`](https://github.com/loopbackio/loopback.io/blob/dc08f345c51fcf85cef04ad55c2a56e5812f2451/update-readmes.sh)
Downloads READMEs from GitHub "raw" or NPM Registry into `/doc/en/[lb3|lb4|community]/readmes`
- [`update-lb4-docs.js`](https://github.com/loopbackio/loopback.io/blob/dc08f345c51fcf85cef04ad55c2a56e5812f2451/update-lb4-docs.js)
Copies pre-generated markdown API Docs from `@loopback/docs` into `/doc/en/lb4`
They pose some issues:
- **Accidental manual editing:** Contributors may accidentally contribute changes to these assets, only to be overridden by the CI pipeline.
- **Rate-limitng:** Contributors running `npm run build` -> `update-readmes.sh` may inadvertently update the local copies with GitHub "rate limit reached" error pages.
- **Unclear provenance:** As the `.git` directory is not preserved, the provenance of where and when exactly the assets were vendored is no clear.
- **Updates are reactive:** The assets are only re-vendored when a PR is merged.
Git Submodules solve this problem. Updates would be handled by [Renovate](https://github.com/renovatebot/renovate) instead, which would open PRs.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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.
Direzione di ricerca
Inizia leggendo update-blog.sh, update-readmes.sh e update-lb4-docs.js, quindi esamina come npm run build li invoca e come CI gestisce gli asset generati. Definisci le posizioni dei sottomoduli e i percorsi di build che devono essere ignorati. Il lavoro è completo quando le sorgenti vendorizzate hanno una provenienza Git chiara, le build non sovrascrivono più le copie generate tracciate e la build esistente del sito continua a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- git, github, nodejs, shell
- Ambito
- build-system, documentation
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100