Remove all use of non angular decorators #92
Labels
comp: core
@pebula/ngrid (core package only, excluding secondary packages)
comp: core-plugins
@pebula/ngrid/* (All things related to core plugins the come as secondary package in @pebula/ngrid)
comp: material
@pebula/ngrid-material
type: refactor
Milestone
The codebase includes some use of custom decorators.
These are mainly used for declaration of things (
@NgridPlugin
) and observable handling (@UnRx
)These should be removed from the code completely because:
It forces users to use the reflection polyfill (
refelect-metadata
ores6/reflect
) which is no longer in use in AOT compilationsIt has limited support in some cases, especially
UnRx
.For
UnRx
, see angular/angular#31495It might be that the current implementation of
UnRx
is no longer supported when using ivy.In addition, this approach, using decorators, will no longer be required in angular once Component Features is introduces to the public API.
Since the use is relatively limited, they should be removed from library code, left only in demo app code.
IMPLICATIONS
Removing
@NgridPlugin
is a breaking change in the rare case of someone developed a plugin...Since 2.0.0 is still in RC we can do that without bumping major.
Removing
@UnRx
means we can also remove the utils library (which is anyway being maintained by nform) and remove all reference to it. Any code there, used by the library, should move to the ngrid core package.The text was updated successfully, but these errors were encountered: