Export & use core-container types#1891
Export & use core-container types#1891faustbrian merged 19 commits intoArkEcosystem:developfrom paroxysm:feat/export-core-container-types
Conversation
|
@paroxysm some failing tests after merging develop |
|
Looking into them.. |
chore: remove some un-used imports
|
@faustbrian These failures don't appear to have anything to do w/ my changes. There is brittleness in there somewhere that's surfacing now. The code that was merged doesn't even affect the module whose tests are failing. |
|
@faustbrian I can reproduce these failures on the develop branch w/o the changes in this PR. Seems something else recent is causing these failures. |
|
Nevermind, CI was reporting some very weird errors that led me astray. I see what's caused this and fixed it |
|
It's strange tho, there should've been a 100% failure across all CI runs but only a few failed while some passed.... |
|
@paroxysm you can use https://help.github.com/articles/closing-issues-using-keywords/ if you want to automatically close issues as resolved. Instead of Not all CircleCI jobs run the same tests and not all have the resolution issues so it is normal that only certain ones fail. |
|
Thanks, that's really nifty @faustbrian! |
Proposed changes
Address #1789 and also further propagate
core-logger'sAbstractLoggertype usage.We're leveraging ts generics to be able to retrieve typed objects directly from the
Containerclass.For the time-being, the generic is defaulted to
anyto prevent compilation issues, but in the future, as we expose more module typedefs, we can remove that default to enforce that we always get typed values from theContainerWe're also introducing
core-loggeras a dependency to every module that was previously grabbing a reference viacontainer.resolvePlugin('logger')I'm trying to be careful not to introduce a circular dependency. I know there can definitely be one in
core-containerandcore-loggerwhen they both try to import each other's types. For this edge-case we can break the pattern by havingcore-loggernot importcore-container's typedefs but it's not that big of an issue.Types of changes
Checklist