shlomiassaf / ngrid

A angular grid for the enterprise

Home Page:https://shlomiassaf.github.io/ngrid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remove all use of non angular decorators

shlomiassaf opened this issue · comments

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:

  1. It forces users to use the reflection polyfill (refelect-metadata or es6/reflect) which is no longer in use in AOT compilations

  2. It has limited support in some cases, especially UnRx.

For UnRx, see angular/angular#31495

It 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.