Kendo-angular: Build and run-time errors when using Ivy

Created on 11 Jun 2019  Â·  28Comments  Â·  Source: telerik/kendo-angular

Describe the bug
Angular 8 fails to build a Grid when Ivy is enabled with error message: ERROR in Cannot combine @Input decorators with query decorators

To Reproduce
Steps to reproduce the behavior:

Used Angular cli - 8.0.2
1.) Create new project with flag: --enableIvy=true
2.) Add angular grid via: ng add @progress/kendo-angular-grid
3.) Import GridModule into AppModule
4.) Run command: ng serve

Expected behavior
Should pass a build

[email protected] c:\Development\bugs\KendoGridCompilationFailure
+-- @angular-devkit/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @angular/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @progress/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- @types/[email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- zone.[email protected]

Bug

Most helpful comment

The components are compatible with the latest release candidates with some minor exceptions. We're currently tracking a few issues with the Sortable component that we hope to fix soon.

All 28 comments

Support for Ivy is not in just yet. We'll follow-up when more information is available.

Any timeline for this

Ivy is a bit of a moving target at the moment — some fixes we applied earlier are now obsolete. We can't commit to official support until things settle down a bit.

Also, note that you should the next version of @angular/core when testing with Ivy, see guide.

This effort is currently blocked by https://github.com/angular/angular/issues/30080

angular/angular#30080 is now closed. Is kendo now working correctly under ivy?

Not yet—we still have a few smaller issues to take care of. We're working together with the Angular team to resolve these. They've set up a project dedicated to validating backwards-compatibility with Ivy, see https://github.com/angular/ngcc-validation/issues/386 for more details.

Updating the issue title as Ivy support affects all components, not just the Grid.

@tsvetomir so would you want us to log ivy build issues like the following -

DtsModuleScopeResolver.read(LocalizedMessagesDirective$3 from /Users/thaoula/Projects/Empower/jms-platform/jms-web/node_modules/@progress/kendo-angular-dateinputs/dist/fesm2015/index.js), but not a .d.ts file

Or should we wait until you guys finish with the angular team?

@thaoula sorry for the delay!

This issue has been fixed in the development builds of the Date Inputs. Update by running npm install --save @progress/kendo-angular-dateinputs@dev or yarn add @progress/kendo-angular-dateinputs@dev.

Both comments and separate issues are fine. I hope most people subscribed to this thread will find the early warnings useful.

Hi, I'm having similar issues while trying to build in ivy mode with a grid:

ERROR in ../../node_modules/@progress/kendo-angular-grid/dist/es2015/index.d.ts:101:9 - error TS2304: Cannot find name 'PDFMarginComponent'.
101 export {PDFMarginComponent as PDFMarginComponent$1};
            ~~~~~~~~~~~~~~~~~~
../../node_modules/@progress/kendo-angular-grid/dist/es2015/index.d.ts:102:9 - error TS2304: Cannot find name 'PDFTemplateDirective'.
102 export {PDFTemplateDirective as PDFTemplateDirective$1};
            ~~~~~~~~~~~~~~~~~~~~
../../node_modules/@progress/kendo-angular-grid/dist/es2015/pdf/pdf.module.d.ts:38:25 - error TS7016: Could not find a declaration file for module '../../fesm2015/index'. '/home/[repo]/node_modules/@progress/kendo-angular-grid/dist/fesm2015/index.js' implicitly has an 'any' type.
38 import * as ɵngcc2 from '../../fesm2015/index';
ERROR in node_modules/@progress/kendo-angular-grid/dist/es2015/index.d.ts(101,9): error TS2304: Cannot find name 'PDFMarginComponent'.
    node_modules/@progress/kendo-angular-grid/dist/es2015/index.d.ts(102,9): error TS2304: Cannot find name 'PDFTemplateDirective'.
    node_modules/@progress/kendo-angular-grid/dist/es2015/pdf/pdf.module.d.ts(38,25): error TS7016: Could not find a declaration file for module '../../fesm2015/index'. '/home/[repo]/node_modules/@progress/kendo-angular-grid/dist/fesm2015/index.js' implicitly has an 'any' type.

Anything you can advise that I do to get it to compile? Thanks!

@servelec-jack-starkey Same situation here. I get these errors on the latest development build.

We don't have a workaround for that particular issue yet. It looks like a backwards-compatibility issue with ngcc thay we hope to get solved in the upcoming Angular RCs.

Hi @tsvetomir do you have a link to the issue in the Angular repo?

It's not in the public issue tracker AFAIK, see the ngcc failures summary document.

It's not in the public issue tracker AFAIK, see the ngcc failures summary document.

Thanks @tsvetomir, I may be reading that incorrectly but the colour coding indicates it is a library (Kendo) issue?

I don't have enough information at the moment, but it may very well be an issue with our code.

This is an issue for Angular 9.0.0-rc.5 as well

Compilation issues are fixed in Angular 9.0.0-rc.7 through angular/angular#34254.

Closing this issue as the compilation errors are now solved for all components. That is not to say that the components are fully compatible with Ivy just yet—we'll validate this in the upcoming days.

Just upgraded to 9.0.0-rc7-next to get this to work, seems to still be broken...reallly dont like paying for this.
image

@bwinchester can you please file a new issue with more details about the error you're getting? Thanks!

Project from scratch gets compiled with RC7.

Just upgraded to 9.0.0-rc7-next to get this to work, seems to still be broken...reallly dont like paying for this.
image

Have you tried to upgrade components version?

Issue was Ivy was still set to true for compile... all my fault.

Just upgraded to 9.0.0-rc7-next to get this to work, seems to still be broken...reallly dont like paying for this.
image

Have you tried to upgrade components version?

@tsvetomir In this comment, you said:

Closing this issue as the compilation errors are now solved for all components. That is not to say that the components are fully compatible with Ivy just yet—we'll validate this in the upcoming days.

Is there anything new about official support for Angular 9 for all components?

The components are compatible with the latest release candidates with some minor exceptions. We're currently tracking a few issues with the Sortable component that we hope to fix soon.

@tsvetomir does that mean that I need to bump all kendo components to latest version and it should be fine to compile with Ivy and Angular 9.0.0?

@tscislo yes, all latest versions of the packages are compatible with Angular 9.

Was this page helpful?
0 / 5 - 0 ratings