Force updates Angular dependencies:
ng update @angular/core@22 @angular/cli@22 --force
And performs automated upgrade:
= Adds `ChangeDetectionStrategy.Eager` to all components.
- Adds 'withXhr' to 'provideHttpClient' function calls when the
'HttpXhrBackend' is used.
- Wraps optional chaining expressions in $safeNavigationMigration().
- Disables the 'nullishCoalescingNotNullable & optionalChainNotNullable
extended diagnostics.
- Adds 'strictTemplates: false' in tsconfig.json when not set.
https://community.openproject.org/wp/OP-19470
Migrates Angular constructor-based dependency injection to the
`inject()` function. The initial pass used the Angular schematic;
manual follow-up handled abstract classes, inheritance-sensitive
constructors, and call sites that still instantiate services
directly.
Schematic command:
cd frontend && npx ng generate @angular/core:inject-migration \
--path ./ \
--migrate-abstract-classes \
--backwards-compatible-constructors=false \
--non-nullable-optional=false
https://community.openproject.org/wp/74950
Apply Angular's Vitest migration schematic to update frontend and plugin
specs from Jasmine globals to Vitest APIs.
ng g @schematics/angular:refactor-jasmine-vitest
Fix migrated edge cases where async assertions or shallow tests changed.
https://community.openproject.org/wp/66563
Force updates Angular dependencies:
ng update @angular/core@19 @angular/cli@19 --force
And performs automated upgrade:
- Updates non-standalone Directives, Component and Pipes to
'standalone:false' and removes 'standalone:true' from those who are
standalone.
* Change eslintrc config
* Try esprint fix
* Run linter fix
* Set most of the typescript linting rules to warn, run with --fix
* Fix some linting errors
* Optimize imports
* Build works again
* Remove fixes that didn't fix anything
* Make imports lint-conform again && disable trailing underscores as it is part of Angular and our convention
* Remove wrong automated fix
* Rename components with suffix "Component" for linting
* Linting, refactor reorder-delta-builder to a more functional style
* Update delta reorder specs
* Add exceptions for "++" in loops and bracket expressions in arrow functions
* Some linting fixes
* Fix some more linting
* Optimize imports
Co-authored-by: Henriette Darge <h.darge@openproject.com>
* WIP: prototype wiring up the API with the angular frontend
* little refactorings in namespace and loading logic
* frontend styling and polishing
* pairing with aleix
* Avoid empty pullRequest.githubUser to be displayed
* added feature specs, a workaround for a pr-reload-bug in angular, and some readme improvements
* Title for partial PRs added
* GitActionsMenuComponent tests
* Test improvements
* GitHubTabComponent tests
* TabHeaderComponent tests
* TabPrsComponent tests
* revert change to karma runner
* start styling
* i18n in component
* avoid container element
* git actions menu tests
* Github interfaces
* PullRequestComponent tests
* Comment removed
* Typings improvements
* Merge fixes
* Tests fixes
* fix: wp list id links working with tabs
* remove partial github pr state
A PR might still be incomplete but enough data can be pulled from a github issuee notification to fill in most of the information
* avoid duplicate spec
* Fix import paths of op-icon
Co-authored-by: Aleix Suau <info@macrofonoestudio.es>
Co-authored-by: ulferts <jens.ulferts@googlemail.com>
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
* Let GitHub integration show changes in a separate tab
* added new github integration icons to icon font
* add tab content: working tab-header and copy-menu
* modernise github_integrations ruby code
* refactored some code to be more modern ruby (if wrote most of it 7
years ago and couldn't look at some parts without squinting too much)
* make some intended-to-be-private module methods actually private
* fixed all rubocop errors in the /modules/github_integration
* re-organized tests a little
* gave our rubocop.yml some RSpec-related defaults -- happy to discuss
these, but I think we can live with these as a good starting point
👆 all without actually (intentionally) changing the behaviour
* removed dead angular template code
* codeclimate found more things than rubocop :)
* removed create-pr-button since we decided against implementing that feature
* added missing translations
* properly cache the github related part of the wp api
* lower case pull requests in translations
* fix specs