FAQs.md
December 5, 2023 ยท View on GitHub
The design of Zokka
- Why have a separate
custom-package-repository-config.jsonfile in$ELM_HOMEinstead of just extendingelm.jsoneven more? Zokka aims to be compatible with current Elm tooling, especially IDE tooling. Current IDE integrations assume that there is a global cache of packages located in$ELM_HOMErather than local per-project caches (as is e.g. the case withnpm). This means that to play nicely with these tooling choices, Zokka also reuses the same global cache. However, because the cache is global to$ELM_HOME, while many Elm projects can use the same$ELM_HOME, if one project has acustom-package-repository-config.jsonthat declares one location for a given package while another project declares another location and those two locations do not have the same code for that package, one project can break another. This sort of breakage can appear to be non-deterministic to a user and can be extremely frustrating to debug. To avoid this, we colocatecustom-package-repository-config.jsonwith$ELM_HOME. - More FAQs forthcoming...