I created a new project and it compiled successfully. After comparing the package.json files I noticed 8.2 is using angular 17.3.0, while I was still on 17.1.1. After manually updating Node.js to v20.12.2 and Angular core to V17.3.0, it now compiles correctly.
Are minimum node and angular versions listed some where in the release notes? If not, that sure would have saved me a ton of time.
Downgrading the @abp/ng.schematics solves the proxy generation errors but running yarn start still fails to compile because of these errors:
./node_modules/@volo/abp.ng.account/fesm2022/volo-abp.ng.account-public.mjs:5002:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
./node_modules/@volo/abp.ng.identity/fesm2022/volo-abp.ng.identity.mjs:3765:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
./node_modules/@volo/abp.ng.identity/fesm2022/volo-abp.ng.identity.mjs:3828:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
I've tried clearing the node_modules folder, deleting the yarn.lock again and doing yarn install again. I don't understand these errors or how to debug them. Is there a minimum Angular or Node version we need to upgrade to along with the 8.2.2 upgrade? Is there any additional information I can provide you?
I deleted the yarn.lock file, ran yarn install and re-generated the proxies, but still get the same exact errors.
Part of the errors are related to IdentityRoleDto and IdentityUserDto. The generated proxies try to import them from '../../../volo/abp/identity/models', but they don't exist there.
I don't know why the generated proxy has this:
import type { SaasTenantActivationState } from '../../../volo/saas/tenant-activation-state.enum'; It should be import type { TenantActivationState } from '../../../volo/saas/tenant-activation-state.enum';
But even when I fix all of these issues, I'm still left with these three errors below. I've even tried clearing the angular cache.
./node_modules/@volo/abp.ng.account/fesm2022/volo-abp.ng.account-public.mjs:5002:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
./node_modules/@volo/abp.ng.identity/fesm2022/volo-abp.ng.identity.mjs:3765:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
./node_modules/@volo/abp.ng.identity/fesm2022/volo-abp.ng.identity.mjs:3828:26-31 - Error: export 'model' (imported as 'model') was not found in '@angular/core' ...
I did see that, but not sure where to to hook that in on the Angular side. Can you point me to where I can add this?
It seems to me that the correct fix would be to update the navigateToLogin method in the oath.service.ts to something like this:
` navigateToLogin(queryParams?: Params) {
//Add the tenantId to the query string parameters so the login page has a chance to set the current tenant by default
const tenant = this.sessionStateService.getTenant();
if(tenant?.id)
queryParams = {...{ [this.tenantKey]: tenant.id }, ...queryParams};
this.strategy.navigateToLogin(queryParams);
}`