Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Angular 15 #2085

Closed
sdirix opened this issue Jan 25, 2023 · 15 comments · Fixed by #2212
Closed

Support for Angular 15 #2085

sdirix opened this issue Jan 25, 2023 · 15 comments · Fixed by #2212

Comments

@sdirix
Copy link
Member

sdirix commented Jan 25, 2023

Is your feature request related to a problem? Please describe.

At the moment our packages are only compatible with Angular 12, 13 and 14.

Describe the solution you'd like

Angular 15 is released for a while. We should check whether our current packages are compatible and if yes, mark them as such. If not we need to update to Angular 15.

Describe alternatives you've considered

Don't support Angular 15.

Framework

Angular

RendererSet

Material

Additional context

No response

@sdirix sdirix added this to the 3.x milestone Jan 25, 2023
@sdirix sdirix modified the milestones: 3.x, next Jan 25, 2023
@jrpedrianes
Copy link

I just tested it using an Angular 15 app, and it seems to work fine, have you had a chance to test it?

@sdirix
Copy link
Member Author

sdirix commented Feb 16, 2023

@jrpedrianes Do you have time to update the Angular seed to Angular 15? If that works we can just increase the version compatibility here too.

@jrpedrianes
Copy link

I could, but reviewing the code I think that before to migrate to angular 15, jsonforms must migrate flex-layout to another grid system because this project is not maintained anymore. See the first part of the Readme file in https://github.com/angular/flex-layout

@jrpedrianes
Copy link

Another option could be to upgrade only the @jsonform/angular project to angular 15 meanwhile @jsonform/angular-material is updated.

@lztetreault-dev
Copy link

Just fyi @angular/flex-layout released a beta for ng 15.

@JonasDev17
Copy link

@angular/flex-layout moved to https://www.npmjs.com/package/ngx-flexlayout

@JonasDev17
Copy link

I tried a few examples of the array and list renderer on angular 15 w/ angular material and they are all broken, I assume thats due to flex layout not supporting angular 15. And angular material is missing the stepper despite being in the docs.

@JonasDev17
Copy link

I cloned the repo and updated it to angular 15 and everythings seems to work fine. I had to update a few dependencies but everything seems to be working fine right now. Would be nice if you guys could do this in an official capacity since I only did it in a hacky way @sdirix. For angular/flex-layout I used version 15.0.0-beta.42 which was released 3 months ago.

@justfathi
Copy link

Any update on this guys?

@Bryelmo
Copy link

Bryelmo commented May 10, 2023

Hi @JonasDev17, does your work is available in a public repo? Because I need to upgrade JsonForm to Angular 15.

@Ketec
Copy link

Ketec commented Aug 3, 2023

Was starting to move a project from 14 to 16... only to find that yet again jsonforms is way behind. So npm just throws errors because it's out of valid range. And this ticket has been open for half a year.

If the package is abandoned, perhaps mention it somewhere or add @deprecated so it won't be used?

@sdirix
Copy link
Member Author

sdirix commented Aug 7, 2023

Thanks for the feedback! The Angular package is neither abandoned nor deprecated.

The release strategy of Angular comes with a cost and that is a substantial amount of effort for keeping up with it. Sadly Angular is often not backward compatible and this is again the case for the current version change.

None of our paying customers are currently prioritizing the update to the latest Angular version. We still plan to support the latest Angular whenever possible, but for now this feature was prioritized lower than other maintenance work.

We welcome a community contribution updating our Angular version to the latest available version. Another welcomed contribution would be a switch to a clean Angular library setup. Leveraging such a library build setup might also decrease maintenance cost in the future.

We try to keep our planning transparent by tagging each issue with a corresponding milestone.

So eventually we will plan the Angular update work in ourselves. If you require it earlier please consider a contribution or our professional support options.

@JonasDev17
Copy link

I invested a significant amount of effort into my PR, but eventually, I felt overlooked due to the absence of any response from the Eclipsesource team. After a month of waiting for an answer to my question, I chose to close my PR and switch to using ngx-formly. I understand that development sponsorship is part of your business model, but a more engaged and responsive approach would greatly benefit the community and individual contributors like myself and would also benefit your business.

Angular has actually been very much backwards compatible for a long time compared to something like React. Angular is considered a very stable framework and has only in the recent years introduced new game changing features but not many features have been removed / deprecated, in order to not break backwards compatibility. The challenge for me with jsonforms was the dependency conflicts due to the integration with multiple frameworks and the complexity of it being a monorepo.

@JonasDev17
Copy link

Hi @JonasDev17, does your work is available in a public repo? Because I need to upgrade JsonForm to Angular 15.

You can find my PR here:
#2130

Unfortunately I have deleted the repo where I uploaded my code to.

@JonasDev17 JonasDev17 mentioned this issue Nov 14, 2023
7 tasks
@sdirix
Copy link
Member Author

sdirix commented Nov 14, 2023

Hi @JonasDev17,

Thank you for taking the time to share your feedback with us. I can feel with you as I myself ran multiple times into the issue that a contribution of mine to other projects seemingly was not very welcomed.

I understand that development sponsorship is part of your business model, but a more engaged and responsive approach would greatly benefit the community and individual contributors like myself and would also benefit your business.

You're right, I did not answer the last question you raised which was definitely an oversight. In general we try to answer all questions within a few days, depending on our workload.

Angular has actually been very much backwards compatible for a long time compared to something like React. Angular is considered a very stable framework and has only in the recent years introduced new game changing features but not many features have been removed / deprecated, in order to not break backwards compatibility

It's interesting how our experiences differ. For us React is very backward compatible and we did not need to do a single backward compatibility related change in years. The ecosystem is of course another factor and we sometimes struggle with breaking changes in libraries like React Material UI.

For Angular we were never able to support more than 3 versions at a time and as evidenced by your PRs and other people trying to help, there are actually many necessary changes to be done switching from Angular 14 to 15. Especially Angular Material has many breaking changes. What probably also doesn't help is that we have a very old school Angular build which seemingly is no longer "really" supported and needs to be adapted.

The challenge for me with jsonforms was the dependency conflicts due to the integration with multiple frameworks and the complexity of it being a monorepo.

We are facing the same challenge. Recently we updated our repository to use a modern tool like pnpm to help overcome this and it's definitely helping. Still it's not easy to develop libraries for React, Angular and Vue within the same code base. If anyone has good suggestion to tackle this challenge then I'm all ears.

Once again, thank you for your constructive feedback and understanding. We value contributions and hope to create a more positive and collaborative experience moving forward.


If someone who is interested in contributing to JSON Forms is reading this then be assured that we highly appreciate contributions. If a contribution builds, test cases succeed and new use cases are tested then we are very likely to merge it relatively fast if it brings value to JSON Forms for more than a single user. If you are unsure, then feel free to ask whether a potential contribution will be accepted which might even turn in useful discussions, see for example here.

@lucas-koehler lucas-koehler linked a pull request Dec 11, 2023 that will close this issue
7 tasks
@lucas-koehler lucas-koehler modified the milestones: next, 3.2 Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants