diff --git a/npm/ng-packs/migrations.json b/npm/ng-packs/migrations.json index e89bc86d78..49df20928b 100644 --- a/npm/ng-packs/migrations.json +++ b/npm/ng-packs/migrations.json @@ -1,19 +1,45 @@ { "migrations": [ { - "version": "20.3.0-beta.1", - "description": "Update ESLint flat config to include .cjs, .mjs, .cts, and .mts files in overrides (if needed)", - "implementation": "./src/migrations/update-20-3-0/add-file-extensions-to-overrides", - "package": "@nx/eslint", - "name": "add-file-extensions-to-overrides" + "cli": "nx", + "version": "21.2.0-beta.3", + "requires": { "@angular/core": ">=20.0.0" }, + "description": "Update the @angular/cli package version to ~20.0.0.", + "factory": "./src/migrations/update-21-2-0/update-angular-cli", + "package": "@nx/angular", + "name": "update-angular-cli-version-20-0-0" }, { - "cli": "nx", - "version": "20.3.0-beta.2", - "description": "If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.", - "factory": "./src/migrations/update-20-3-0/ensure-nx-module-federation-package", + "version": "21.2.0-beta.3", + "requires": { "@angular/core": ">=20.0.0" }, + "description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.", + "factory": "./src/migrations/update-21-2-0/migrate-provide-server-rendering-import", + "package": "@nx/angular", + "name": "migrate-provide-server-rendering-import" + }, + { + "version": "21.2.0-beta.3", + "requires": { "@angular/core": ">=20.0.0" }, + "description": "Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering` using `withRoutes`.", + "factory": "./src/migrations/update-21-2-0/replace-provide-server-routing", + "package": "@nx/angular", + "name": "replace-provide-server-routing" + }, + { + "version": "21.2.0-beta.3", + "requires": { "@angular/core": ">=20.0.0" }, + "description": "Update the generator defaults to maintain the previous style guide behavior.", + "factory": "./src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide", + "package": "@nx/angular", + "name": "set-generator-defaults-for-previous-style-guide" + }, + { + "version": "21.2.0-beta.3", + "requires": { "@angular/core": ">=20.0.0" }, + "description": "Update 'moduleResolution' to 'bundler' in TypeScript configurations. You can read more about this here: https://www.typescriptlang.org/tsconfig/#moduleResolution.", + "factory": "./src/migrations/update-21-2-0/update-module-resolution", "package": "@nx/angular", - "name": "ensure-nx-module-federation-package" + "name": "update-module-resolution" } ] } diff --git a/npm/ng-packs/nx.json b/npm/ng-packs/nx.json index c4603659b0..0c52ac4bfe 100644 --- a/npm/ng-packs/nx.json +++ b/npm/ng-packs/nx.json @@ -20,7 +20,8 @@ "strict": false }, "@nx/angular:component": { - "style": "scss" + "style": "scss", + "type": "component" }, "@nx/angular": { "application": { @@ -31,7 +32,58 @@ }, "storybook-configuration": { "linter": "eslint" + }, + "directive": { + "type": "directive" + }, + "service": { + "type": "service" + }, + "scam": { + "type": "component" + }, + "scam-directive": { + "type": "directive" + }, + "guard": { + "typeSeparator": "." + }, + "interceptor": { + "typeSeparator": "." + }, + "module": { + "typeSeparator": "." + }, + "pipe": { + "typeSeparator": "." + }, + "resolver": { + "typeSeparator": "." } + }, + "@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": "." } }, "$schema": "./node_modules/nx/schemas/nx-schema.json", diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 3332193c7f..9e218f2fab 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -46,74 +46,74 @@ "devDependencies": { "@abp/ng.theme.lepton-x": "~4.3.0-rc.2", "@abp/utils": "~9.3.0-rc.2", - "@angular-devkit/build-angular": "~19.1.0", - "@angular-devkit/core": "~19.1.0", - "@angular-devkit/schematics": "~19.1.0", - "@angular-devkit/schematics-cli": "~19.1.0", - "@angular-eslint/eslint-plugin": "~19.0.0", - "@angular-eslint/eslint-plugin-template": "~19.0.0", - "@angular-eslint/template-parser": "~19.0.0", - "@angular/animations": "~19.1.0", - "@angular/cli": "~19.1.0", - "@angular/common": "~19.1.0", - "@angular/compiler": "~19.1.0", - "@angular/compiler-cli": "~19.1.0", - "@angular/core": "~19.1.0", - "@angular/forms": "~19.1.0", - "@angular/language-service": "~19.1.0", - "@angular/localize": "~19.1.0", - "@angular/platform-browser": "~19.1.0", - "@angular/platform-browser-dynamic": "~19.1.0", - "@angular/router": "~19.1.0", + "@angular-devkit/build-angular": "~20.0.0", + "@angular-devkit/core": "~20.0.0", + "@angular-devkit/schematics": "~20.0.0", + "@angular-devkit/schematics-cli": "~20.0.0", + "@angular-eslint/eslint-plugin": "~20.0.0", + "@angular-eslint/eslint-plugin-template": "~20.0.0", + "@angular-eslint/template-parser": "~20.0.0", + "@angular/animations": "~20.0.0", + "@angular/cli": "~20.0.1", + "@angular/common": "~20.0.0", + "@angular/compiler": "~20.0.0", + "@angular/compiler-cli": "~20.0.0", + "@angular/core": "~20.0.0", + "@angular/forms": "~20.0.0", + "@angular/language-service": "~20.0.0", + "@angular/localize": "~20.0.0", + "@angular/platform-browser": "~20.0.0", + "@angular/platform-browser-dynamic": "~20.0.0", + "@angular/router": "~20.0.0", "@fortawesome/fontawesome-free": "^6.0.0", - "@ng-bootstrap/ng-bootstrap": "~18.0.0", - "@ngneat/spectator": "~19.1.0", + "@ng-bootstrap/ng-bootstrap": "~19.0.0", + "@ngneat/spectator": "~19.6.2", "@ngx-validate/core": "^0.2.0", - "@nx/angular": "~20.3.0", - "@nx/cypress": "~20.3.0", - "@nx/devkit": "~20.3.0", - "@nx/eslint": "~20.3.0", - "@nx/eslint-plugin": "~20.3.0", - "@nx/jest": "~20.3.0", - "@nx/js": "~20.3.0", - "@nx/plugin": "~20.3.0", - "@nx/workspace": "~20.3.0", + "@nx/angular": "~21.2.0", + "@nx/cypress": "~21.2.0", + "@nx/devkit": "~21.2.0", + "@nx/eslint": "~21.2.0", + "@nx/eslint-plugin": "~21.2.0", + "@nx/jest": "~21.2.0", + "@nx/js": "~21.2.0", + "@nx/plugin": "~21.2.0", + "@nx/workspace": "~21.2.0", "@popperjs/core": "~2.11.0", - "@schematics/angular": "~19.0.0", + "@schematics/angular": "~20.0.0", "@swc-node/register": "1.9.2", - "@swc/cli": "0.3.12", + "@swc/cli": "0.6.0", "@swc/core": "~1.5.0", "@swc/helpers": "~0.5.0", - "@swimlane/ngx-datatable": "^20.0.0", + "@swimlane/ngx-datatable": "~21.1.0", "@types/jest": "29.5.14", "@types/node": "^20.0.0", "@typescript-eslint/eslint-plugin": "7.16.0", "@typescript-eslint/parser": "7.16.0", "@typescript-eslint/utils": "^7.16.0", - "angular-oauth2-oidc": "^19.0.0", - "autoprefixer": "^10.0.0", + "angular-oauth2-oidc": "^20.0.0", + "autoprefixer": "^10.4.21", "bootstrap": "^5.0.0", "bootstrap-icons": "^1.0.0", "chart.js": "^4.0.0", "cypress": "^7.0.0", "dotenv": "10.0.0", "eslint": "^8.0.0", - "eslint-config-prettier": "9.0.0", + "eslint-config-prettier": "10.0.0", "eslint-plugin-cypress": "^2.10.3", "got": "^11.0.0", "jest": "^29.0.0", "jest-canvas-mock": "^2.0.0", "jest-environment-jsdom": "^29.0.0", - "jest-preset-angular": "14.4.2", + "jest-preset-angular": "14.6.0", "jsonc-eslint-parser": "^2.0.0", "jsonc-parser": "^2.0.0", "just-clone": "^6.0.0", "just-compare": "^2.0.0", "lerna": "^4.0.0", "lint-staged": "^13.0.0", - "ng-packagr": "~19.1.0", - "ng-zorro-antd": "~19.0.0", - "nx": "~20.3.0", + "ng-packagr": "~20.0.0", + "ng-zorro-antd": "~20.0.0", + "nx": "~21.2.0", "postcss": "^8.0.0", "postcss-import": "14.1.0", "postcss-preset-env": "7.5.0", @@ -127,7 +127,7 @@ "ts-toolbelt": "^9.0.0", "tslib": "^2.0.0", "tslint": "~6.1.0", - "typescript": "~5.6.0", + "typescript": "~5.8.0", "zone.js": "~0.15.0" }, "lint-staged": { diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts index 57a8e26bf0..a8a093f8de 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/actions.ts @@ -1,5 +1,5 @@ import { LinkedList } from '@abp/utils'; -import { InjectFlags, InjectionToken, InjectOptions, Type } from '@angular/core'; +import { InjectionToken, InjectOptions, Type } from '@angular/core'; export abstract class ActionList> extends LinkedList {} @@ -7,7 +7,7 @@ export abstract class ActionData { abstract getInjected: ( token: Type | InjectionToken, notFoundValue?: T, - flags?: InjectOptions | InjectFlags, + flags?: InjectOptions, ) => T; index?: number; abstract record: R; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts index 8964bd9090..20620ef1c6 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/entity-props.ts @@ -1,5 +1,5 @@ import { ABP, escapeHtmlChars } from '@abp/ng.core'; -import { InjectFlags, InjectOptions, InjectionToken, Type } from '@angular/core'; +import { InjectOptions, InjectionToken, Type } from '@angular/core'; import { Observable, of } from 'rxjs'; import { ActionCallback } from './actions'; import { @@ -93,6 +93,6 @@ export type ColumnPredicate = (getInjected: GetInjected, auxData?: any) => boole export type GetInjected = ( token: Type | InjectionToken, notFoundValue?: T, - options?: InjectOptions | InjectFlags, + options?: InjectOptions, ) => T; type PropDataObject = { [key: string]: any }; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts b/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts index 7b1e2b7949..4161eaaea7 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/models/props.ts @@ -1,5 +1,5 @@ import { LinkedList } from '@abp/utils'; -import { InjectFlags, InjectionToken, InjectOptions, Type } from '@angular/core'; +import { InjectionToken, InjectOptions, Type } from '@angular/core'; import { ePropType } from '../enums/props.enum'; import { FormPropTooltip } from './form-props'; @@ -9,7 +9,7 @@ export abstract class PropData { abstract getInjected: ( token: Type | InjectionToken, notFoundValue?: T, - options?: InjectOptions | InjectFlags, + options?: InjectOptions, ) => T; index?: number; abstract record: R; diff --git a/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts b/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts index 3536fa4dad..a61802283a 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/pipes/create-injector.pipe.ts @@ -1,12 +1,4 @@ -import { - InjectFlags, - InjectionToken, - InjectOptions, - Injector, - Pipe, - PipeTransform, - Type, -} from '@angular/core'; +import { InjectionToken, InjectOptions, Injector, Pipe, PipeTransform, Type } from '@angular/core'; import { HasCreateInjectorPipe, ToolbarComponent } from '../models/toolbar-actions'; import { EXTENSIONS_ACTION_CALLBACK, EXTENSIONS_ACTION_DATA } from '../tokens/extensions.token'; @@ -22,7 +14,7 @@ export class CreateInjectorPipe implements PipeTransform { const get = ( token: Type | InjectionToken, notFoundValue?: T, - options?: InjectOptions | InjectFlags, + options?: InjectOptions, ) => { const componentData = context.getData(); const componentDataCallback = (data: any) => { diff --git a/npm/ng-packs/packages/components/package.json b/npm/ng-packs/packages/components/package.json index d64d5eb585..a5cb97e8ae 100644 --- a/npm/ng-packs/packages/components/package.json +++ b/npm/ng-packs/packages/components/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "chart.js": "^3.5.1", - "ng-zorro-antd": "~19.0.0", + "ng-zorro-antd": "~20.0.0", "@ctrl/tinycolor": "^4.0.0", "tslib": "^2.0.0" }, diff --git a/npm/ng-packs/packages/core/src/lib/pipes/sort.pipe.ts b/npm/ng-packs/packages/core/src/lib/pipes/sort.pipe.ts index 8b6c8b432e..2cc66b3f04 100644 --- a/npm/ng-packs/packages/core/src/lib/pipes/sort.pipe.ts +++ b/npm/ng-packs/packages/core/src/lib/pipes/sort.pipe.ts @@ -6,7 +6,7 @@ export type SortOrder = 'asc' | 'desc'; name: 'abpSort', }) export class SortPipe implements PipeTransform { - transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any { + transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string | number): any { sortOrder = sortOrder && (sortOrder.toLowerCase() as any); if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value; diff --git a/npm/ng-packs/packages/core/src/lib/services/list.service.ts b/npm/ng-packs/packages/core/src/lib/services/list.service.ts index 027624ef88..204833a66d 100644 --- a/npm/ng-packs/packages/core/src/lib/services/list.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/list.service.ts @@ -65,12 +65,12 @@ export class ListService implements return this._totalCount; } - private _sortKey = ''; - set sortKey(value: string) { + private _sortKey: string | number = ''; + set sortKey(value: string | number) { this._sortKey = value; this.get(); } - get sortKey(): string { + get sortKey(): string | number { return this._sortKey; } diff --git a/npm/ng-packs/packages/core/src/lib/tests/utils/common.utils.ts b/npm/ng-packs/packages/core/src/lib/tests/utils/common.utils.ts index 01612a987e..f3b17082b9 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/utils/common.utils.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/utils/common.utils.ts @@ -1,4 +1,4 @@ -import { AbstractType, InjectFlags, InjectionToken, Injector, Type } from '@angular/core'; +import { AbstractType, InjectionToken, Injector, Type } from '@angular/core'; import { Subject } from 'rxjs'; export const mockActions = new Subject(); @@ -10,10 +10,10 @@ export class DummyInjector extends Injector { get( token: Type | InjectionToken | AbstractType, notFoundValue?: T, - flags?: InjectFlags, + flags?: { optional: true; host: true; skipSelf: true; self: true }, ): T; get(token: any, notFoundValue?: any): any; - get(token, notFoundValue?, flags?: InjectFlags): any { + get(token, notFoundValue?, flags?: { optional: true; host: true; skipSelf: true }): any { return this.payload[token.name || token._desc || token]; } } diff --git a/npm/ng-packs/packages/oauth/package.json b/npm/ng-packs/packages/oauth/package.json index 8998eb8017..6bb9006dc6 100644 --- a/npm/ng-packs/packages/oauth/package.json +++ b/npm/ng-packs/packages/oauth/package.json @@ -9,7 +9,7 @@ "dependencies": { "@abp/ng.core": "~9.3.0-rc.2", "@abp/utils": "~9.3.0-rc.2", - "angular-oauth2-oidc": "^17.0.0", + "angular-oauth2-oidc": "^20.0.0", "just-clone": "^6.0.0", "just-compare": "^2.0.0", "tslib": "^2.0.0" diff --git a/npm/ng-packs/packages/schematics/package.json b/npm/ng-packs/packages/schematics/package.json index 5994593e20..39035f18de 100644 --- a/npm/ng-packs/packages/schematics/package.json +++ b/npm/ng-packs/packages/schematics/package.json @@ -4,16 +4,16 @@ "author": "", "schematics": "./collection.json", "dependencies": { - "@angular-devkit/core": "~19.1.0", - "@angular-devkit/schematics": "~19.1.0", - "@angular/cli": "~19.1.0", + "@angular-devkit/core": "~20.0.0", + "@angular-devkit/schematics": "~20.0.0", + "@angular/cli": "~20.0.0", "got": "^11.5.2", "jsonc-parser": "^2.3.0", "should-quote": "^1.0.0", - "typescript": "~5.6.0" + "typescript": "~5.8.0" }, "devDependencies": { - "@schematics/angular": "~19.1.0", + "@schematics/angular": "~20.0.0", "@types/jest": "29.4.4", "@types/node": "20.2.5", "jest": "29.4.3", diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index e485fd3be8..f10bd9edc6 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -8,11 +8,11 @@ }, "dependencies": { "@abp/ng.core": "~9.3.0-rc.2", - "@fortawesome/fontawesome-free": "^5.0.0", - "@ng-bootstrap/ng-bootstrap": "~18.0.0", + "@fortawesome/fontawesome-free": "^6.0.0", + "@ng-bootstrap/ng-bootstrap": "~19.0.0", "@ngx-validate/core": "^0.2.0", "@popperjs/core": "~2.11.0", - "@swimlane/ngx-datatable": "^20.0.0", + "@swimlane/ngx-datatable": "^21.0.0", "bootstrap": "^5.0.0", "tslib": "^2.0.0" }, diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts index 5715a4f40b..87ac4b9ce1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts @@ -111,8 +111,9 @@ export class NgxDatatableListDirective implements OnChanges, OnInit, DoCheck { const spinnerRef = this.viewContainerRef.createComponent(SpinnerComponent); const spinnerElement = spinnerRef.location.nativeElement; - - this.renderer.insertBefore(parent, spinnerElement, placeholder); + if (placeholder?.parentNode === parent) { + this.renderer.insertBefore(parent, spinnerElement, placeholder); + } this.renderer.removeChild(parent, placeholder); } diff --git a/templates/app-nolayers/angular/angular.json b/templates/app-nolayers/angular/angular.json index 7a6c2413d3..bfdb10c374 100644 --- a/templates/app-nolayers/angular/angular.json +++ b/templates/app-nolayers/angular/angular.json @@ -186,5 +186,31 @@ } } } + }, + "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": "." + } } } diff --git a/templates/app-nolayers/angular/package.json b/templates/app-nolayers/angular/package.json index eb09f6d9ed..dad6781521 100644 --- a/templates/app-nolayers/angular/package.json +++ b/templates/app-nolayers/angular/package.json @@ -21,15 +21,15 @@ "@abp/ng.tenant-management": "~9.3.0-rc.2", "@abp/ng.theme.lepton-x": "~4.3.0-rc.2", "@abp/ng.theme.shared": "~9.3.0-rc.2", - "@angular/animations": "~19.1.0", - "@angular/common": "~19.1.0", - "@angular/compiler": "~19.1.0", - "@angular/core": "~19.1.0", - "@angular/forms": "~19.1.0", - "@angular/localize": "~19.1.0", - "@angular/platform-browser": "~19.1.0", - "@angular/platform-browser-dynamic": "~19.1.0", - "@angular/router": "~19.1.0", + "@angular/animations": "~20.0.0", + "@angular/common": "~20.0.0", + "@angular/compiler": "~20.0.0", + "@angular/core": "~20.0.0", + "@angular/forms": "~20.0.0", + "@angular/localize": "~20.0.0", + "@angular/platform-browser": "~20.0.0", + "@angular/platform-browser-dynamic": "~20.0.0", + "@angular/router": "~20.0.0", "bootstrap-icons": "~1.8.0", "rxjs": "~7.8.0", "tslib": "^2.0.0", @@ -37,15 +37,15 @@ }, "devDependencies": { "@abp/ng.schematics": "~9.3.0-rc.2", - "@angular-devkit/build-angular": "~19.1.0", - "@angular-eslint/builder": "~19.0.0", - "@angular-eslint/eslint-plugin": "~19.0.0", - "@angular-eslint/eslint-plugin-template": "~19.0.0", - "@angular-eslint/schematics": "~19.0.0", - "@angular-eslint/template-parser": "~19.0.0", - "@angular/cli": "~19.1.0", - "@angular/compiler-cli": "~19.1.0", - "@angular/language-service": "~19.1.0", + "@angular-devkit/build-angular": "~20.0.0", + "@angular-eslint/builder": "~20.0.0", + "@angular-eslint/eslint-plugin": "~20.0.0", + "@angular-eslint/eslint-plugin-template": "~20.0.0", + "@angular-eslint/schematics": "~20.0.0", + "@angular-eslint/template-parser": "~20.0.0", + "@angular/cli": "~20.0.0", + "@angular/compiler-cli": "~20.0.0", + "@angular/language-service": "~20.0.0", "@types/jasmine": "~3.6.0", "@types/node": "^12.11.1", "@typescript-eslint/eslint-plugin": "7.16.0", @@ -57,6 +57,6 @@ "karma-coverage": "~2.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.7.0", - "typescript": "~5.6.0" + "typescript": "~5.8.0" } } diff --git a/templates/app-nolayers/angular/tsconfig.json b/templates/app-nolayers/angular/tsconfig.json index 9395506033..29df0877f5 100644 --- a/templates/app-nolayers/angular/tsconfig.json +++ b/templates/app-nolayers/angular/tsconfig.json @@ -8,10 +8,11 @@ "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "importHelpers": true, "target": "ES2022", "module": "es2020", + "skipLibCheck": true, "lib": [ "es2018", "dom" diff --git a/templates/app/angular/angular.json b/templates/app/angular/angular.json index 7a6c2413d3..bfdb10c374 100644 --- a/templates/app/angular/angular.json +++ b/templates/app/angular/angular.json @@ -186,5 +186,31 @@ } } } + }, + "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": "." + } } } diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index eb09f6d9ed..dad6781521 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -21,15 +21,15 @@ "@abp/ng.tenant-management": "~9.3.0-rc.2", "@abp/ng.theme.lepton-x": "~4.3.0-rc.2", "@abp/ng.theme.shared": "~9.3.0-rc.2", - "@angular/animations": "~19.1.0", - "@angular/common": "~19.1.0", - "@angular/compiler": "~19.1.0", - "@angular/core": "~19.1.0", - "@angular/forms": "~19.1.0", - "@angular/localize": "~19.1.0", - "@angular/platform-browser": "~19.1.0", - "@angular/platform-browser-dynamic": "~19.1.0", - "@angular/router": "~19.1.0", + "@angular/animations": "~20.0.0", + "@angular/common": "~20.0.0", + "@angular/compiler": "~20.0.0", + "@angular/core": "~20.0.0", + "@angular/forms": "~20.0.0", + "@angular/localize": "~20.0.0", + "@angular/platform-browser": "~20.0.0", + "@angular/platform-browser-dynamic": "~20.0.0", + "@angular/router": "~20.0.0", "bootstrap-icons": "~1.8.0", "rxjs": "~7.8.0", "tslib": "^2.0.0", @@ -37,15 +37,15 @@ }, "devDependencies": { "@abp/ng.schematics": "~9.3.0-rc.2", - "@angular-devkit/build-angular": "~19.1.0", - "@angular-eslint/builder": "~19.0.0", - "@angular-eslint/eslint-plugin": "~19.0.0", - "@angular-eslint/eslint-plugin-template": "~19.0.0", - "@angular-eslint/schematics": "~19.0.0", - "@angular-eslint/template-parser": "~19.0.0", - "@angular/cli": "~19.1.0", - "@angular/compiler-cli": "~19.1.0", - "@angular/language-service": "~19.1.0", + "@angular-devkit/build-angular": "~20.0.0", + "@angular-eslint/builder": "~20.0.0", + "@angular-eslint/eslint-plugin": "~20.0.0", + "@angular-eslint/eslint-plugin-template": "~20.0.0", + "@angular-eslint/schematics": "~20.0.0", + "@angular-eslint/template-parser": "~20.0.0", + "@angular/cli": "~20.0.0", + "@angular/compiler-cli": "~20.0.0", + "@angular/language-service": "~20.0.0", "@types/jasmine": "~3.6.0", "@types/node": "^12.11.1", "@typescript-eslint/eslint-plugin": "7.16.0", @@ -57,6 +57,6 @@ "karma-coverage": "~2.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.7.0", - "typescript": "~5.6.0" + "typescript": "~5.8.0" } } diff --git a/templates/app/angular/tsconfig.json b/templates/app/angular/tsconfig.json index 9395506033..29df0877f5 100644 --- a/templates/app/angular/tsconfig.json +++ b/templates/app/angular/tsconfig.json @@ -8,10 +8,11 @@ "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "importHelpers": true, "target": "ES2022", "module": "es2020", + "skipLibCheck": true, "lib": [ "es2018", "dom" diff --git a/templates/module/angular/angular.json b/templates/module/angular/angular.json index 9547009278..b6145d12f1 100644 --- a/templates/module/angular/angular.json +++ b/templates/module/angular/angular.json @@ -188,5 +188,31 @@ } } } + }, + "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": "." + } } } diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index 5a0680d0dc..90cd54f25c 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -22,30 +22,30 @@ "@abp/ng.tenant-management": "~9.3.0-rc.2", "@abp/ng.theme.basic": "~9.3.0-rc.2", "@abp/ng.theme.shared": "~9.3.0-rc.2", - "@angular/animations": "~19.1.0", - "@angular/common": "~19.1.0", - "@angular/compiler": "~19.1.0", - "@angular/core": "~19.1.0", - "@angular/forms": "~19.1.0", - "@angular/localize": "~19.1.0", - "@angular/platform-browser": "~19.1.0", - "@angular/platform-browser-dynamic": "~19.1.0", - "@angular/router": "~19.1.0", + "@angular/animations": "~20.0.0", + "@angular/common": "~20.0.0", + "@angular/compiler": "~20.0.0", + "@angular/core": "~20.0.0", + "@angular/forms": "~20.0.0", + "@angular/localize": "~20.0.0", + "@angular/platform-browser": "~20.0.0", + "@angular/platform-browser-dynamic": "~20.0.0", + "@angular/router": "~20.0.0", "rxjs": "~7.8.0", "tslib": "^2.0.0", "zone.js": "~0.15.0" }, "devDependencies": { "@abp/ng.schematics": "~9.3.0-rc.2", - "@angular-devkit/build-angular": "~19.1.0", - "@angular-eslint/builder": "~19.0.0", - "@angular-eslint/eslint-plugin": "~19.0.0", - "@angular-eslint/eslint-plugin-template": "~19.0.0", - "@angular-eslint/schematics": "~19.0.0", - "@angular-eslint/template-parser": "~19.0.0", - "@angular/cli": "~19.1.0", - "@angular/compiler-cli": "~19.1.0", - "@angular/language-service": "~19.1.0", + "@angular-devkit/build-angular": "~20.0.0", + "@angular-eslint/builder": "~20.0.0", + "@angular-eslint/eslint-plugin": "~20.0.0", + "@angular-eslint/eslint-plugin-template": "~20.0.0", + "@angular-eslint/schematics": "~20.0.0", + "@angular-eslint/template-parser": "~20.0.0", + "@angular/cli": "~20.0.0", + "@angular/compiler-cli": "~20.0.0", + "@angular/language-service": "~20.0.0", "@types/jasmine": "~3.6.0", "@types/node": "^12.11.1", "@typescript-eslint/eslint-plugin": "7.16.0", @@ -57,8 +57,8 @@ "karma-coverage": "~2.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.7.0", - "ng-packagr": "~19.1.0", + "ng-packagr": "~20.0.0", "symlink": "^2.0.0", - "typescript": "~5.6.0" + "typescript": "~5.8.0" } } diff --git a/templates/module/angular/tsconfig.json b/templates/module/angular/tsconfig.json index 5879bfbc59..92d2f24875 100644 --- a/templates/module/angular/tsconfig.json +++ b/templates/module/angular/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "./tsconfig.prod.json", "compilerOptions": { + "skipLibCheck": true, "paths": { "@my-company-name/my-project-name": [ "projects/my-project-name/src/public-api.ts"