On our team we build lots of universal packages (No angular dependency). The classes in these packages are decorated with our own @injectable decorator and we have TS emitting metadata for types.
"experimentalDecorators": true
In Angular 7 apps we interop with with Angular to provide the dependnecy injection, and outside of Angular we construct the dependencies ourselves using reflect-data. We interop with Angular using the module providers.
providers: [..allTheTypesWeCapturedWithOurDecorator]
Question? I have seen a lot a about injectables in IVY working differently (inline factories etc), I am trying to understand if we we will still be able to inject our universal services once IVY goes live?