Wijmo appears to be incompatible with Angular 16

Posted by: mark.brodziak on 4 May 2023, 4:40 pm EST

    • Post Options:
    • Link

    Posted 4 May 2023, 4:40 pm EST

    We are using Wijmo 5.20222.877, which we understand to be compatible with Angular Ivy (as of Angular 9). We are declaring our dependencies against @grapecity/wijmo.angular2 packages.

    After attempting to upgrade to Angular 16, we get compilation errors such as:

    error NG6002: 'WjCoreModule' does not appear to be an NgModule class.
    
     node_modules/@grapecity/wijmo.angular2.core/index.d.ts:195:22
        195 export declare class WjCoreModule {
                                 ~~~~~~~~~~~~
        This likely means that the library (@grapecity/wijmo.angular2.core) which declares WjCoreModule is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.
    

    Are you aware of this, and are there plans in the pipeline to add such support? This will block our upgrade until addressed.

  • Posted 4 May 2023, 4:50 pm EST

    As a further hint to the above, we get this in our compilation output under Angular 15:

    Processing legacy "View Engine" libraries:
    - @grapecity/wijmo.angular2.directivebase [esm2015/esm2015] ()
    - @grapecity/wijmo.angular2.core [esm2015/esm2015] ()
    - @grapecity/wijmo.angular2.grid [esm2015/esm2015] ()
    - @grapecity/wijmo.angular2.input [esm2015/esm2015] ()
    - @grapecity/wijmo.angular2.directivebase [esm5/esm5] ()
    - @grapecity/wijmo.angular2.directivebase [main/commonjs] ()
    - @grapecity/wijmo.angular2.core [esm5/esm5] ()
    - @grapecity/wijmo.angular2.core [main/commonjs] ()
    - @grapecity/wijmo.angular2.grid [esm5/esm5] ()
    - @grapecity/wijmo.angular2.grid [main/commonjs] ()
    - @grapecity/wijmo.angular2.input [esm5/esm5] ()
    - @grapecity/wijmo.angular2.input [main/commonjs] ()
    Encourage the library authors to publish an Ivy distribution.
  • Posted 5 May 2023, 12:36 am EST

    We are also having this problem, which occurs on the nightly too. It’s blocking our upgrade path. Do you have a timeline for fixing this?

  • Posted 8 May 2023, 12:00 am EST

    Hi,

    We are currently in the process of testing the compatibility of Wijmo controls with Angular 16 and as of now, we cannot comment on the complete compatibility of Wijmo with Angular 16.

    However, we have reported this issue to our development team with internal tracking id: WJM-26968. We will update you as soon as we have an update from the dev team.

    Regards

  • Posted 9 May 2023, 1:35 pm EST

    Thanks for telling .

  • Posted 14 May 2023, 11:14 am EST

    Note that we attempted updating to 5.20231.888 that was released last week, and this exhibits the same problem (which is unsurprising, as there was no mention in the release blog post).

    We keenly await an update so that we can plan our upgrade path to Angular 16.

  • Posted 15 May 2023, 12:07 am EST

    Hi,

    I have asked the dev team to prioritize this issue, I will update you as soon as I have an update from the dev team.

    Regards

  • Posted 22 May 2023, 12:29 pm EST

    It’s been another week and we still have no update.

    We’d appreciate some kind of timeframe for addressing this incompatibility. Most open source libraries have been able to deal with this fairly easily.

  • Posted 22 May 2023, 5:33 pm EST

    Hi Mark,

    The dev team working on this issue. They are aware of your urgency, and will provide an update soon. I appreciate your patience.

    Regards

  • Posted 26 May 2023, 1:54 am EST

    All, the engineering team is working hard to solve this issue. Let me explain the problem. While Wijmo supported the Ivy engine, some complex features (like CellTemplates in FlexGrid) had dependency on ViewEngine. We have been refactoring these features to only support Ivy. This process also requires our TypeScript dependency to be upgraded. So once this change is made, we will likely no longer support older versions of Angular (ViewEngine versions). As always, we are trying to keep support for both engines, but it looks like we will only be able to support Ivy moving forward. We hope to have a solution on our nightly build soon and then released in June.

    In the meantime, there is a pretty simple workaround. It imports the ViewEngine compiler and builds wijmo modules using it. Attached are instructions for the workaround of using wijmo in Angular 16.

    Thank you all for the patience while we make these changes. Wijmo’s priority is always quality, so we make big changes like this carefully.

    Sincerely -Chris Bannon, Product Manager

  • Posted 28 May 2023, 10:50 am EST

    Thanks for the detailed update, it helps us to understand the situation.

    While we wait for the update, we’d like to try the work-around. The attachment seems to be missing? (or I am looking in the wrong spot).

  • Posted 28 May 2023, 5:34 pm EST

    Hello,

    Please refer to this attachment directed by Chris in the above response. You can follow the steps given in the pdf to work around the issue. In case you face any issues you can let us know.

    Attachment: wj_ng16_workaround.zip

    Regards

  • Posted 29 May 2023, 11:47 pm EST

    Sorry, the original attachment did not work.

    Here are the Angular 16 workaround instructions for wijmo: https://drive.grapecity.com/download?file=ExternalShare/wijmo/wj_ng16_workaround%20v2.0.pdf

  • Posted 31 May 2023, 2:24 pm EST

    The aforementioned workaround seems to have done the trick, which will get us moving as a stop-gap measure. We’ll look forward to moving to the fully Ivy-compatible release once it becomes available.

    In case it helps others, we simplified the approach as listed in the workaround to a simple one-liner in package.json as follows:

    {
      ...
      "scripts": {
        ...
        "postinstall": "npx --package @angular/compiler-cli@15.2.9 --yes ngcc",
        ...
       },
       ...
    }
  • Posted 31 May 2023, 4:59 pm EST

    Hello,

    We are glad that your issues have been resolved. We appreciate you sharing the simplified approach that you used. This might be helpful for other customers who may be experiencing the same issue.

    Regards

  • Posted 1 June 2023, 2:19 pm EST

    Further to this, we’ve found that the suggestion to import ‘@angular/compiler’ in main.ts does not work (or, at least, did not work for us) when running in production mode. Ignoring this instruction and not including this import in main.ts seems to work fine for our use-case.

    In summary, the only change that we require to support the work-around is as per the listed line from package.json in “postinstall”

  • Posted 13 June 2023, 1:50 am EST - Updated 13 June 2023, 1:55 am EST

    Thanks for sharing, Mark!

    Another update: for anyone with the latest version of TS installed, you will also need to specify a specific version of TS in the package.json in the build-tools folder.

    See:

  • Posted 19 June 2023, 4:02 am EST

    Has a working nightly been released yet for this?

  • Posted 19 June 2023, 8:05 pm EST

    Hi jinder.sidhu,

    Not yet, the fix is currently being worked on and will be included in Wijmo’s next hotfix release. We’ll inform you as soon as the fix is included in the release builds. We appreciate your patience and cooperation.

    Regards

  • Posted 19 June 2023, 8:54 pm EST

    As a paying customer of your product, it’s concering that:

    1. Wijmo has been relying on a deprecated part of Angular for some time, and has advertising itself as Ivy compatible when it clearly isn’t.
    2. There was presumably no beta testing of the Angular RC to pick this up.
    3. The turnaround on a fix does not appear to be expedited and the workaround relies on importing a legacy part of Angular.
  • Posted 20 June 2023, 12:08 am EST

    I fully agree with Jinder’s comments. I am also deeply concerned. For several months and multiple Angular releases, our Angular-build has consistently complained about Wijmo being a “legacy ‘View Engine’” and suggested to “Encourage the library authors to publish an Ivy distribution”.

    With Grapecity’s confirmation of Ivy compatibilty, I had always thought, our build had a problem that it gave this message. However, that’s no longer my impression. Furthermore, the problem report in this forum did not get a qualified answer for over three weeks…

    How could this topic possibly have gone unnoticed by the Wijmo team for such a long time? Considering the advance hints, and the availability of Angular 16 preview releases, shouldn’t it have been foreseeable that the product would not work with the upcoming release? How committed is the Wijmo team to Angular and to ensuring the product remains compatible with the evolving Angular framework?"

  • Posted 20 June 2023, 12:39 am EST

    For a bit more context here, we pay thousands of dollars a year for a per seat (supposedly) Platinum support Wijmo license. I submitted a ticket on the 5 May with this issue, and I only got a proper response on 29 May! It is now 20 June and there has been no Wijmo update while you still advertise your product as supporting Angular (maybe you should correct your marketing material to indicate that the current version is not compatible?).

  • Posted 21 June 2023, 12:06 am EST

    Hi,

    We understand the importance of the issue for you and apologize for the inconvenience caused. We assure you that our development team is working on this issue with the highest priority possible. The fix will be included in the upcoming hotfix release i.e. 5.20231-HOTFIX. We will provide you with more updates as soon as we have more information from the dev team.

    Once again, we apologize for any inconvenience this may have caused you, and we appreciate your patience and understanding.

    Regards

  • Posted 2 July 2023, 11:07 am EST

    we plan to upgrade to angular v16, and would like to know when wijmo support for angular 16 is ready.

  • Posted 2 July 2023, 7:31 pm EST

    We too are waiting to upgrade to v16 as there are some new features we would like to take advantage of. It would be nice to know an approximate date for the release - are we talking days or weeks? We need to update our development schedules accordingly.

  • Posted 4 July 2023, 3:01 am EST

    Hello,

    We apologize, but we currently do not have a specific ETA for the support of Angular 16. However, please be assured that our Development team is actively working on it and striving to provide support as soon as possible. Once we have a confirmed ETA, we will promptly share it with you. Thank you for your patience and understanding.

    Regards

  • Posted 6 July 2023, 12:54 am EST

    All, I sincerely apologize for the delay in shipping this next version. We have been working hard to get Angular 16 support right and released.

    We finally have landed Angular 16 support in our nightly tag on npm. I confirmed it myself this morning by generating a new Angular 16 app using Angular CLI. Then installing Wijmo via the nightly version tag.

    npm install @grapecity/wijmo.angular2.all@nightly

    or use this in package.json:

    "@grapecity/wijmo.angular2.all": "nightly"

    It compiles and runs successfully and components seem to be working as expected.

    Feel free to try the nightly build in your apps to verify in development environments.

    I hope we can get this through QA and publicly released in less than a month, but I can’t make a promise right now. The team is working its fastest and safest to release a quality build with Angular 16 support.

    Sincerely -Chris Bannon

  • Posted 6 July 2023, 8:24 am EST

    Just wanted to add a tip here for other people experiencing this problem. After adding “@grapecity/wijmo.angular2.all”: “nightly” to package.json you may have to clear the cache before re-installing packages in order to get rid of the error.

    delete node_modules folder

    NPM

    delete the package.lock file

    npm cache clean –force

    npm install

    YARN

    delete the yarn.lock file

    yarn cache clean

    yarn install

  • Posted 16 July 2023, 10:05 pm EST

    We tried both the options, unfortunately we are facing the same issue in Angular 16 branch, anyone else have got success ?

  • Posted 17 July 2023, 2:07 am EST

    @chris.bannon - we have successfully integrated the nightly, however we are seeing problems with the optimization: true flag being set (specifically when the sub-property scripts is set to true).

    The issue broadly resembles this: https://github.com/angular/angular/issues/50248

    I don’t have a minimal repo, but I suspect it may be Wijmo-related due to the Angular team alluding to it being a problem with importing the JIT complier. This issue does not occur with debug builds or when the flag is set to false.

  • Posted 18 July 2023, 8:45 pm EST

    Hi Thyagarajan,

    Your query has been answered on our other portal, here’s the reference link for the same - https://www.grapecity.com/my-account/my-support/case/CAS-42018-Q8T1B8

    Regards

  • Posted 18 July 2023, 8:51 pm EST

    Hi Jinder,

    Sorry, but we are unable to replicate this issue on our end, as there is no such behavior observed on our side, tested with the latest nightly build of Wijmo. Could you please share a small sample in which the issue can be replicated, so that we can further investigate the issue and take suitable actions accordingly?

    Please refer to the attached sample in which we tried to replicate this issue. In case, if there is something we missed, please let us know.

    Regards

    angular16WijmoNightly.zip

  • Posted 23 July 2023, 10:31 pm EST

    Update: @vivek pannu found that our package.json file had one more reference to Wijmo grid which referred an older version, we updated that to *@nightly and it resolved the issue, thanks for the support !

  • Posted 24 July 2023, 12:27 am EST

    Latest nightly is working fine for us. The error was caused by an errant angular compiler import based on one of the original workarounds.

  • Posted 24 July 2023, 5:54 pm EST

    Hi Thyagarajan and Jinder,

    Thank you for the update, this information might be helpful for other users.

    Regards

  • Posted 14 August 2023, 8:55 pm EST

    Hello, having the same issue. Is there and ETA for the hotfix official release? We don’t want to rely on nightly build and according to Chris. the hotfix release should have already landed…

  • Posted 15 August 2023, 8:59 pm EST

    Hi Metrik,

    I assume you’re encountering an Angular 16 compatibility issue while using Wijmo controls in earlier versions. If this is the case, please be assured that the necessary fix has already been included in the latest RC builds. It will soon be released in an upcoming hotfix version, which is tentatively scheduled for release before mid-September. In the meantime, you can utilize our latest RC build to test your application and meet your requirements.

    Sample Zip: Angular16_Wijmo_Sample.zip

    Regards

  • Posted 13 September 2023, 9:22 pm EST

    Hi,

    We have all now been patiently waiting almost 5 months now for the Angular16 release.

    In the previous post we were told that it would be before mid September, which if correct, then it should be available in the next few days?

    Please provide an update!

  • Posted 14 September 2023, 4:15 pm EST

    Hi Sailesh,

    We are glad to inform you that Wijmo now fully supports Angular 16. We have already dropped a hotfix build for this. You can refer to the below links to get more information:

    Blog: https://www.grapecity.com/blogs/wijmo-supports-angular-16

    NPM Build Info: https://www.npmjs.com/package/wijmo?activeTab=versions

    Regards

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels