Browse Source

Merge pull request #11262 from abpframework/feat/10517

Angular 13 update
pull/11266/head
Bunyamin Coskuner 4 years ago
committed by GitHub
parent
commit
038db6ac3e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      npm/ng-packs/.gitignore
  2. 3
      npm/ng-packs/apps/dev-app/jest.config.js
  3. 12
      npm/ng-packs/apps/dev-app/src/polyfills.ts
  4. 11
      npm/ng-packs/apps/dev-app/src/test-setup.ts
  5. 132
      npm/ng-packs/migrations.json
  6. 3
      npm/ng-packs/nx.json
  7. 72
      npm/ng-packs/package.json
  8. 3
      npm/ng-packs/packages/account-core/jest.config.js
  9. 11
      npm/ng-packs/packages/account-core/src/test-setup.ts
  10. 4
      npm/ng-packs/packages/account-core/tsconfig.lib.prod.json
  11. 3
      npm/ng-packs/packages/account/jest.config.js
  12. 5
      npm/ng-packs/packages/account/ng-package.json
  13. 11
      npm/ng-packs/packages/account/src/test-setup.ts
  14. 4
      npm/ng-packs/packages/account/tsconfig.lib.prod.json
  15. 3
      npm/ng-packs/packages/components/jest.config.js
  16. 5
      npm/ng-packs/packages/components/ng-package.json
  17. 2
      npm/ng-packs/packages/components/package.json
  18. 10
      npm/ng-packs/packages/components/src/test-setup.ts
  19. 4
      npm/ng-packs/packages/components/tsconfig.lib.prod.json
  20. 3
      npm/ng-packs/packages/core/jest.config.js
  21. 14
      npm/ng-packs/packages/core/locale/src/utils/register-locale.ts
  22. 2
      npm/ng-packs/packages/core/package.json
  23. 101
      npm/ng-packs/packages/core/src/lib/core.module.ts
  24. 2
      npm/ng-packs/packages/core/src/lib/services/list.service.ts
  25. 6
      npm/ng-packs/packages/core/src/lib/services/subscription.service.ts
  26. 2
      npm/ng-packs/packages/core/src/lib/utils/array-utils.ts
  27. 4
      npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts
  28. 11
      npm/ng-packs/packages/core/src/test-setup.ts
  29. 6
      npm/ng-packs/packages/core/tsconfig.lib.prod.json
  30. 3
      npm/ng-packs/packages/feature-management/jest.config.js
  31. 4
      npm/ng-packs/packages/feature-management/ng-package.json
  32. 11
      npm/ng-packs/packages/feature-management/src/test-setup.ts
  33. 4
      npm/ng-packs/packages/feature-management/tsconfig.lib.prod.json
  34. 3
      npm/ng-packs/packages/identity/jest.config.js
  35. 11
      npm/ng-packs/packages/identity/src/test-setup.ts
  36. 4
      npm/ng-packs/packages/identity/tsconfig.lib.prod.json
  37. 3
      npm/ng-packs/packages/permission-management/jest.config.js
  38. 4
      npm/ng-packs/packages/permission-management/ng-package.json
  39. 11
      npm/ng-packs/packages/permission-management/src/test-setup.ts
  40. 4
      npm/ng-packs/packages/permission-management/tsconfig.lib.prod.json
  41. 3
      npm/ng-packs/packages/schematics/jest.config.js
  42. 11
      npm/ng-packs/packages/schematics/src/test-setup.ts
  43. 3
      npm/ng-packs/packages/setting-management/jest.config.js
  44. 5
      npm/ng-packs/packages/setting-management/ng-package.json
  45. 11
      npm/ng-packs/packages/setting-management/src/test-setup.ts
  46. 4
      npm/ng-packs/packages/setting-management/tsconfig.lib.prod.json
  47. 3
      npm/ng-packs/packages/tenant-management/jest.config.js
  48. 11
      npm/ng-packs/packages/tenant-management/src/test-setup.ts
  49. 4
      npm/ng-packs/packages/tenant-management/tsconfig.lib.prod.json
  50. 3
      npm/ng-packs/packages/theme-basic/jest.config.js
  51. 5
      npm/ng-packs/packages/theme-basic/ng-package.json
  52. 59
      npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts
  53. 11
      npm/ng-packs/packages/theme-basic/src/test-setup.ts
  54. 4
      npm/ng-packs/packages/theme-basic/tsconfig.lib.prod.json
  55. 3
      npm/ng-packs/packages/theme-shared/jest.config.js
  56. 3
      npm/ng-packs/packages/theme-shared/ng-package.json
  57. 3
      npm/ng-packs/packages/theme-shared/package.json
  58. 26
      npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts
  59. 10
      npm/ng-packs/packages/theme-shared/src/test-setup.ts
  60. 4
      npm/ng-packs/packages/theme-shared/tsconfig.lib.prod.json
  61. 1
      templates/app/angular/.gitignore
  62. 50
      templates/app/angular/package.json
  63. 10
      templates/app/angular/src/polyfills.ts
  64. 1
      templates/module/angular/.gitignore
  65. 50
      templates/module/angular/package.json
  66. 10
      templates/module/angular/projects/dev-app/src/polyfills.ts
  67. 3
      templates/module/angular/projects/my-project-name/tsconfig.lib.prod.json

1
npm/ng-packs/.gitignore

@ -35,6 +35,7 @@ speed-measure-plugin.json
.history/*
# misc
/.angular/cache
/.sass-cache
/connect.lock
/coverage

3
npm/ng-packs/apps/dev-app/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/apps/dev-app',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

12
npm/ng-packs/apps/dev-app/src/polyfills.ts

@ -18,18 +18,6 @@
* BROWSER POLYFILLS
*/
/**
* IE11 requires the following for NgClass support on SVG elements
*/
// import 'classlist.js'; // Run `npm install --save classlist.js`.
/**
* Web Animations `@angular/platform-browser/animations`
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
*/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
/**
* By default, zone.js will patch all possible macroTask and DomEvents
* user can disable parts of macroTask/DomEvents patch by setting following flags

11
npm/ng-packs/apps/dev-app/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

132
npm/ng-packs/migrations.json

@ -1,60 +1,132 @@
{
"migrations": [
{
"version": "13.0.0-beta.1",
"description": "Add default base to nx.json if its not currently set",
"factory": "./src/migrations/update-13-0-0/set-default-base-if-not-set",
"version": "13.2.0",
"description": "Set --parallel=1 for existing repos to preserve the existing behavior",
"cli": "nx",
"implementation": "./src/migrations/update-13-2-0/set-parallel-default",
"package": "@nrwl/workspace",
"name": "set-default-base-if-not-set"
"name": "set-parallel-default"
},
{
"version": "13.0.0-beta.4",
"description": "Move global settings into nx.json, and project specific settings into workspace.json",
"version": "13.3.0-beta.0",
"description": "@nrwl/workspace:tsc is now @nrwl/js:tsc",
"cli": "nx",
"implementation": "./src/migrations/update-13-0-0/config-locations/config-locations",
"implementation": "./src/migrations/update-13-3-0/update-tsc-executor-location",
"package": "@nrwl/workspace",
"name": "13-0-0-config-locations"
"name": "13-3-0-tsc-location"
},
{
"cli": "nx",
"version": "12.9.0",
"description": "Fixes invalid importPaths for buildable and publishable libs.",
"factory": "./src/migrations/update-12-9-0/update-invalid-import-paths",
"version": "13.2.0-beta.1",
"description": "Remove deprecated options from webpack-server and webpack-browser.",
"factory": "./src/migrations/update-13-2-0/update-angular-config",
"package": "@nrwl/angular",
"name": "update-invalid-import-paths"
"name": "update-angular-config"
},
{
"cli": "nx",
"version": "13.0.0-beta.10",
"description": "Adds postcss packages needed for Tailwind support if ng-packagr is already installed.",
"factory": "./src/migrations/update-13-0-0/add-postcss-packages",
"version": "13.2.0-beta.1",
"description": "Remove enableIvy and add compilationMode to library tsconfig and remove deprecated ng-packagr options.",
"factory": "./src/migrations/update-13-2-0/update-libraries",
"package": "@nrwl/angular",
"name": "add-postcss-packages"
"name": "update-libraries"
},
{
"cli": "nx",
"version": "12.8.0-beta.0",
"description": "Remove Typescript Preprocessor Plugin",
"factory": "./src/migrations/update-12-8-0/remove-typescript-plugin",
"package": "@nrwl/cypress",
"name": "remove-typescript-plugin"
"version": "13.2.0-beta.1",
"description": "Update jest config to support jest-preset-angular",
"factory": "./src/migrations/update-13-2-0/update-angular-jest-config",
"package": "@nrwl/angular",
"name": "update-angular-jest-config"
},
{
"cli": "nx",
"version": "12.9.0-beta.0",
"description": "Add outputs for caching",
"factory": "./src/migrations/update-12-9-0/add-outputs",
"package": "@nrwl/linter",
"name": "add-outputs"
"version": "13.2.0-beta.1",
"description": "Move some imports from @nrwl/angular/testing to jasmine-marbles",
"factory": "./src/migrations/update-13-2-0/update-testing-imports",
"package": "@nrwl/angular",
"name": "update-testing-imports"
},
{
"cli": "nx",
"version": "13.2.0",
"description": "In Angular version 13, the `teardown` flag in `TestBed` will be enabled by default. This migration automatically opts out existing apps from the new teardown behavior.",
"factory": "./src/migrations/update-13-2-0/opt-out-testbed-teardown",
"package": "@nrwl/angular",
"name": "opt-out-testbed-teardown"
},
{
"cli": "nx",
"version": "13.3.0-beta.0",
"description": "In Angular version 13, the ESM became a first class citizen. This means the webpack config generated must be modified to support modules.",
"factory": "./src/migrations/update-13-3-0/update-mfe-webpack-config",
"package": "@nrwl/angular",
"name": "update-mfe-config-to-module-syntax"
},
{
"version": "13.0.0",
"factory": "./update-13/schematic-options",
"description": "Remove no longer valid Angular schematic options from `angular.json`.",
"package": "@angular/cli",
"name": "schematic-options-13"
},
{
"version": "13.0.0",
"factory": "./update-13/update-angular-config",
"description": "Remove deprecated options from 'angular.json' that are no longer present in v13.",
"package": "@angular/cli",
"name": "update-angular-config-v13"
},
{
"version": "13.0.0",
"factory": "./update-13/update-libraries",
"description": "Update library projects to be published in partial mode and removed deprecated options from ng-packagr configuration.",
"package": "@angular/cli",
"name": "update-libraries-v13"
},
{
"version": "13.0.0",
"factory": "./update-13/drop-ie-polyfills",
"description": "Remove polyfills required only for Internet Explorer which is no longer supported.",
"package": "@angular/cli",
"name": "drop-ie-polyfills"
},
{
"version": "13.0.0",
"factory": "./update-13/update-gitignore",
"description": "Updating '.gitignore' to include '.angular/cache'.",
"package": "@angular/cli",
"name": "update-gitignore"
},
{
"version": "13.0.0-beta",
"description": "Migrates `[routerLink]=\"\"` in templates to `[routerLink]=\"[]\"` because these links are likely intended to route to the current page with updated fragment/query params.",
"factory": "./migrations/router-link-empty-expression/index",
"package": "@angular/core",
"name": "migration-v13-router-link-empty-expression"
},
{
"version": "13.0.0-beta",
"description": "In Angular version 13, the `teardown` flag in `TestBed` will be enabled by default. This migration automatically opts out existing apps from the new teardown behavior.",
"factory": "./migrations/testbed-teardown/index",
"package": "@angular/core",
"name": "migration-v13-testbed-teardown"
},
{
"version": "13.1.0-beta",
"description": "As of Angular version 13, `entryComponents` are no longer necessary.",
"factory": "./migrations/entry-components/index",
"package": "@angular/core",
"name": "migration-v13.1-entry-components"
},
{
"cli": "nx",
"version": "12.9.0-beta.0",
"description": "Remove ESLint parserOptions.project config if no rules requiring type-checking are in use",
"factory": "./src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules",
"version": "13.3.0-beta.0",
"description": "Update eslint-rules jest.config.js in order to support ESLint v8 exports mapping, remove category field",
"factory": "./src/migrations/update-13-3-0/eslint-8-updates",
"package": "@nrwl/linter",
"name": "remove-eslint-project-config-if-no-type-checking-rules-again"
"name": "eslint-8-updates"
}
]
}

3
npm/ng-packs/nx.json

@ -14,7 +14,8 @@
"default": {
"runner": "@nrwl/workspace/tasks-runners/default",
"options": {
"cacheableOperations": ["build", "lint", "test", "e2e"]
"cacheableOperations": ["build", "lint", "test", "e2e"],
"parallel": 3
}
}
},

72
npm/ng-packs/package.json

@ -38,24 +38,24 @@
"private": true,
"devDependencies": {
"@abp/utils": "~5.0.1",
"@angular-devkit/build-angular": "12.2.13",
"@angular-devkit/build-angular": "13.1.2",
"@angular-devkit/build-ng-packagr": "^0.1002.0",
"@angular-devkit/schematics-cli": "~12.2.0",
"@angular-eslint/eslint-plugin": "~12.3.0",
"@angular-eslint/eslint-plugin-template": "~12.3.0",
"@angular-eslint/template-parser": "~12.3.0",
"@angular/animations": "12.2.13",
"@angular/cli": "12.2.13",
"@angular/common": "12.2.13",
"@angular/compiler": "12.2.13",
"@angular/compiler-cli": "12.2.13",
"@angular/core": "12.2.13",
"@angular/forms": "12.2.13",
"@angular/language-service": "12.2.13",
"@angular/localize": "12.2.13",
"@angular/platform-browser": "12.2.13",
"@angular/platform-browser-dynamic": "12.2.13",
"@angular/router": "12.2.13",
"@angular-eslint/eslint-plugin": "13.0.1",
"@angular-eslint/eslint-plugin-template": "13.0.1",
"@angular-eslint/template-parser": "13.0.1",
"@angular/animations": "13.1.1",
"@angular/cli": "13.1.2",
"@angular/common": "13.1.1",
"@angular/compiler": "13.1.1",
"@angular/compiler-cli": "13.1.1",
"@angular/core": "13.1.1",
"@angular/forms": "13.1.1",
"@angular/language-service": "13.1.1",
"@angular/localize": "13.1.1",
"@angular/platform-browser": "13.1.1",
"@angular/platform-browser-dynamic": "13.1.1",
"@angular/router": "13.1.1",
"@abp/ng.account": "~5.0.1",
"@abp/ng.account.core": "~5.0.1",
"@abp/ng.core": "~5.0.1",
@ -68,41 +68,42 @@
"@abp/ng.theme.basic": "~5.0.1",
"@abp/ng.theme.shared": "~5.0.1",
"@fortawesome/fontawesome-free": "^5.15.4",
"@ng-bootstrap/ng-bootstrap": "11.0.0-beta.2",
"@ng-bootstrap/ng-bootstrap": "~12.0.0-beta.4",
"@ngneat/spectator": "^8.0.3",
"@ngx-validate/core": "^0.1.1",
"@nrwl/angular": "13.1.3",
"@nrwl/cli": "13.1.3",
"@nrwl/cypress": "13.1.3",
"@nrwl/eslint-plugin-nx": "13.1.3",
"@nrwl/jest": "13.1.3",
"@nrwl/linter": "13.1.3",
"@nrwl/tao": "13.1.3",
"@nrwl/workspace": "13.1.3",
"@nrwl/angular": "13.4.3",
"@nrwl/cli": "13.4.3",
"@nrwl/cypress": "13.4.3",
"@nrwl/eslint-plugin-nx": "13.4.3",
"@nrwl/jest": "13.4.3",
"@nrwl/linter": "13.4.3",
"@nrwl/tao": "13.4.3",
"@nrwl/workspace": "13.4.3",
"@schematics/angular": "~12.2.0",
"@swimlane/ngx-datatable": "^19.0.0",
"@types/jest": "27.0.2",
"@types/node": "14.14.33",
"@typescript-eslint/eslint-plugin": "4.33.0",
"@typescript-eslint/parser": "4.33.0",
"angular-oauth2-oidc": "^12.1.0",
"@typescript-eslint/eslint-plugin": "5.3.1",
"@typescript-eslint/parser": "5.3.1",
"angular-oauth2-oidc": "^13.0.1",
"bootstrap": "^5.1.1",
"chart.js": "^3.5.1",
"cypress": "^7.3.0",
"dotenv": "10.0.0",
"eslint": "7.32.0",
"eslint": "8.2.0",
"eslint-config-prettier": "8.1.0",
"eslint-plugin-cypress": "^2.10.3",
"got": "^11.5.2",
"jest": "27.2.3",
"jest-canvas-mock": "^2.3.1",
"jest-preset-angular": "10.0.1",
"jest-preset-angular": "11.0.0",
"jsonc-parser": "^2.3.0",
"just-clone": "^3.2.1",
"just-compare": "^1.4.0",
"lerna": "^4.0.0",
"ng-packagr": "12.2.5",
"ng-zorro-antd": "^12.0.1",
"ng-packagr": "13.1.2",
"ng-zorro-antd": "^13.0.0",
"@popperjs/core": "~2.11.2",
"postcss": "^8.3.9",
"postcss-import": "^14.0.2",
"postcss-preset-env": "^6.7.0",
@ -117,10 +118,7 @@
"tsickle": "^0.39.1",
"tslib": "^2.0.0",
"tslint": "~6.1.0",
"typescript": "4.3.5",
"zone.js": "~0.11.4"
},
"resolutions": {
"@ng-bootstrap/ng-bootstrap": "11.0.0-beta.2"
"typescript": "4.5.4",
"zone.js": "0.11.4"
}
}

3
npm/ng-packs/packages/account-core/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/account-core',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

11
npm/ng-packs/packages/account-core/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

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

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/account/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/account',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

5
npm/ng-packs/packages/account/ng-package.json

@ -4,5 +4,8 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"allowedNonPeerDependencies": ["@abp/ng.theme.shared", "@abp/ng.account.core"]
"allowedNonPeerDependencies": [
"@abp/ng.theme.shared",
"@abp/ng.account.core"
]
}

11
npm/ng-packs/packages/account/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/account/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/components/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/components',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

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

@ -4,5 +4,8 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"allowedNonPeerDependencies": ["ng-zorro-antd", "chart.js"]
"allowedNonPeerDependencies": [
"ng-zorro-antd",
"chart.js"
]
}

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

@ -13,7 +13,7 @@
},
"dependencies": {
"chart.js": "^3.5.1",
"ng-zorro-antd": "^12.0.1",
"ng-zorro-antd": "^13.0.0",
"tslib": "^2.0.0"
},
"publishConfig": {

10
npm/ng-packs/packages/components/src/test-setup.ts

@ -1,3 +1,13 @@
import 'jest-canvas-mock';
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

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

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/core/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/core',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

14
npm/ng-packs/packages/core/locale/src/utils/register-locale.ts

@ -23,16 +23,22 @@ export function registerLocale(
) {
return (locale: string): Promise<any> => {
localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };
const localePath = `/locales/${localeMap[locale] || locale}`;
return new Promise((resolve, reject) => {
return import(
/* webpackMode: "lazy-once" */
/* webpackChunkName: "locales"*/
/* webpackInclude: /[/\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant).js/ */
/* webpackInclude: /[/\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant)\.(mjs|js)$/ */
/* webpackExclude: /[/\\]global|extra/ */
`@angular/common/locales/${localeMap[locale] || locale}.js`
`@angular/common${localePath}`
)
.then(resolve)
.then(val => {
let module = val;
while (module.default) {
module = module.default;
}
resolve({ default: module });
})
.catch(error => {
errorHandlerFn({
resolve,

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

@ -8,7 +8,7 @@
},
"dependencies": {
"@abp/utils": "~5.0.1",
"angular-oauth2-oidc": "^12.1.0",
"angular-oauth2-oidc": "^13.0.1",
"just-clone": "^3.2.1",
"just-compare": "^1.4.0",
"ts-toolbelt": "6.15.4",

101
npm/ng-packs/packages/core/src/lib/core.module.ts

@ -46,59 +46,54 @@ export function storageFactory(): OAuthStorage {
* This module will be imported and exported by all others.
*/
@NgModule({
exports: [
CommonModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
LocalizationModule,
AbstractNgModelComponent,
AutofocusDirective,
DynamicLayoutComponent,
ForDirective,
FormSubmitDirective,
InitDirective,
InputEventDebounceDirective,
PermissionDirective,
ReplaceableRouteContainerComponent,
ReplaceableTemplateDirective,
RouterOutletComponent,
SortPipe,
StopPropagationDirective,
ToInjectorPipe,
],
imports: [
OAuthModule,
CommonModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
LocalizationModule,
],
declarations: [
AbstractNgModelComponent,
AutofocusDirective,
DynamicLayoutComponent,
ForDirective,
FormSubmitDirective,
InitDirective,
InputEventDebounceDirective,
PermissionDirective,
ReplaceableRouteContainerComponent,
ReplaceableTemplateDirective,
RouterOutletComponent,
SortPipe,
StopPropagationDirective,
ToInjectorPipe,
],
providers: [LocalizationPipe],
entryComponents: [
RouterOutletComponent,
DynamicLayoutComponent,
ReplaceableRouteContainerComponent,
],
exports: [
CommonModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
LocalizationModule,
AbstractNgModelComponent,
AutofocusDirective,
DynamicLayoutComponent,
ForDirective,
FormSubmitDirective,
InitDirective,
InputEventDebounceDirective,
PermissionDirective,
ReplaceableRouteContainerComponent,
ReplaceableTemplateDirective,
RouterOutletComponent,
SortPipe,
StopPropagationDirective,
ToInjectorPipe,
],
imports: [
OAuthModule,
CommonModule,
HttpClientModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
LocalizationModule,
],
declarations: [
AbstractNgModelComponent,
AutofocusDirective,
DynamicLayoutComponent,
ForDirective,
FormSubmitDirective,
InitDirective,
InputEventDebounceDirective,
PermissionDirective,
ReplaceableRouteContainerComponent,
ReplaceableTemplateDirective,
RouterOutletComponent,
SortPipe,
StopPropagationDirective,
ToInjectorPipe,
],
providers: [LocalizationPipe]
})
export class BaseCoreModule {}

2
npm/ng-packs/packages/core/src/lib/services/list.service.ts

@ -103,7 +103,7 @@ export class ListService<QueryParamsType = ABP.PageQueryParams | any> implements
this.get();
}
hookToQuery<T extends any>(
hookToQuery<T>(
streamCreatorCallback: QueryStreamCreatorCallback<T, QueryParamsType>,
): Observable<PagedResultDto<T>> {
this._isLoading$.next(true);

6
npm/ng-packs/packages/core/src/lib/services/subscription.service.ts

@ -11,13 +11,13 @@ export class SubscriptionService implements OnDestroy {
return this.subscription.closed;
}
addOne<T extends unknown>(
addOne<T>(
source$: Observable<T>,
next?: (value: T) => void,
error?: (error: any) => void,
): Subscription;
addOne<T extends unknown>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;
addOne<T extends unknown>(
addOne<T>(source$: Observable<T>, observer?: PartialObserver<T>): Subscription;
addOne<T>(
source$: Observable<T>,
nextOrObserver?: PartialObserver<T> | Next<T>,
error?: (error: any) => void,

2
npm/ng-packs/packages/core/src/lib/utils/array-utils.ts

@ -1,4 +1,4 @@
export function pushValueTo<T extends any>(array: T[]) {
export function pushValueTo<T>(array: T[]) {
return (element: T) => {
array.push(element);
return array;

4
npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts

@ -13,7 +13,7 @@ export class BaseTreeNode<T extends object> {
}
}
export function createTreeFromList<T extends object, R extends unknown>(
export function createTreeFromList<T extends object, R>(
list: T[],
keySelector: (item: T) => NodeKey,
parentKeySelector: typeof keySelector,
@ -43,7 +43,7 @@ export function createTreeFromList<T extends object, R extends unknown>(
return tree;
}
export function createMapFromList<T extends object, R extends unknown>(
export function createMapFromList<T extends object, R>(
list: T[],
keySelector: (item: T) => NodeKey,
valueMapper: (item: T) => R,

11
npm/ng-packs/packages/core/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

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

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false,
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/feature-management/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/feature-management',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

4
npm/ng-packs/packages/feature-management/ng-package.json

@ -4,5 +4,7 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"allowedNonPeerDependencies": ["@abp/ng.theme.shared"]
"allowedNonPeerDependencies": [
"@abp/ng.theme.shared"
]
}

11
npm/ng-packs/packages/feature-management/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/feature-management/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/identity/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/identity',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

11
npm/ng-packs/packages/identity/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/identity/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/permission-management/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/permission-management',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

4
npm/ng-packs/packages/permission-management/ng-package.json

@ -4,5 +4,7 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"allowedNonPeerDependencies": ["@abp/ng.theme.shared"]
"allowedNonPeerDependencies": [
"@abp/ng.theme.shared"
]
}

11
npm/ng-packs/packages/permission-management/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/permission-management/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/schematics/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/schematics',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

11
npm/ng-packs/packages/schematics/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

3
npm/ng-packs/packages/setting-management/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/setting-management',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

5
npm/ng-packs/packages/setting-management/ng-package.json

@ -4,5 +4,8 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"allowedNonPeerDependencies": ["@abp/ng.theme.shared", "@abp/ng.components"]
"allowedNonPeerDependencies": [
"@abp/ng.theme.shared",
"@abp/ng.components"
]
}

11
npm/ng-packs/packages/setting-management/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/setting-management/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/tenant-management/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/tenant-management',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

11
npm/ng-packs/packages/tenant-management/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/tenant-management/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/theme-basic/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/theme-basic',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

5
npm/ng-packs/packages/theme-basic/ng-package.json

@ -4,5 +4,8 @@
"lib": {
"entryFile": "src/public-api.ts"
},
"allowedNonPeerDependencies": ["@abp/ng.theme.shared", "@abp/ng.account.core"]
"allowedNonPeerDependencies": [
"@abp/ng.theme.shared",
"@abp/ng.account.core"
]
}

59
npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts

@ -28,36 +28,35 @@ import { BASIC_THEME_USER_MENU_PROVIDERS } from './providers/user-menu.provider'
export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];
@NgModule({
declarations: [
...LAYOUTS,
ValidationErrorComponent,
LogoComponent,
NavItemsComponent,
RoutesComponent,
CurrentUserComponent,
LanguagesComponent,
PageAlertContainerComponent,
TenantBoxComponent,
AuthWrapperComponent,
],
exports: [
...LAYOUTS,
ValidationErrorComponent,
LogoComponent,
NavItemsComponent,
RoutesComponent,
CurrentUserComponent,
LanguagesComponent,
PageAlertContainerComponent,
],
imports: [
CoreModule,
ThemeSharedModule,
NgbCollapseModule,
NgbDropdownModule,
NgxValidateCoreModule,
],
entryComponents: [...LAYOUTS, ValidationErrorComponent, CurrentUserComponent, LanguagesComponent],
declarations: [
...LAYOUTS,
ValidationErrorComponent,
LogoComponent,
NavItemsComponent,
RoutesComponent,
CurrentUserComponent,
LanguagesComponent,
PageAlertContainerComponent,
TenantBoxComponent,
AuthWrapperComponent,
],
exports: [
...LAYOUTS,
ValidationErrorComponent,
LogoComponent,
NavItemsComponent,
RoutesComponent,
CurrentUserComponent,
LanguagesComponent,
PageAlertContainerComponent,
],
imports: [
CoreModule,
ThemeSharedModule,
NgbCollapseModule,
NgbDropdownModule,
NgxValidateCoreModule,
]
})
export class BaseThemeBasicModule {}

11
npm/ng-packs/packages/theme-basic/src/test-setup.ts

@ -1 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/theme-basic/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

3
npm/ng-packs/packages/theme-shared/jest.config.js

@ -10,8 +10,9 @@ module.exports = {
},
coverageDirectory: '../../coverage/packages/theme-shared',
transform: {
'^.+\\.(ts|js|html)$': 'jest-preset-angular',
'^.+.(ts|mjs|js|html)$': 'jest-preset-angular',
},
transformIgnorePatterns: ['node_modules/(?!.*.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',

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

@ -10,6 +10,7 @@
"@ng-bootstrap/ng-bootstrap",
"@ngx-validate/core",
"@swimlane/ngx-datatable",
"bootstrap"
"bootstrap",
"@popperjs/core"
]
}

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

@ -9,8 +9,9 @@
"dependencies": {
"@abp/ng.core": "~5.0.1",
"@fortawesome/fontawesome-free": "^5.15.4",
"@ng-bootstrap/ng-bootstrap": "11.0.0-beta.2",
"@ng-bootstrap/ng-bootstrap": "~12.0.0-beta.4",
"@ngx-validate/core": "^0.1.1",
"@popperjs/core": "~2.11.2",
"@swimlane/ngx-datatable": "^19.0.0",
"bootstrap": "^5.1.1",
"tslib": "^2.0.0"

26
npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts

@ -52,22 +52,16 @@ const declarationsWithExports = [
];
@NgModule({
imports: [
CoreModule,
NgxDatatableModule,
NgxValidateCoreModule,
NgbPaginationModule,
EllipsisModule,
],
declarations: [...declarationsWithExports, HttpErrorWrapperComponent],
exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports],
providers: [DatePipe],
entryComponents: [
HttpErrorWrapperComponent,
LoadingComponent,
ToastContainerComponent,
ConfirmationComponent,
],
imports: [
CoreModule,
NgxDatatableModule,
NgxValidateCoreModule,
NgbPaginationModule,
EllipsisModule,
],
declarations: [...declarationsWithExports, HttpErrorWrapperComponent],
exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports],
providers: [DatePipe]
})
export class BaseThemeSharedModule {}

10
npm/ng-packs/packages/theme-shared/src/test-setup.ts

@ -1,2 +1,12 @@
import 'jest-preset-angular/setup-jest';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
getTestBed().resetTestEnvironment();
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false },
});

4
npm/ng-packs/packages/theme-shared/tsconfig.lib.prod.json

@ -1,11 +1,9 @@
/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": true
"compilationMode": "partial"
}
}

1
templates/app/angular/.gitignore

@ -31,6 +31,7 @@ chrome-profiler-events*.json
.history/*
# misc
/.angular/cache
/.sass-cache
/connect.lock
/coverage

50
templates/app/angular/package.json

@ -20,42 +20,42 @@
"@abp/ng.tenant-management": "~5.0.1",
"@abp/ng.theme.basic": "~5.0.1",
"@abp/ng.theme.shared": "~5.0.1",
"@angular/animations": "~12.2.6",
"@angular/common": "~12.2.6",
"@angular/compiler": "~12.2.6",
"@angular/core": "~12.2.6",
"@angular/forms": "~12.2.6",
"@angular/localize": "~12.2.6",
"@angular/platform-browser": "~12.2.6",
"@angular/platform-browser-dynamic": "~12.2.6",
"@angular/router": "~12.2.6",
"@angular/animations": "~13.1.1",
"@angular/common": "~13.1.1",
"@angular/compiler": "~13.1.1",
"@angular/core": "~13.1.1",
"@angular/forms": "~13.1.1",
"@angular/localize": "~13.1.1",
"@angular/platform-browser": "~13.1.1",
"@angular/platform-browser-dynamic": "~13.1.1",
"@angular/router": "~13.1.1",
"rxjs": "~6.6.0",
"tslib": "^2.1.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@abp/ng.schematics": "~5.0.1",
"@angular-devkit/build-angular": "~12.2.6",
"@angular-eslint/builder": "~12.5.0",
"@angular-eslint/eslint-plugin": "~12.5.0",
"@angular-eslint/eslint-plugin-template": "~12.5.0",
"@angular-eslint/schematics": "~12.5.0",
"@angular-eslint/template-parser": "~12.5.0",
"@angular/cli": "~12.2.6",
"@angular/compiler-cli": "~12.2.6",
"@angular/language-service": "~12.2.6",
"@angular-devkit/build-angular": "~13.1.2",
"@angular-eslint/builder": "~13.0.1",
"@angular-eslint/eslint-plugin": "~13.0.1",
"@angular-eslint/eslint-plugin-template": "~13.0.1",
"@angular-eslint/schematics": "~13.0.1",
"@angular-eslint/template-parser": "~13.0.1",
"@angular/cli": "~13.1.2",
"@angular/compiler-cli": "~13.1.1",
"@angular/language-service": "~13.1.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "~4.31.2",
"@typescript-eslint/parser": "~4.31.2",
"eslint": "^7.32.0",
"@typescript-eslint/eslint-plugin": "5.3.0",
"@typescript-eslint/parser": "5.3.0",
"eslint": "^8.2.0",
"jasmine-core": "~3.7.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"ng-packagr": "^12.0.5",
"typescript": "~4.2.3"
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "^13.1.2",
"typescript": "~4.5.4"
}
}

10
templates/app/angular/src/polyfills.ts

@ -16,16 +16,6 @@
/***************************************************************************************************
* BROWSER POLYFILLS
*/
/**
* IE11 requires the following for NgClass support on SVG elements
*/
// import 'classlist.js'; // Run `npm install --save classlist.js`.
/**
* Web Animations `@angular/platform-browser/animations`
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
*/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
/**
* By default, zone.js will patch all possible macroTask and DomEvents
* user can disable parts of macroTask/DomEvents patch by setting following flags

1
templates/module/angular/.gitignore

@ -31,6 +31,7 @@ chrome-profiler-events*.json
.history/*
# misc
/.angular/cache
/.sass-cache
/connect.lock
/coverage

50
templates/module/angular/package.json

@ -23,43 +23,43 @@
"@abp/ng.tenant-management": "~5.0.1",
"@abp/ng.theme.basic": "~5.0.1",
"@abp/ng.theme.shared": "~5.0.1",
"@angular/animations": "~12.2.6",
"@angular/common": "~12.2.6",
"@angular/compiler": "~12.2.6",
"@angular/core": "~12.2.6",
"@angular/forms": "~12.2.6",
"@angular/localize": "~12.2.6",
"@angular/platform-browser": "~12.2.6",
"@angular/platform-browser-dynamic": "~12.2.6",
"@angular/router": "~12.2.6",
"@angular/animations": "~13.1.1",
"@angular/common": "~13.1.1",
"@angular/compiler": "~13.1.1",
"@angular/core": "~13.1.1",
"@angular/forms": "~13.1.1",
"@angular/localize": "~13.1.1",
"@angular/platform-browser": "~13.1.1",
"@angular/platform-browser-dynamic": "~13.1.1",
"@angular/router": "~13.1.1",
"rxjs": "~6.6.0",
"tslib": "^2.1.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@abp/ng.schematics": "~5.0.1",
"@angular-devkit/build-angular": "~12.2.6",
"@angular-eslint/builder": "~12.5.0",
"@angular-eslint/eslint-plugin": "~12.5.0",
"@angular-eslint/eslint-plugin-template": "~12.5.0",
"@angular-eslint/schematics": "~12.5.0",
"@angular-eslint/template-parser": "~12.5.0",
"@angular/cli": "~12.2.6",
"@angular/compiler-cli": "~12.2.6",
"@angular/language-service": "~12.2.6",
"@angular-devkit/build-angular": "~13.1.2",
"@angular-eslint/builder": "~13.0.1",
"@angular-eslint/eslint-plugin": "~13.0.1",
"@angular-eslint/eslint-plugin-template": "~13.0.1",
"@angular-eslint/schematics": "~13.0.1",
"@angular-eslint/template-parser": "~13.0.1",
"@angular/cli": "~13.1.2",
"@angular/compiler-cli": "~13.1.1",
"@angular/language-service": "~13.1.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "~4.31.2",
"@typescript-eslint/parser": "~4.31.2",
"eslint": "^7.32.0",
"@typescript-eslint/eslint-plugin": "5.3.0",
"@typescript-eslint/parser": "5.3.0",
"eslint": "^8.2.0",
"jasmine-core": "~3.7.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"ng-packagr": "^12.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "^13.1.2",
"symlink-manager": "^1.5.0",
"typescript": "~4.2.3"
"typescript": "~4.5.4"
}
}

10
templates/module/angular/projects/dev-app/src/polyfills.ts

@ -16,16 +16,6 @@
/***************************************************************************************************
* BROWSER POLYFILLS
*/
/**
* IE11 requires the following for NgClass support on SVG elements
*/
// import 'classlist.js'; // Run `npm install --save classlist.js`.
/**
* Web Animations `@angular/platform-browser/animations`
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
*/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
/**
* By default, zone.js will patch all possible macroTask and DomEvents
* user can disable parts of macroTask/DomEvents patch by setting following flags

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

@ -5,7 +5,6 @@
"declarationMap": false
},
"angularCompilerOptions": {
"compilationMode": "partial",
"enableIvy": false
"compilationMode": "partial"
}
}

Loading…
Cancel
Save