Troubleshooting
Configuration not applied
@quik/core calls getConfig().load(defaults) at import time. Every other package's entrypoint does the same
for its own defaults/ tree, so make sure module entrypoints are actually imported (not just their setup()
called manually) before reading config values.
Required config key missing
requireConfig(...keys) throws a plain Error — not a QTranslatableError — listing any of the given dotted
config keys that currently resolve to an empty string. This is commonly used at module setup time to fail fast
when a required key (e.g. crypto.appKey) is not configured.
Feature not found / no instance registered
Accessing a feature that has never been registered (e.g. calling a feature getter before initializeDefaultFeatures()
runs, or before a module that registers a custom implementation has loaded) throws FeatureDoesNotExistsError or
NoFeatureInstanceError. Registering a feature name twice with initUpdatableFeature() in a context that
disallows overwrite throws FeatureExistsError. Passing an invalid feature definition throws InvalidFeatureError;
updating a feature that does not support runtime updates throws NoFeatureInstanceUpdateError.
Module not found
Internal module resolution helpers throw ModuleNotFoundError when a named module cannot be located, and
NoFoldersDefinedForModuleError when a module has no folders configured for a lookup that requires them.
Common Errors
@quik/core defines these typed errors but ships no locale file of its own — the message keys below resolve
through whichever IQI18n implementation and locale bundles are loaded by the rest of your application:
quik.errors.module.not-found: thrown byModuleNotFoundErrorwhen a referenced module cannot be resolved.quik.errors.module.no-folders-defined: thrown byNoFoldersDefinedForModuleErrorwhen a module lookup expects folders that were never configured.quik.errors.features.feature.does-not-exists: thrown byFeatureDoesNotExistsErrorwhen the requested feature name was never registered.quik.errors.features.feature.exists: thrown byFeatureExistsErrorwhen a feature name is registered twice.quik.errors.features.feature.invalid: thrown byInvalidFeatureErrorfor an invalid feature definition.quik.errors.features.feature.no-instance: thrown byNoFeatureInstanceErrorwhen no implementation instance is available for a feature.quik.errors.features.feature.no-instance-update: thrown byNoFeatureInstanceUpdateErrorwhen a feature instance does not support runtime updates.