Browse Source

Merge pull request #24396 from abpframework/feat/#24384

Angular - Version upgrade to v21
pull/24492/head
sumeyye 1 month ago
committed by GitHub
parent
commit
7d815c6c3c
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      npm/ng-packs/apps/dev-app/project.json
  2. 4
      npm/ng-packs/apps/dev-app/src/main.server.ts
  3. 123
      npm/ng-packs/migrations.json
  4. 80
      npm/ng-packs/package.json
  5. 6
      npm/ng-packs/packages/account-core/project.json
  6. 6
      npm/ng-packs/packages/account/project.json
  7. 2
      npm/ng-packs/packages/components/package.json
  8. 6
      npm/ng-packs/packages/components/project.json
  9. 2
      npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts
  10. 12
      npm/ng-packs/packages/components/tsconfig.lib.json
  11. 3
      npm/ng-packs/packages/components/tsconfig.lib.prod.json
  12. 4
      npm/ng-packs/packages/core/project.json
  13. 3
      npm/ng-packs/packages/core/tsconfig.lib.prod.json
  14. 6
      npm/ng-packs/packages/feature-management/project.json
  15. 4
      npm/ng-packs/packages/generators/project.json
  16. 3
      npm/ng-packs/packages/generators/tsconfig.json
  17. 6
      npm/ng-packs/packages/identity/project.json
  18. 6
      npm/ng-packs/packages/oauth/project.json
  19. 6
      npm/ng-packs/packages/permission-management/project.json
  20. 10
      npm/ng-packs/packages/schematics/package.json
  21. 4
      npm/ng-packs/packages/schematics/project.json
  22. 6
      npm/ng-packs/packages/setting-management/project.json
  23. 6
      npm/ng-packs/packages/tenant-management/project.json
  24. 6
      npm/ng-packs/packages/theme-basic/project.json
  25. 4
      npm/ng-packs/packages/theme-shared/package.json
  26. 6
      npm/ng-packs/packages/theme-shared/project.json
  27. 2
      npm/ng-packs/packages/theme-shared/src/lib/components/toast-container/toast-container.component.ts
  28. 4
      npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts
  29. 11
      npm/ng-packs/tsconfig.base.json
  30. 41
      templates/app-nolayers/angular/package.json
  31. 3
      templates/app-nolayers/angular/src/main.ts
  32. 6
      templates/app-nolayers/angular/tsconfig.json
  33. 41
      templates/app/angular/package.json
  34. 3
      templates/app/angular/src/main.ts
  35. 6
      templates/app/angular/tsconfig.json
  36. 43
      templates/module/angular/package.json
  37. 3
      templates/module/angular/projects/dev-app/src/main.ts
  38. 6
      templates/module/angular/projects/my-project-name/tsconfig.lib.json
  39. 1
      templates/module/angular/tsconfig.json
  40. 6
      templates/module/angular/tsconfig.prod.json

4
npm/ng-packs/apps/dev-app/project.json

@ -176,9 +176,7 @@
},
"test": {
"executor": "@nx/jest:jest",
"outputs": [
"{workspaceRoot}/coverage/apps/dev-app"
],
"outputs": ["{workspaceRoot}/coverage/apps/dev-app"],
"options": {
"jestConfig": "apps/dev-app/jest.config.ts"
}

4
npm/ng-packs/apps/dev-app/src/main.server.ts

@ -1,7 +1,7 @@
import { bootstrapApplication } from '@angular/platform-browser';
import { bootstrapApplication, BootstrapContext } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import { config } from './app/app.config.server';
const bootstrap = () => bootstrapApplication(AppComponent, config);
const bootstrap = (context: BootstrapContext) => bootstrapApplication(AppComponent, config, context);
export default bootstrap;

123
npm/ng-packs/migrations.json

@ -1,45 +1,118 @@
{
"migrations": [
{
"version": "22.0.0-beta.1",
"description": "Updates release version config based on the breaking changes in Nx v22",
"implementation": "./src/migrations/update-22-0-0/release-version-config-changes",
"package": "nx",
"name": "22-0-0-release-version-config-changes"
},
{
"version": "22.0.0-beta.2",
"description": "Consolidates releaseTag* options into nested releaseTag object structure",
"implementation": "./src/migrations/update-22-0-0/consolidate-release-tag-config",
"package": "nx",
"name": "22-0-0-consolidate-release-tag-config"
},
{
"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",
"version": "22.1.0-beta.5",
"description": "Updates the nx wrapper.",
"implementation": "./src/migrations/update-22-1-0/update-nx-wrapper",
"package": "nx",
"name": "22-1-0-update-nx-wrapper"
},
{
"version": "21.5.0-beta.2",
"description": "Migrate the legacy 'development' custom condition to a workspace-unique custom condition name.",
"factory": "./src/migrations/update-21-5-0/migrate-development-custom-condition",
"package": "@nx/js",
"name": "migrate-development-custom-condition"
},
{
"version": "22.0.0-beta.0",
"description": "Remove the deprecated `external` and `externalBuildTargets` options from the `@nx/js:swc` and `@nx/js:tsc` executors.",
"factory": "./src/migrations/update-22-0-0/remove-external-options-from-js-executors",
"package": "@nx/js",
"name": "remove-external-options-from-js-executors"
},
{
"version": "22.1.0-rc.1",
"description": "Removes redundant TypeScript project references from project's tsconfig.json files when runtime tsconfig files (e.g., tsconfig.lib.json, tsconfig.app.json) exist.",
"factory": "./src/migrations/update-22-1-0/remove-redundant-ts-project-references",
"package": "@nx/js",
"name": "remove-redundant-ts-project-references"
},
{
"version": "21.3.0-beta.3",
"description": "Rename the CLI option `testPathPattern` to `testPathPatterns`.",
"implementation": "./src/migrations/update-21-3-0/rename-test-path-pattern",
"package": "@nx/jest",
"name": "rename-test-path-pattern"
},
{
"version": "22.2.0-beta.2",
"description": "Convert jest.config.ts files from ESM to CJS syntax (export default -> module.exports, import -> require) for projects using CommonJS resolution to ensure correct loading under Node.js type-stripping.",
"implementation": "./src/migrations/update-22-2-0/convert-jest-config-to-cjs",
"package": "@nx/jest",
"name": "convert-jest-config-to-cjs"
},
{
"cli": "nx",
"version": "21.3.0-beta.4",
"requires": { "@angular/core": ">=20.1.0" },
"description": "Update the @angular/cli package version to ~20.1.0.",
"factory": "./src/migrations/update-21-3-0/update-angular-cli",
"package": "@nx/angular",
"name": "update-angular-cli-version-20-0-0"
"name": "update-angular-cli-version-20-1-0"
},
{
"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",
"version": "21.5.0-beta.0",
"description": "Set the 'tsConfig' option to build and test targets to help with Angular migration issues.",
"factory": "./src/migrations/update-21-5-0/set-tsconfig-option",
"package": "@nx/angular",
"name": "migrate-provide-server-rendering-import"
"name": "set-tsconfig-option"
},
{
"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",
"cli": "nx",
"version": "21.5.0-beta.2",
"requires": { "@angular/core": ">=20.2.0" },
"description": "Update the @angular/cli package version to ~20.2.0.",
"factory": "./src/migrations/update-21-5-0/update-angular-cli",
"package": "@nx/angular",
"name": "replace-provide-server-routing"
"name": "update-angular-cli-version-20-2-0"
},
{
"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",
"version": "21.5.0-beta.2",
"requires": { "@angular/core": ">=20.2.0" },
"description": "Remove any Karma configuration files that only contain the default content. The default configuration is automatically available without a specific project configurationfile.",
"factory": "./src/migrations/update-21-5-0/remove-default-karma-configuration-files",
"package": "@nx/angular",
"name": "set-generator-defaults-for-previous-style-guide"
"name": "remove-default-karma-configuration-files"
},
{
"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",
"cli": "nx",
"version": "21.6.1-beta.2",
"requires": { "@angular/core": ">=20.3.0" },
"description": "Update the @angular/cli package version to ~20.3.0.",
"factory": "./src/migrations/update-21-6-1/update-angular-cli",
"package": "@nx/angular",
"name": "update-module-resolution"
"name": "update-angular-cli-version-20-3-0"
},
{
"version": "20.2.0",
"description": "Replaces usages of the deprecated Router.getCurrentNavigation method with the Router.currentNavigation signal",
"factory": "./bundles/router-current-navigation.cjs#migrate",
"optional": true,
"package": "@angular/core",
"name": "router-current-navigation"
},
{
"version": "20.3.0",
"description": "Adds `BootstrapContext` to `bootstrapApplication` calls in `main.server.ts` to support server rendering.",
"factory": "./bundles/add-bootstrap-context-to-server-main.cjs#migrate",
"package": "@angular/core",
"name": "add-bootstrap-context-to-server-main"
}
]
}

80
npm/ng-packs/package.json

@ -48,49 +48,49 @@
"devDependencies": {
"@abp/ng.theme.lepton-x": "~5.0.1",
"@abp/utils": "~10.0.1",
"@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/build": "~20.0.0",
"@angular/cli": "~20.0.0",
"@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/platform-server": "~20.0.0",
"@angular/router": "~20.0.0",
"@angular/ssr": "~20.0.0",
"@angular-devkit/build-angular": "~21.0.0",
"@angular-devkit/core": "~21.0.0",
"@angular-devkit/schematics": "~21.0.0",
"@angular-devkit/schematics-cli": "~21.0.0",
"@angular-eslint/eslint-plugin": "~21.0.0",
"@angular-eslint/eslint-plugin-template": "~21.0.0",
"@angular-eslint/template-parser": "~21.0.0",
"@angular/animations": "21.0.0",
"@angular/build": "~21.0.0",
"@angular/cli": "~21.0.0",
"@angular/common": "~21.0.0",
"@angular/compiler": "~21.0.0",
"@angular/compiler-cli": "~21.0.0",
"@angular/core": "~21.0.0",
"@angular/forms": "~21.0.0",
"@angular/language-service": "~21.0.0",
"@angular/localize": "~21.0.0",
"@angular/platform-browser": "~21.0.0",
"@angular/platform-browser-dynamic": "~21.0.0",
"@angular/platform-server": "~21.0.0",
"@angular/router": "~21.0.0",
"@angular/ssr": "~21.0.0",
"@fortawesome/fontawesome-free": "^6.0.0",
"@ng-bootstrap/ng-bootstrap": "~19.0.0",
"@ng-bootstrap/ng-bootstrap": "~20.0.0",
"@ngneat/spectator": "~19.6.2",
"@ngx-validate/core": "^0.2.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/web": "~21.2.0",
"@nx/workspace": "~21.2.0",
"@nx/angular": "~22.2.0",
"@nx/cypress": "~22.2.0",
"@nx/devkit": "~22.2.0",
"@nx/eslint": "~22.2.0",
"@nx/eslint-plugin": "~22.2.0",
"@nx/jest": "~22.2.0",
"@nx/js": "~22.2.0",
"@nx/plugin": "~22.2.0",
"@nx/web": "~22.2.0",
"@nx/workspace": "~22.2.0",
"@popperjs/core": "~2.11.0",
"@schematics/angular": "~20.0.0",
"@schematics/angular": "~21.0.0",
"@swc-node/register": "1.9.2",
"@swc/cli": "0.6.0",
"@swc/core": "~1.5.0",
"@swc/helpers": "~0.5.0",
"@swimlane/ngx-datatable": "~21.1.0",
"@swimlane/ngx-datatable": "~22.0.0",
"@types/express": "~5.0.0",
"@types/jest": "29.5.14",
"@types/node": "~20.11.0",
@ -120,9 +120,9 @@
"just-compare": "^2.0.0",
"lerna": "^4.0.0",
"lint-staged": "^13.0.0",
"ng-packagr": "~20.0.0",
"ng-zorro-antd": "~20.0.0",
"nx": "~21.2.0",
"ng-packagr": "~21.0.0",
"ng-zorro-antd": "~21.0.0-next.1",
"nx": "~22.2.0",
"postcss": "^8.0.0",
"postcss-import": "14.1.0",
"postcss-preset-env": "7.5.0",
@ -131,12 +131,12 @@
"protractor": "~7.0.0",
"rxjs": "~7.8.0",
"should-quote": "^1.0.0",
"ts-jest": "29.1.0",
"ts-jest": "29.4.6",
"ts-node": "10.9.1",
"ts-toolbelt": "^9.0.0",
"tslib": "^2.3.0",
"tslint": "~6.1.0",
"typescript": "~5.8.0",
"typescript": "~5.9.0",
"zone.js": "~0.15.0"
},
"lint-staged": {

6
npm/ng-packs/packages/account-core/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/account-core/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
}
}

6
npm/ng-packs/packages/account/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/account/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared", "account-core"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "account-core"]
}
}

2
npm/ng-packs/packages/components/package.json

@ -12,7 +12,7 @@
},
"dependencies": {
"chart.js": "^3.5.1",
"ng-zorro-antd": "~20.0.0",
"ng-zorro-antd": "~21.0.0-next.1",
"@ctrl/tinycolor": "^4.0.0",
"tslib": "^2.0.0"
},

6
npm/ng-packs/packages/components/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/components/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
}
}

2
npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts

@ -29,7 +29,7 @@ import { DISABLE_TREE_STYLE_LOADING_TOKEN } from '../disable-tree-style-loading.
import { TreeNodeTemplateDirective } from '../templates/tree-node-template.directive';
import { ExpandedIconTemplateDirective } from '../templates/expanded-icon-template.directive';
import { NgTemplateOutlet } from '@angular/common';
import { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';
import { NzNoAnimationDirective } from 'ng-zorro-antd/core/animation';
export type DropEvent = NzFormatEmitEvent & { pos: number };

12
npm/ng-packs/packages/components/tsconfig.lib.json

@ -2,14 +2,18 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"target": "ES2022",
"declaration": true,
"declarationMap": true,
"inlineSources": true,
"types": [],
"lib": ["dom", "es2020"],
"target": "ES2022",
"lib": ["ES2020", "dom"],
"useDefineForClassFields": false
},
"exclude": ["src/test-setup.ts", "**/*.spec.ts", "jest.config.ts"],
"include": ["**/*.ts"]
"exclude": [
"src/test-setup.ts",
"src/**/*.spec.ts",
"jest.config.ts"
],
"include": ["src/**/*.ts"]
}

3
npm/ng-packs/packages/components/tsconfig.lib.prod.json

@ -3,7 +3,8 @@
"compilerOptions": {
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
"useDefineForClassFields": false,
"skipLibCheck": true
},
"angularCompilerOptions": {
"compilationMode": "partial"

4
npm/ng-packs/packages/core/project.json

@ -4,6 +4,7 @@
"projectType": "library",
"sourceRoot": "packages/core/src",
"prefix": "abp",
"tags": [],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,6 +33,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": []
}
}

3
npm/ng-packs/packages/core/tsconfig.lib.prod.json

@ -3,7 +3,8 @@
"compilerOptions": {
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
"useDefineForClassFields": false,
"skipLibCheck": true
},
"angularCompilerOptions": {
"compilationMode": "partial"

6
npm/ng-packs/packages/feature-management/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/feature-management/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
}
}

4
npm/ng-packs/packages/generators/project.json

@ -3,6 +3,7 @@
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/generators/src",
"projectType": "library",
"tags": [],
"targets": {
"build": {
"executor": "@nx/js:tsc",
@ -51,6 +52,5 @@
"jestConfig": "packages/generators/jest.config.ts"
}
}
},
"tags": []
}
}

3
npm/ng-packs/packages/generators/tsconfig.json

@ -2,7 +2,8 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs",
"skipLibCheck": true
"skipLibCheck": true,
"moduleResolution": "node"
},
"files": [],
"include": [],

6
npm/ng-packs/packages/identity/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/identity/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared", "permission-management"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "permission-management"]
}
}

6
npm/ng-packs/packages/oauth/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/oauth/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -31,7 +33,5 @@
"lint": {
"executor": "@nx/eslint:lint"
}
},
"tags": [],
"implicitDependencies": ["core"]
}
}

6
npm/ng-packs/packages/permission-management/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/permission-management/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
}
}

10
npm/ng-packs/packages/schematics/package.json

@ -4,16 +4,16 @@
"author": "",
"schematics": "./collection.json",
"dependencies": {
"@angular-devkit/core": "~20.0.0",
"@angular-devkit/schematics": "~20.0.0",
"@angular/cli": "~20.0.0",
"@angular-devkit/core": "~21.0.0",
"@angular-devkit/schematics": "~21.0.0",
"@angular/cli": "~21.0.0",
"got": "^11.5.2",
"jsonc-parser": "^2.3.0",
"should-quote": "^1.0.0",
"typescript": "~5.8.0"
"typescript": "~5.9.0"
},
"devDependencies": {
"@schematics/angular": "~20.0.0",
"@schematics/angular": "~21.0.0",
"@types/jest": "29.4.4",
"@types/node": "20.2.5",
"jest": "29.4.3",

4
npm/ng-packs/packages/schematics/project.json

@ -4,6 +4,7 @@
"projectType": "library",
"sourceRoot": "packages/schematics/src",
"prefix": "abp",
"tags": [],
"targets": {
"test": {
"executor": "@nx/jest:jest",
@ -16,6 +17,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": []
}
}

6
npm/ng-packs/packages/setting-management/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/setting-management/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared", "components"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "components"]
}
}

6
npm/ng-packs/packages/tenant-management/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/tenant-management/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared", "feature-management"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "feature-management"]
}
}

6
npm/ng-packs/packages/theme-basic/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/theme-basic/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "theme-shared", "account-core"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "account-core"]
}
}

4
npm/ng-packs/packages/theme-shared/package.json

@ -9,10 +9,10 @@
"dependencies": {
"@abp/ng.core": "~10.0.1",
"@fortawesome/fontawesome-free": "^6.0.0",
"@ng-bootstrap/ng-bootstrap": "~19.0.0",
"@ng-bootstrap/ng-bootstrap": "~20.0.0",
"@ngx-validate/core": "^0.2.0",
"@popperjs/core": "~2.11.0",
"@swimlane/ngx-datatable": "^21.0.0",
"@swimlane/ngx-datatable": "~22.0.0",
"bootstrap": "^5.0.0",
"tslib": "^2.0.0"
},

6
npm/ng-packs/packages/theme-shared/project.json

@ -4,6 +4,8 @@
"projectType": "library",
"sourceRoot": "packages/theme-shared/src",
"prefix": "abp",
"tags": [],
"implicitDependencies": ["core", "oauth"],
"targets": {
"build": {
"executor": "@nx/angular:package",
@ -32,7 +34,5 @@
"executor": "@nx/eslint:lint",
"outputs": ["{options.outputFile}"]
}
},
"tags": [],
"implicitDependencies": ["core", "oauth"]
}
}

2
npm/ng-packs/packages/theme-shared/src/lib/components/toast-container/toast-container.component.ts

@ -46,7 +46,7 @@ export class ToastContainerComponent implements OnInit {
});
}
@HostListener('window:resize', ['$event'])
@HostListener('window:resize')
onWindowResize() {
this.setDefaultRight();
}

4
npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts

@ -8,7 +8,7 @@ import {
inject,
PLATFORM_ID,
} from '@angular/core';
import { ColumnMode, DatatableComponent, ScrollerComponent } from '@swimlane/ngx-datatable';
import { ColumnMode, DatatableComponent } from '@swimlane/ngx-datatable';
import { fromEvent, Subscription } from 'rxjs';
import { debounceTime } from 'rxjs/operators';
@ -41,7 +41,7 @@ export class NgxDatatableDefaultDirective implements AfterViewInit, OnDestroy {
this.table.virtualization = false;
}
private fixHorizontalGap(scroller: ScrollerComponent) {
private fixHorizontalGap(scroller: any) {
const { body, documentElement } = this.document;
if (isPlatformBrowser(this.platformId)) {
if (documentElement.scrollHeight !== documentElement.clientHeight) {

11
npm/ng-packs/tsconfig.base.json

@ -4,12 +4,12 @@
"strict": false,
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"moduleResolution": "bundler",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2020",
"module": "esnext",
"target": "ES2020",
"module": "ES2022",
"lib": ["es2020", "dom"],
"esModuleInterop": true,
"baseUrl": "./",
@ -47,7 +47,10 @@
"@abp/ng.theme.basic/testing": ["packages/theme-basic/testing/src/public-api.ts"],
"@abp/ng.theme.shared": ["packages/theme-shared/src/public-api.ts"],
"@abp/ng.theme.shared/testing": ["packages/theme-shared/testing/src/public-api.ts"],
"@abp/nx.generators": ["packages/generators/src/index.ts"]
"@abp/nx.generators": ["packages/generators/src/index.ts"],
"ng-zorro-antd/core/no-animation": [
"node_modules/ng-zorro-antd/core/no-animation"
]
}
},
"exclude": ["node_modules", "tmp"]

41
templates/app-nolayers/angular/package.json

@ -21,15 +21,15 @@
"@abp/ng.tenant-management": "~10.0.1",
"@abp/ng.theme.lepton-x": "~5.0.1",
"@abp/ng.theme.shared": "~10.0.1",
"@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",
"@angular/animations": "~21.0.0",
"@angular/common": "~21.0.0",
"@angular/compiler": "~21.0.0",
"@angular/core": "~21.0.0",
"@angular/forms": "~21.0.0",
"@angular/localize": "~21.0.0",
"@angular/platform-browser": "~21.0.0",
"@angular/platform-browser-dynamic": "~21.0.0",
"@angular/router": "~21.0.0",
"bootstrap-icons": "~1.8.0",
"rxjs": "~7.8.0",
"tslib": "^2.0.0",
@ -37,27 +37,26 @@
},
"devDependencies": {
"@abp/ng.schematics": "~10.0.1",
"@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",
"@angular/build": "~20.0.0",
"@angular-eslint/builder": "~21.0.0",
"@angular-eslint/eslint-plugin": "~21.0.0",
"@angular-eslint/eslint-plugin-template": "~21.0.0",
"@angular-eslint/schematics": "~21.0.0",
"@angular-eslint/template-parser": "~21.0.0",
"@angular/build": "~21.0.0",
"@angular/cli": "~21.0.0",
"@angular/compiler-cli": "~21.0.0",
"@angular/language-service": "~21.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "7.16.0",
"@typescript-eslint/parser": "7.16.0",
"eslint": "^8.0.0",
"jasmine-core": "~4.0.0",
"karma": "~6.3.0",
"karma": "~6.4.4",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"typescript": "~5.8.0"
"typescript": "~5.9.0"
}
}

3
templates/app-nolayers/angular/src/main.ts

@ -1,5 +1,6 @@
import { provideZoneChangeDetection } from "@angular/core";
import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { AppComponent } from './app/app.component';
bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err));
bootstrapApplication(AppComponent, {...appConfig, providers: [provideZoneChangeDetection(), ...appConfig.providers]}).catch(err => console.error(err));

6
templates/app-nolayers/angular/tsconfig.json

@ -10,13 +10,9 @@
"moduleResolution": "bundler",
"importHelpers": true,
"target": "ES2022",
"module": "esnext",
"module": "ES2022",
"skipLibCheck": true,
"esModuleInterop": true,
"lib": [
"es2020",
"dom"
],
"paths": {
"@proxy": [
"src/app/proxy/index.ts"

41
templates/app/angular/package.json

@ -21,15 +21,15 @@
"@abp/ng.tenant-management": "~10.0.1",
"@abp/ng.theme.lepton-x": "~5.0.1",
"@abp/ng.theme.shared": "~10.0.1",
"@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",
"@angular/animations": "~21.0.0",
"@angular/common": "~21.0.0",
"@angular/compiler": "~21.0.0",
"@angular/core": "~21.0.0",
"@angular/forms": "~21.0.0",
"@angular/localize": "~21.0.0",
"@angular/platform-browser": "~21.0.0",
"@angular/platform-browser-dynamic": "~21.0.0",
"@angular/router": "~21.0.0",
"bootstrap-icons": "~1.8.0",
"rxjs": "~7.8.0",
"tslib": "^2.0.0",
@ -37,27 +37,26 @@
},
"devDependencies": {
"@abp/ng.schematics": "~10.0.1",
"@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",
"@angular/build": "~20.0.0",
"@angular-eslint/builder": "~21.0.0",
"@angular-eslint/eslint-plugin": "~21.0.0",
"@angular-eslint/eslint-plugin-template": "~21.0.0",
"@angular-eslint/schematics": "~21.0.0",
"@angular-eslint/template-parser": "~21.0.0",
"@angular/build": "~21.0.0",
"@angular/cli": "~21.0.0",
"@angular/compiler-cli": "~21.0.0",
"@angular/language-service": "~21.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "~20.11.0",
"@typescript-eslint/eslint-plugin": "7.16.0",
"@typescript-eslint/parser": "7.16.0",
"eslint": "^8.0.0",
"jasmine-core": "~4.0.0",
"karma": "~6.3.0",
"karma": "~6.4.4",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"typescript": "~5.8.0"
"typescript": "~5.9.3"
}
}

3
templates/app/angular/src/main.ts

@ -1,5 +1,6 @@
import { provideZoneChangeDetection } from "@angular/core";
import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { AppComponent } from './app/app.component';
bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err));
bootstrapApplication(AppComponent, {...appConfig, providers: [provideZoneChangeDetection(), ...appConfig.providers]}).catch(err => console.error(err));

6
templates/app/angular/tsconfig.json

@ -10,13 +10,9 @@
"moduleResolution": "bundler",
"importHelpers": true,
"target": "ES2022",
"module": "esnext",
"module": "ES2022",
"skipLibCheck": true,
"esModuleInterop": true,
"lib": [
"es2020",
"dom"
],
"paths": {
"@proxy": [
"src/app/proxy/index.ts"

43
templates/module/angular/package.json

@ -22,44 +22,43 @@
"@abp/ng.tenant-management": "~10.0.1",
"@abp/ng.theme.basic": "~10.0.1",
"@abp/ng.theme.shared": "~10.0.1",
"@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",
"@angular/animations": "~21.0.0",
"@angular/common": "~21.0.0",
"@angular/compiler": "~21.0.0",
"@angular/core": "~21.0.0",
"@angular/forms": "~21.0.0",
"@angular/localize": "~21.0.0",
"@angular/platform-browser": "~21.0.0",
"@angular/platform-browser-dynamic": "~21.0.0",
"@angular/router": "~21.0.0",
"rxjs": "~7.8.0",
"tslib": "^2.0.0",
"zone.js": "~0.15.0"
},
"devDependencies": {
"@abp/ng.schematics": "~10.0.1",
"@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",
"@angular/build": "~20.0.0",
"@angular-eslint/builder": "~21.0.0",
"@angular-eslint/eslint-plugin": "~21.0.0",
"@angular-eslint/eslint-plugin-template": "~21.0.0",
"@angular-eslint/schematics": "~21.0.0",
"@angular-eslint/template-parser": "~21.0.0",
"@angular/build": "~21.0.0",
"@angular/cli": "~21.0.0",
"@angular/compiler-cli": "~21.0.0",
"@angular/language-service": "~21.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "7.16.0",
"@typescript-eslint/parser": "7.16.0",
"eslint": "^8.0.0",
"jasmine-core": "~4.0.0",
"karma": "~6.3.0",
"karma": "~6.4.4",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "~20.0.0",
"ng-packagr": "~21.0.0",
"symlink": "^2.0.0",
"typescript": "~5.8.0"
"typescript": "~5.9.0"
}
}

3
templates/module/angular/projects/dev-app/src/main.ts

@ -1,5 +1,6 @@
import { provideZoneChangeDetection } from "@angular/core";
import { bootstrapApplication } from '@angular/platform-browser';
import { appConfig } from './app/app.config';
import { AppComponent } from './app/app.component';
bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err));
bootstrapApplication(AppComponent, {...appConfig, providers: [provideZoneChangeDetection(), ...appConfig.providers]}).catch(err => console.error(err));

6
templates/module/angular/projects/my-project-name/tsconfig.lib.json

@ -6,11 +6,7 @@
"declaration": true,
"declarationMap": true,
"inlineSources": true,
"types": [],
"lib": [
"dom",
"es2018"
]
"types": []
},
"exclude": [
"src/test.ts",

1
templates/module/angular/tsconfig.json

@ -2,6 +2,7 @@
"extends": "./tsconfig.prod.json",
"compilerOptions": {
"esModuleInterop": true,
"moduleResolution": "bundler",
"skipLibCheck": true,
"paths": {
"@my-company-name/my-project-name": [

6
templates/module/angular/tsconfig.prod.json

@ -7,10 +7,10 @@
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"moduleResolution": "bundler",
"importHelpers": true,
"target": "es2020",
"module": "esnext",
"target": "es2022",
"module": "ES2022",
"esModuleInterop": true,
"lib": [
"es2020",

Loading…
Cancel
Save