Integrant wiring for devtools components an application opts into.
Loaded by the app, not by platform: platform must not know the name of an
optional library (BOU-131). A config that asks for :wagoe/dev-error-enricher
is a config that has devtools on its classpath.
Integrant wiring for devtools components an application opts into. Loaded by the app, not by platform: platform must not know the name of an optional library (BOU-131). A config that asks for `:wagoe/dev-error-enricher` is a config that has devtools on its classpath.
(error-enricher)A function from exception to {:code :category :fix :help}, or nil when the
pipeline has nothing to say about it.
This is what turns a 400 that reads "Validation failed" into one that names BND-201 and the field to add. It also records the error for the dashboard, so the page shows what the API returned rather than a separate story.
Returned as a plain fn: platform calls (enrich ex) and knows nothing about
this namespace.
A function from exception to `{:code :category :fix :help}`, or nil when the
pipeline has nothing to say about it.
This is what turns a 400 that reads "Validation failed" into one that names
BND-201 and the field to add. It also records the error for the dashboard,
so the page shows what the API returned rather than a separate story.
Returned as a plain fn: platform calls `(enrich ex)` and knows nothing about
this namespace.(ig-config settings {:keys [module-key]})This module's Integrant entries, for wagoe.platform.shell.system.config.
Two keys, so it dispatches on :module-key: the HTTP error enricher, which
makes an error over HTTP answer with its BND code and the fix instead of
"Validation failed", and the dev dashboard.
Both are dev-only. devtools lives in the :repl alias, so a project running
clojure -M:run against the dev config has the keys and not the library —
the assembler treats them as optional and skips them rather than failing the
boot. That the library is absent in production is not a guard, though, so
the profile check is platform's — see modules/dev-only-modules, which can
refuse the key whether or not this namespace ever loads.
This module's Integrant entries, for `wagoe.platform.shell.system.config`. Two keys, so it dispatches on `:module-key`: the HTTP error enricher, which makes an error over HTTP answer with its BND code and the fix instead of "Validation failed", and the dev dashboard. Both are dev-only. devtools lives in the `:repl` alias, so a project running `clojure -M:run` against the dev config has the keys and not the library — the assembler treats them as optional and skips them rather than failing the boot. That the library is absent in production is not a guard, though, so the profile check is platform's — see `modules/dev-only-modules`, which can refuse the key whether or not this namespace ever loads.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |