Allow reordering of array literal expressions
Closes AzureDevOps#34206
This PR adds the ability to sort array literal expressions in the TypeScriptAstTransformer and then uses that to allow ordering of property assignments in Angular decorators. The targeted property assignment must be an array literal expression.
Additionally, some minor enhancements have been introduced like the override option when adding new members to object literals - if the initializer of the new member exists and is an array literal, by default, the transformer will append all new values to the currently existing array literal, removing any duplicates. With the override option set, the transformer will replace the entire initializer with the new values.
Also, some new types have been added to reduce the parameter lists for some methods and new enumerations to better indicate Angular specific keywords related to decorators.
The PR also bumps TypeScript to 5.5.4 to match the version of the rest of the sub-projects as a mismatch between the versions caused a build error.
coverage: 70.454% (+0.1%) from 70.31% when pulling ad039853186ac5a293a15fb89dab52952bdc70b0 on bpenkov/reordering-array-literals into 74486c61314fee3f27f56b3037bee8fafa7b3d90 on master.
The issue is not reproducible with this ordering but it is not the desired one where the Igx items are last.
This logic does not sort the imports of projects created with the CLI, it is related to the sorting of imports of projects created with the CodeGen and since this was tested yesterday I changed the status of the task to "Completed".