Language data is embedded in code: not tree-shakeable, no way to supply pinned data
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 9
- Forks
- 8
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sillsdev/EthnoLib
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de sillsdev/EthnoLib
Issues similares
-
Mend: dependency security vulnerability
Dificultad 1/5 1-3 horas Aptitud para principiantes 65/100
fdm-monster/fdm-monster#5563 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
growilabs/growi#12246 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededPosiblemente ocupada @github-actions la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
SSWConsulting/SSW.Rules#2809 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
automated-triage type/bug type/ci
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día