eclipsesource / jsonforms

Customizable JSON Schema-based forms with React, Angular and Vue support out of the box.
http://jsonforms.io
Other
2.22k stars 373 forks source link

Support for Angular 19 #2386

Open laurentgrangier opened 2 weeks ago

laurentgrangier commented 2 weeks ago

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

Angular 19 will be published in the "Week of 2024-11-19" according to release plans of Angular's team (https://angular.dev/reference/releases).

JsonForms should support Angular 19 "quickly" after the release of Angular 19.

Describe the solution you'd like

Support for Angular 19. Drop support for Angular 17 and 18. Actually I think JsonForms should not have support for two different major versions of Angular, since that could come with problems.

Describe alternatives you've considered

Not relevant.

Package

Angular Bindings, Angular Material Renderers

Additional context

No response

laurentgrangier commented 2 weeks ago

Results of first attempt with 19.0.0-rc.0 (support for 17 & 18 dropped):

Only with these 2 changes, "pnpm run build" and "pnpm run test" are successful on my local machine (Windows).

Not related to Angular:

lucas-koehler commented 1 week ago

Hi @laurentgrangier , thank your for the issue and information. What exactly do you mean with "support for 17 & 18 dropped"?

If possible, we would like to keep at least support for Angular 18 to not force adopters to immediately migrate to Angular 19 to consume the latest JSON Forms version. However, if that causes significant effort, we can consider dropping it.

According to Angular's official version compatibility table, Angular >= 18.1 is compatible with Typescript 5.5.x.

Also, would you like to contribute this update?

package.json in vue-vutify: the target "build-only" must be adapted with "cross-env". I assume this works without problem on Linux but not on Windows. "build-only": "cross-env NODE_OPTIONS="--max-old-space-size=4096" vite build",

Thanks for the hint :) Would you like to contribute this? Otherwise, I'll do this small fix.

laurentgrangier commented 11 hours ago

Hi @lucas-koehler

It should be possible to keep support for 18 and 19 if the code stays on Typescript 5.5 which is compatible with Angular 18 and 19 (https://angular.dev/reference/versions). Most of libraries only supports one Angular version at a time (or have different releases). I don't consider myself as an expert with Angular and I must say I don't know it it could have problems supporting both versions. I will try to let supports for both versions in the package.json.

Angular 19 was released on 19.11.2024. I will come with a Pull Request soon.

It is OK for me if you fix the small "cross-env" problems.

Thank you Laurent