Language data is embedded in code: not tree-shakeable, no way to supply pinned data
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- build-system, developer-experience
Direzione di ricerca
Start with find-language/language-data/languageData.json and the LanguageSearcher and createTag exports in @ethnolib/find-language. Check how the data is bundled and how the parity test compares chooser codes with keyboard-studio’s pinned snapshot. Done means hosts can provide or omit a data snapshot, while minimal imports no longer bundle the full table.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In @ethnolib/find-language 0.4.4 the language data is embedded in the module, so importing only LanguageSearcher or createTag still bundles about 770 KB compressed (esbuild, minified). There is no way to tree-shake the data out, and no way for a host to supply its own pinned data snapshot.
Context: keyboard-studio pins its own langtags snapshot for its criteria and tag logic, while EthnoLib carries its own committed copy (find-language/language-data/languageData.json, last updated 2026-07-29, "langtags.json API 1.4"). The two snapshots can drift; we work around it with a parity test over every chooser code.
Please consider separating the data from the code (a data import the host can replace or omit), so a host can supply pinned data and a minimal import does not pay for the whole table.
- Lingua principale
- TypeScript
- Stelle
- 9
- Fork
- 8
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 sillsdev/EthnoLib
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di sillsdev/EthnoLib
Issue simili
-
Mend: dependency security vulnerability
Difficoltà 1/5 1-3 ore Idoneità per principianti 65/100
fdm-monster/fdm-monster#5563 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
growilabs/growi#12246 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededForse già presa @github-actions l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SSWConsulting/SSW.Rules#2809 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
automated-triage type/bug type/ci
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno