0
votes

I have a simple app utilizing the Kendo UI controls for Angular2. I also AOT compile my application. Everything was working fine until I ran an npm update and the controls were updated.

Since the update the AOT build fails. In particular the failures seem to be related to the kendo-angular-inputs component. Furthermore npm start no longer runs cleanly. By "cleanly" I mean I should be able to issue a run command to jump between JIT/AOT versions of the app seamlessly. This, however, is not the case. I will try and describe the situation below:

Partially Working Version

Application with version 0.15.3 of kendo-angular-inputs installed

  1. NPM Start (before a AOT build command has been issued)

    Success, app runs

  2. Stop lite-Server, run: NPM AOT build

    Success, app builds and runs

  3. Stop lite-Server, run: NPM Start (after a AOT build command has been issued)

    Error

aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(203,41): error TS2341: Property 'widgetClass' is private and only accessible within class 'NumericTextBoxComponent'. aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(208,41): error TS2341: Property 'numericClass' is private and only accessible within class 'NumericTextBoxComponent'. aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(242,48): error TS2445: Property 'hostBlur' is protected and only accessible within class 'NumericTextBoxComponent' and its subclasses. aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(490,46): error TS2341: Property 'focused' is private and only accessible within class 'NumericTextBoxComponent'. aot/node_modules/@progress/kendo-angular-inputs/node_modules/@progress/kendo-angular-intl/dist/es/intl.module.ngfactory.ts(28,122): error TS2339: Property 'string' does not exist on type 'typeof "C:/0/Health/Dashboard-lite/node_modules/@progress/kendo-angular-inputs/node_modules/@prog...'.

At this point the only thing I can do is run the AOT version of the application. The JIT version will not run unless I delete the following files (I think these are all the files within the AOT compile that reference the kendo-angular-inputs component):

AOT/APP

AOT/@progress

AOT/@telerik

Non Working Version

Application with version 0.18.6 of kendo-angular-inputs installed

  1. NPM Start (before a AOT build command has been issued)

    Success, app runs

  2. Stop lite-Server, run: NPM AOT build

    Error

Error at C:/Dashboard-lite/aot/node_modules/@progress/kendo-angular-inputs/dist/es/slider/slider-ticks.component.ngfactory.ts:87:7: Supplied parameters do not match any signature of call target. Error at C://Dashboard-lite/aot/node_modules/@progress/kendo-angular-inputs/dist/es/slider/slider.component.ngfactory.ts:207:7: Supplied parameters do not match any signature of call target.

  1. Try and run: NPM Start since AOT is not working (after a AOT build command has been issued)

    Error

aot/node_modules/@progress/kendo-angular-inputs/dist/es/maskedtextbox/maskedtextbox.component.ngfactory.ts(275,35): error TS2346: Supplied parameters do not match any signature of call target. aot/node_modules/@progress/kendo-angular-inputs/dist/es/maskedtextbox/maskedtextbox.component.ngfactory.ts(279,35): error TS2346: Supplied parameters do not match any signature of call target. aot/node_modules/@progress/kendo-angular-inputs/dist/es/maskedtextbox/maskedtextbox.component.ngfactory.ts(283,35): error TS2346: Supplied parameters do not match any signature of call target. aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(195,41): error TS2341: Property 'widgetClass' is private and only accessible within class 'NumericTextBoxComponent'. aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(200,41): error TS2341: Property 'numericClass' is private and only accessible within class 'NumericTextBoxComponent'. aot/node_modules/@progress/kendo-angular-inputs/dist/es/numerictextbox/numerictextbox.component.ngfactory.ts(214,48): error TS2445: Property 'hostBlur' is protected and only accessible within class 'NumericTextBoxComponent' and its subclasses. aot/node_modules/@progress/kendo-angular-inputs/dist/es/slider/slider-ticks.component.ngfactory.ts(87,7): error TS2346: Supplied parameters do not match any signature of call target. aot/node_modules/@progress/kendo-angular-inputs/dist/es/slider/slider.component.ngfactory.ts(207,7): error TS2346: Supplied parameters do not match any signature of call target.

Again, at this point I must delete the same AOT files in order to get the JIT version to run. I cannot AOT compile.

A little more info:

  1. I have set up AOT compilation according to the angular.io cookbook.
  2. I am successfully using kendo-angular-charts. JIT/AOT versions working great.
  3. I'm not sure of the version of the control I was running before the npm update.
  4. I jumped back to version 0.15.3 only because versions 0.18.5 and 0.18.4 were also giving me errors.
  5. I don't know if I'm really asking a question or simply trying to point out that there might be something wrong with the kendo-angular-inputs component.
1
Forgot to include the following dependency versions: "@angular/common": "~2.4.0", "@angular/core": "~2.4.0", "@angular/forms": "~2.4.0", "@progress/kendo-angular-intl": "^0.9.1", "rxjs": "5.0.1", @telerik/kendo-draggable@^1.2.0" @telerik/kendo-inputs-common@^2.1.0" - Brian

1 Answers

0
votes

The @progress/kendo-angular-inputs package has several newer versions that addressed several AOT issues.

Could you try 0.18.7 (2017-02-10) version? It at least addresses the problems related to the private members and mismatched signature types.