I tried create a new app using ABP cli with angular, still angular app doesn't works.
Can you share a working angular 20 code? Old builder will also work for me.
Switched to app.config.ts (below) same result.
`import { ApplicationConfig, isDevMode } from '@angular/core'; import { provideRouter } from '@angular/router';
import { provideAbpCore, withOptions } from '@abp/ng.core'; import { HttpClient, provideHttpClient } from '@angular/common/http'; import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field'; import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar'; import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; import { provideEffects } from '@ngrx/effects'; import { provideStore } from '@ngrx/store'; import { provideStoreDevtools } from '@ngrx/store-devtools'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { environment } from '../environments/environment'; import { routes } from './app.routes'; import { SidebarEffects } from './core/store/sidebar/sidebar.effects'; import { sidebarReducer } from './core/store/sidebar/sidebar.reducer'; import { topbarReducer } from './core/store/topbar/topbar.reducer'; // import { registerLocale } from '@abp/ng.core/locale'; import { provideAbpOAuth } from '@abp/ng.oauth'; import { provideAbpThemeShared } from '@abp/ng.theme.shared'; import { provideCommercialUiConfig } from '@volo/abp.commercial.ng.ui/config'; import { provideAccountPublicConfig } from '@volo/abp.ng.account/public/config'; import { provideAuditLoggingConfig } from '@volo/abp.ng.audit-logging/config'; import { provideIdentityConfig } from '@volo/abp.ng.identity/config'; import { provideLanguageManagementConfig } from '@volo/abp.ng.language-management/config'; import { registerLocale } from '@volo/abp.ng.language-management/locale'; import { provideOpeniddictproConfig } from '@volo/abp.ng.openiddictpro/config'; import { provideSaasConfig } from '@volo/abp.ng.saas/config'; import { provideTextTemplateManagementConfig } from '@volo/abp.ng.text-template-management/config';
export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http, './assets/i18n/', '.json'); }
/**
export const appConfig: ApplicationConfig = { providers: [ // ABP
provideAbpCore(withOptions({
environment: environment.abpConf,
registerLocaleFn: registerLocale(),
})),
provideAbpOAuth(),
provideAbpThemeShared(),
provideAccountPublicConfig(),
provideIdentityConfig(),
provideLanguageManagementConfig(),
provideAuditLoggingConfig(),
provideSaasConfig(),
provideOpeniddictproConfig(),
provideTextTemplateManagementConfig(),
provideCommercialUiConfig(),
// Angular
provideRouter(routes),
provideAnimationsAsync(),
provideHttpClient(),
// NgRx
provideStore(reducers),
provideEffects(SidebarEffects),
provideStoreDevtools({ maxAge: 25, logOnly: !isDevMode() }),
// Others
TranslateModule.forRoot({
defaultLanguage: 'en',
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient],
},
}).providers!,
// Configs
{ provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: { duration: 2500 } },
{
provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
useValue: { appearance: 'outline' },
},
], }; `
Can you provide me a sample which is working on Angular 20?
I adjusted the versions as you mentioned above but same thing still.
Please check your email for sample code.
{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "actis-base-template": { "projectType": "application", "schematics": { "@schematics/angular:component": { "style": "scss" } }, "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular/build:application", "options": { "outputPath": "dist/actis-base-template", "index": "src/index.html", "browser": "src/main.ts", "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", "assets": [ { "glob": "**/*", "input": "public" } ], "styles": [ { "input": "node_modules/@swimlane/ngx-datatable/index.css", "inject": true, "bundleName": "ngx-datatable-index" }, { "input": "node_modules/@swimlane/ngx-datatable/assets/icons.css", "inject": true, "bundleName": "ngx-datatable-icons" }, { "input": "node_modules/@swimlane/ngx-datatable/themes/material.css", "inject": true, "bundleName": "ngx-datatable-material" }, { "input": "node_modules/@fortawesome/fontawesome-free/css/all.min.css", "inject": true, "bundleName": "fontawesome-all.min" }, { "input": "node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.css", "inject": true, "bundleName": "fontawesome-v4-shims.min" }, { "input": "node_modules/ng-zorro-antd/tree/style/index.min.css", "inject": false, "bundleName": "ng-zorro-antd-tree" }, "src/scss/fonts.scss", "src/scss/material.scss", "src/scss/tailwind.scss", "src/styles.scss" ], "scripts": [], "allowedCommonJsDependencies": ["qrcode", "crypto-js"] }, "configurations": { "production": { "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ], "budgets": [ { "type": "initial", "maximumWarning": "3mb", "maximumError": "5mb" }, { "type": "anyComponentStyle", "maximumWarning": "2kb", "maximumError": "4kb" } ], "outputHashing": "all" }, "uat": { "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.uat.ts" } ], "budgets": [ { "type": "initial", "maximumWarning": "3mb", "maximumError": "5mb" }, { "type": "anyComponentStyle", "maximumWarning": "2kb", "maximumError": "4kb" } ], "outputHashing": "all" }, "development": { "optimization": false, "extractLicenses": false, "sourceMap": true } }, "defaultConfiguration": "production" }, "serve": { "builder": "@angular/build:dev-server", "configurations": { "production": { "buildTarget": "actis-base-template:build:production" }, "development": { "buildTarget": "actis-base-template:build:development" } }, "defaultConfiguration": "development" }, "extract-i18n": { "builder": "@angular/build:extract-i18n", "options": { "buildTarget": "actis-base-template:build" } }, "test": { "builder": "@angular/build:karma", "options": { "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "tsconfig.spec.json", "inlineStyleLanguage": "scss", "assets": ["src/favicon.ico", "src/assets"], "styles": ["src/scss/styles.scss"], "scripts": [] } } } } }, "schematics": { "@schematics/angular:component": { "type": "component" }, "@schematics/angular:directive": { "type": "directive" }, "@schematics/angular:service": { "type": "service" }, "@schematics/angular:guard": { "typeSeparator": "." }, "@schematics/angular:interceptor": { "typeSeparator": "." }, "@schematics/angular:module": { "typeSeparator": "." }, "@schematics/angular:pipe": { "typeSeparator": "." }, "@schematics/angular:resolver": { "typeSeparator": "." } } }
Upgrades are aligned with Migration guide.
Has anyone looked into this? Its urgent