Browse Source

Update angular 15 (#14859)

* Update angular repo with nx

* Update app-pro/angular to 15.

* Update schematic utils  to 15.

* Update app-nolayers

* Update module project to angular 15

* Update package.json files in packages/z

* Bump ng-bootstrap version
pull/15044/head
Mahmut Gundogdu 3 years ago
committed by GitHub
parent
commit
cf9bc41b5a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 244
      npm/ng-packs/angular.json
  2. 17
      npm/ng-packs/apps/dev-app/.browserslistrc
  3. 2
      npm/ng-packs/apps/dev-app/src/app/app-routing.module.ts
  4. 4
      npm/ng-packs/apps/dev-app/tsconfig.app.json
  5. 160
      npm/ng-packs/migrations.json
  6. 30
      npm/ng-packs/nx.json
  7. 67
      npm/ng-packs/package.json
  8. 5
      npm/ng-packs/packages/account-core/tsconfig.lib.json
  9. 4
      npm/ng-packs/packages/account-core/tsconfig.lib.prod.json
  10. 5
      npm/ng-packs/packages/account/tsconfig.lib.json
  11. 4
      npm/ng-packs/packages/account/tsconfig.lib.prod.json
  12. 5
      npm/ng-packs/packages/components/tsconfig.lib.json
  13. 4
      npm/ng-packs/packages/components/tsconfig.lib.prod.json
  14. 2
      npm/ng-packs/packages/core/package.json
  15. 2
      npm/ng-packs/packages/core/src/lib/services/timeout-limited-oauth.service.ts
  16. 5
      npm/ng-packs/packages/core/tsconfig.lib.json
  17. 4
      npm/ng-packs/packages/core/tsconfig.lib.prod.json
  18. 5
      npm/ng-packs/packages/feature-management/tsconfig.lib.json
  19. 4
      npm/ng-packs/packages/feature-management/tsconfig.lib.prod.json
  20. 5
      npm/ng-packs/packages/identity/tsconfig.lib.json
  21. 4
      npm/ng-packs/packages/identity/tsconfig.lib.prod.json
  22. 5
      npm/ng-packs/packages/permission-management/tsconfig.lib.json
  23. 4
      npm/ng-packs/packages/permission-management/tsconfig.lib.prod.json
  24. 8
      npm/ng-packs/packages/schematics/package.json
  25. 2
      npm/ng-packs/packages/schematics/src/commands/change-theme/style-map.ts
  26. 2
      npm/ng-packs/packages/schematics/src/utils/angular/README.md
  27. 61
      npm/ng-packs/packages/schematics/src/utils/angular/add-declaration-to-ng-module.ts
  28. 47
      npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts
  29. 4
      npm/ng-packs/packages/schematics/src/utils/angular/generate-from-files.ts
  30. 10
      npm/ng-packs/packages/schematics/src/utils/angular/latest-versions/package.json
  31. 1
      npm/ng-packs/packages/schematics/src/utils/angular/parse-name.ts
  32. 34
      npm/ng-packs/packages/schematics/src/utils/angular/test/create-app-module.ts
  33. 19
      npm/ng-packs/packages/schematics/src/utils/angular/test/get-file-content.ts
  34. 10
      npm/ng-packs/packages/schematics/src/utils/angular/test/index.ts
  35. 5
      npm/ng-packs/packages/setting-management/tsconfig.lib.json
  36. 4
      npm/ng-packs/packages/setting-management/tsconfig.lib.prod.json
  37. 5
      npm/ng-packs/packages/tenant-management/tsconfig.lib.json
  38. 4
      npm/ng-packs/packages/tenant-management/tsconfig.lib.prod.json
  39. 5
      npm/ng-packs/packages/theme-basic/tsconfig.lib.json
  40. 4
      npm/ng-packs/packages/theme-basic/tsconfig.lib.prod.json
  41. 4
      npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts
  42. 18
      npm/ng-packs/packages/theme-shared/extensions/src/lib/pipes/create-injector.pipe.ts
  43. 4
      npm/ng-packs/packages/theme-shared/package.json
  44. 6
      npm/ng-packs/packages/theme-shared/src/lib/utils/validation-utils.ts
  45. 5
      npm/ng-packs/packages/theme-shared/tsconfig.lib.json
  46. 4
      npm/ng-packs/packages/theme-shared/tsconfig.lib.prod.json
  47. 17
      templates/app-nolayers/angular/.browserslistrc
  48. 38
      templates/app-nolayers/angular/package.json
  49. 2
      templates/app-nolayers/angular/src/app/app-routing.module.ts
  50. 15
      templates/app-nolayers/angular/src/test.ts
  51. 13
      templates/app-nolayers/angular/tsconfig.json
  52. 17
      templates/app/angular/.browserslistrc
  53. 38
      templates/app/angular/package.json
  54. 2
      templates/app/angular/src/app/app-routing.module.ts
  55. 16
      templates/app/angular/src/test.ts
  56. 18
      templates/app/angular/tsconfig.json
  57. 38
      templates/module/angular/package.json
  58. 17
      templates/module/angular/projects/dev-app/.browserslistrc
  59. 2
      templates/module/angular/projects/dev-app/src/app/app-routing.module.ts
  60. 11
      templates/module/angular/projects/dev-app/src/test.ts
  61. 11
      templates/module/angular/projects/my-project-name/src/test.ts
  62. 1
      templates/module/angular/projects/my-project-name/tsconfig.lib.json

244
npm/ng-packs/angular.json

@ -10,7 +10,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/account"],
"outputs": [
"{workspaceRoot}/dist/packages/account"
],
"options": {
"project": "packages/account/ng-package.json"
},
@ -26,7 +28,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/account"],
"outputs": [
"{workspaceRoot}/coverage/packages/account"
],
"options": {
"jestConfig": "packages/account/jest.config.ts",
"passWithNoTests": true
@ -35,13 +39,22 @@
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["packages/account/src/**/*.ts", "packages/account/src/**/*.html"]
"lintFilePatterns": [
"packages/account/src/**/*.ts",
"packages/account/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "account-core"]
"implicitDependencies": [
"core",
"theme-shared",
"account-core"
]
},
"account-core": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -52,7 +65,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/account-core"],
"outputs": [
"{workspaceRoot}/dist/packages/account-core"
],
"options": {
"project": "packages/account-core/ng-package.json"
},
@ -68,7 +83,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/account-core"],
"outputs": [
"{workspaceRoot}/coverage/packages/account-core"
],
"options": {
"jestConfig": "packages/account-core/jest.config.ts",
"passWithNoTests": true
@ -82,11 +99,16 @@
"packages/account-core/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
"implicitDependencies": [
"core",
"theme-shared"
]
},
"components": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -97,7 +119,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/components"],
"outputs": [
"{workspaceRoot}/dist/packages/components"
],
"options": {
"project": "packages/components/ng-package.json"
},
@ -113,7 +137,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/components"],
"outputs": [
"{workspaceRoot}/coverage/packages/components"
],
"options": {
"jestConfig": "packages/components/jest.config.ts",
"passWithNoTests": true
@ -127,11 +153,16 @@
"packages/components/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
"implicitDependencies": [
"core",
"theme-shared"
]
},
"core": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -142,7 +173,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/core"],
"outputs": [
"{workspaceRoot}/dist/packages/core"
],
"options": {
"project": "packages/core/ng-package.json"
},
@ -158,7 +191,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/core"],
"outputs": [
"{workspaceRoot}/coverage/packages/core"
],
"options": {
"jestConfig": "packages/core/jest.config.ts",
"passWithNoTests": true
@ -167,9 +202,14 @@
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["packages/core/src/**/*.ts", "packages/core/src/**/*.html"]
"lintFilePatterns": [
"packages/core/src/**/*.ts",
"packages/core/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": []
@ -183,7 +223,9 @@
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"outputs": ["{options.outputPath}"],
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/apps/dev-app",
"index": "apps/dev-app/src/index.html",
@ -191,8 +233,14 @@
"polyfills": "apps/dev-app/src/polyfills.ts",
"tsConfig": "apps/dev-app/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"allowedCommonJsDependencies": ["chart.js", "js-sha256"],
"assets": ["apps/dev-app/src/favicon.ico", "apps/dev-app/src/assets"],
"allowedCommonJsDependencies": [
"chart.js",
"js-sha256"
],
"assets": [
"apps/dev-app/src/favicon.ico",
"apps/dev-app/src/assets"
],
"styles": [
{
"input": "node_modules/bootstrap/dist/css/bootstrap.rtl.min.css",
@ -288,12 +336,17 @@
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["apps/dev-app/src/**/*.ts", "apps/dev-app/src/**/*.html"]
"lintFilePatterns": [
"apps/dev-app/src/**/*.ts",
"apps/dev-app/src/**/*.html"
]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/apps/dev-app"],
"outputs": [
"{workspaceRoot}/coverage/apps/dev-app"
],
"options": {
"jestConfig": "apps/dev-app/jest.config.ts",
"passWithNoTests": true
@ -323,13 +376,19 @@
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["apps/dev-app-e2e/**/*.{js,ts}"]
"lintFilePatterns": [
"apps/dev-app-e2e/**/*.{js,ts}"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["dev-app"]
"implicitDependencies": [
"dev-app"
]
},
"feature-management": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -340,7 +399,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/feature-management"],
"outputs": [
"{workspaceRoot}/dist/packages/feature-management"
],
"options": {
"project": "packages/feature-management/ng-package.json"
},
@ -356,7 +417,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/feature-management"],
"outputs": [
"{workspaceRoot}/coverage/packages/feature-management"
],
"options": {
"jestConfig": "packages/feature-management/jest.config.ts",
"passWithNoTests": true
@ -370,11 +433,16 @@
"packages/feature-management/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
"implicitDependencies": [
"core",
"theme-shared"
]
},
"identity": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -385,7 +453,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/identity"],
"outputs": [
"{workspaceRoot}/dist/packages/identity"
],
"options": {
"project": "packages/identity/ng-package.json"
},
@ -401,7 +471,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/identity"],
"outputs": [
"{workspaceRoot}/coverage/packages/identity"
],
"options": {
"jestConfig": "packages/identity/jest.config.ts",
"passWithNoTests": true
@ -410,13 +482,22 @@
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["packages/identity/src/**/*.ts", "packages/identity/src/**/*.html"]
"lintFilePatterns": [
"packages/identity/src/**/*.ts",
"packages/identity/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "permission-management"]
"implicitDependencies": [
"core",
"theme-shared",
"permission-management"
]
},
"permission-management": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -427,7 +508,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/permission-management"],
"outputs": [
"{workspaceRoot}/dist/packages/permission-management"
],
"options": {
"project": "packages/permission-management/ng-package.json"
},
@ -443,7 +526,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/permission-management"],
"outputs": [
"{workspaceRoot}/coverage/packages/permission-management"
],
"options": {
"jestConfig": "packages/permission-management/jest.config.ts",
"passWithNoTests": true
@ -457,11 +542,16 @@
"packages/permission-management/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared"]
"implicitDependencies": [
"core",
"theme-shared"
]
},
"schematics": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -472,7 +562,9 @@
"architect": {
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/schematics"],
"outputs": [
"{workspaceRoot}/coverage/packages/schematics"
],
"options": {
"jestConfig": "packages/schematics/jest.config.ts",
"passWithNoTests": true
@ -486,7 +578,9 @@
"packages/schematics/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": []
@ -500,7 +594,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/setting-management"],
"outputs": [
"{workspaceRoot}/dist/packages/setting-management"
],
"options": {
"project": "packages/setting-management/ng-package.json"
},
@ -516,7 +612,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/setting-management"],
"outputs": [
"{workspaceRoot}/coverage/packages/setting-management"
],
"options": {
"jestConfig": "packages/setting-management/jest.config.ts",
"passWithNoTests": true
@ -530,11 +628,17 @@
"packages/setting-management/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "components"]
"implicitDependencies": [
"core",
"theme-shared",
"components"
]
},
"tenant-management": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -545,7 +649,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/tenant-management"],
"outputs": [
"{workspaceRoot}/dist/packages/tenant-management"
],
"options": {
"project": "packages/tenant-management/ng-package.json"
},
@ -561,7 +667,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/tenant-management"],
"outputs": [
"{workspaceRoot}/coverage/packages/tenant-management"
],
"options": {
"jestConfig": "packages/tenant-management/jest.config.ts",
"passWithNoTests": true
@ -575,11 +683,17 @@
"packages/tenant-management/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "feature-management"]
"implicitDependencies": [
"core",
"theme-shared",
"feature-management"
]
},
"theme-basic": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -590,7 +704,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/theme-basic"],
"outputs": [
"{workspaceRoot}/dist/packages/theme-basic"
],
"options": {
"project": "packages/theme-basic/ng-package.json"
},
@ -606,7 +722,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/theme-basic"],
"outputs": [
"{workspaceRoot}/coverage/packages/theme-basic"
],
"options": {
"jestConfig": "packages/theme-basic/jest.config.ts",
"passWithNoTests": true
@ -620,11 +738,17 @@
"packages/theme-basic/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core", "theme-shared", "account-core"]
"implicitDependencies": [
"core",
"theme-shared",
"account-core"
]
},
"theme-shared": {
"$schema": "../../node_modules/nx/schemas/project-schema.json",
@ -635,7 +759,9 @@
"architect": {
"build": {
"builder": "@nrwl/angular:package",
"outputs": ["dist/packages/theme-shared"],
"outputs": [
"{workspaceRoot}/dist/packages/theme-shared"
],
"options": {
"project": "packages/theme-shared/ng-package.json"
},
@ -651,7 +777,9 @@
},
"test": {
"builder": "@nrwl/jest:jest",
"outputs": ["coverage/packages/theme-shared"],
"outputs": [
"{workspaceRoot}/coverage/packages/theme-shared"
],
"options": {
"jestConfig": "packages/theme-shared/jest.config.ts",
"passWithNoTests": true
@ -665,11 +793,15 @@
"packages/theme-shared/src/**/*.html"
]
},
"outputs": ["{options.outputFile}"]
"outputs": [
"{options.outputFile}"
]
}
},
"tags": [],
"implicitDependencies": ["core"]
"implicitDependencies": [
"core"
]
}
}
}

17
npm/ng-packs/apps/dev-app/.browserslistrc

@ -1,17 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.

2
npm/ng-packs/apps/dev-app/src/app/app-routing.module.ts

@ -28,7 +28,7 @@ const routes: Routes = [
];
@NgModule({
imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
imports: [RouterModule.forRoot(routes, {})],
exports: [RouterModule],
})
export class AppRoutingModule {}

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

@ -2,7 +2,9 @@
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"types": []
"types": [],
"target": "ES2022",
"useDefineForClassFields": false
},
"files": ["src/main.ts", "src/polyfills.ts"],
"include": ["src/**/*.d.ts"],

160
npm/ng-packs/migrations.json

@ -2,43 +2,161 @@
"migrations": [
{
"cli": "nx",
"version": "14.6.0-beta.0",
"description": "Update the @angular/cli package version to ~14.2.0.",
"factory": "./src/migrations/update-14-6-0/update-angular-cli",
"version": "15.0.0-beta.1",
"description": "Replace implicitDependencies with namedInputs + target inputs",
"implementation": "./src/migrations/update-15-0-0/migrate-to-inputs",
"package": "nx",
"name": "15.0.0-migrate-to-inputs"
},
{
"cli": "nx",
"version": "15.0.0-beta.1",
"description": "Prefix outputs with {workspaceRoot}/{projectRoot} if needed",
"implementation": "./src/migrations/update-15-0-0/prefix-outputs",
"package": "nx",
"name": "15.0.0-prefix-outputs"
},
{
"cli": "nx",
"version": "15.0.12-beta.1",
"description": "Set project names in project.json files",
"implementation": "./src/migrations/update-15-1-0/set-project-names",
"package": "nx",
"name": "15.1.0-set-project-names"
},
{
"cli": "nx",
"version": "15.0.0-beta.0",
"description": "Rename @nrwl/angular:webpack-server executor to @nrwl/angular:webpack-dev-server",
"factory": "./src/migrations/update-14-8-0/rename-webpack-server",
"package": "@nrwl/angular",
"name": "rename-webpack-server-executor"
},
{
"cli": "nx",
"version": "15.0.0-beta.0",
"description": "Update the usages of @nrwl/angular/testing to import jasmine-marbles symbols from jasmine-marbles itself.",
"factory": "./src/migrations/update-15-0-0/switch-to-jasmine-marbles",
"package": "@nrwl/angular",
"name": "update-angular-cli-version-14-2-0"
"name": "switch-to-jasmine-marbles"
},
{
"cli": "nx",
"version": "14.6.1-beta.0",
"description": "Change Cypress e2e and component testing presets to use __filename instead of __dirname and include a devServerTarget for component testing.",
"factory": "./src/migrations/update-14-6-1/update-cypress-configs-presets",
"version": "15.0.0-beta.1",
"description": "Stop hashing karma spec files and config files for build targets and dependent tasks",
"factory": "./src/migrations/update-15-0-0/add-karma-inputs",
"package": "@nrwl/angular",
"name": "add-karma-inputs"
},
{
"cli": "nx",
"version": "15.2.0-beta.0",
"description": "Update the @angular/cli package version to ~15.0.0.",
"factory": "./src/migrations/update-15-2-0/update-angular-cli",
"package": "@nrwl/angular",
"name": "update-angular-cli-version-15-0-0"
},
{
"cli": "nx",
"version": "15.2.0-beta.0",
"description": "Remove browserlist config as it's handled by build-angular",
"factory": "./src/migrations/update-15-2-0/remove-browserlist-config",
"package": "@nrwl/angular",
"name": "remove-browserlist-config"
},
{
"cli": "nx",
"version": "15.2.0-beta.0",
"description": "Update typescript target to ES2022",
"factory": "./src/migrations/update-15-2-0/update-typescript-target",
"package": "@nrwl/angular",
"name": "update-typescript-target"
},
{
"cli": "nx",
"version": "15.2.0-beta.0",
"description": "Remove bundleDependencies from server targets",
"factory": "./src/migrations/update-15-2-0/update-workspace-config",
"package": "@nrwl/angular",
"name": "update-workspace-config"
},
{
"cli": "ng",
"version": "15.2.0-beta.0",
"description": "Remove exported `@angular/platform-server` `renderModule` method. The `renderModule` method is now exported by the Angular CLI.",
"factory": "./src/migrations/update-15-2-0/remove-platform-server-exports",
"package": "@nrwl/angular",
"name": "update-platform-server-exports"
},
{
"cli": "ng",
"version": "15.2.0-beta.0",
"description": "Remove no longer needed require calls in Karma builder main file.",
"factory": "./src/migrations/update-15-2-0/update-karma-main-file",
"package": "@nrwl/angular",
"name": "update-karma-main-file"
},
{
"version": "15.0.0-beta",
"description": "Since Angular v15, the `RouterLink` contains the logic of the `RouterLinkWithHref` directive. This migration replaces all `RouterLinkWithHref` references with `RouterLink`.",
"factory": "./migrations/router-link-with-href/index",
"package": "@angular/core",
"name": "migration-v15-router-link-with-href"
},
{
"version": "15.0.0-beta",
"description": "In Angular version 15, the deprecated `relativeLinkResolution` config parameter of the Router is removed. This migration removes all `relativeLinkResolution` fields from the Router config objects.",
"factory": "./migrations/relative-link-resolution/index",
"package": "@angular/core",
"name": "migration-v15-relative-link-resolution"
},
{
"cli": "nx",
"version": "15.0.0-beta.0",
"description": "Stop hashing cypress spec files and config files for build targets and dependent tasks",
"factory": "./src/migrations/update-15-0-0/add-cypress-inputs",
"package": "@nrwl/cypress",
"name": "update-cypress-configs-preset"
"name": "add-cypress-inputs"
},
{
"cli": "nx",
"version": "14.7.0-beta.0",
"description": "Update Cypress if using v10 to support latest component testing features",
"factory": "./src/migrations/update-14-7-0/update-cypress-version-if-10",
"version": "15.0.0-beta.4",
"description": "Update to using cy.mount in the commands.ts file instead of importing mount for each component test file",
"factory": "./src/migrations/update-15-0-0/update-cy-mount-usage",
"package": "@nrwl/cypress",
"name": "update-cypress-if-v10"
"name": "update-cy-mount-usage"
},
{
"version": "14.6.0-beta.0",
"cli": "nx",
"description": "Update jest configs to support jest 28 changes (https://jestjs.io/docs/upgrading-to-jest28#configuration-options)",
"factory": "./src/migrations/update-14-6-0/update-configs-jest-28",
"package": "@nrwl/jest",
"name": "update-configs-jest-28"
"version": "15.1.0-beta.0",
"description": "Update to Cypress v11. This migration will only update if the workspace is already on v10. https://www.cypress.io/blog/2022/11/04/upcoming-changes-to-component-testing/",
"factory": "./src/migrations/update-15-1-0/cypress-11",
"package": "@nrwl/cypress",
"name": "update-to-cypress-11"
},
{
"version": "14.6.0-beta.0",
"version": "15.0.0-beta.0",
"cli": "nx",
"description": "Update jest test files to support jest 28 changes (https://jestjs.io/docs/upgrading-to-jest28)",
"factory": "./src/migrations/update-14-6-0/update-tests-jest-28",
"description": "Stop hashing jest spec files and config files for build targets and dependent tasks",
"factory": "./src/migrations/update-15-0-0/add-jest-inputs",
"package": "@nrwl/jest",
"name": "update-tests-jest-28"
"name": "add-jest-inputs"
},
{
"cli": "nx",
"version": "15.0.0-beta.0",
"description": "Stop hashing eslint config files for build targets and dependent tasks",
"factory": "./src/migrations/update-15-0-0/add-eslint-inputs",
"package": "@nrwl/linter",
"name": "add-eslint-inputs"
},
{
"version": "14.8.0-beta.0",
"description": "Migrates from @nrwl/workspace:run-commands to nx:run-commands",
"cli": "nx",
"implementation": "./src/migrations/update-14-8-0/change-run-commands-executor",
"package": "@nrwl/workspace",
"name": "14-8-0-change-run-commands-executor"
}
]
}

30
npm/ng-packs/nx.json

@ -3,13 +3,6 @@
"affected": {
"defaultBase": "dev"
},
"implicitDependencies": {
"package.json": {
"dependencies": "*",
"devDependencies": "*"
},
".eslintrc.json": "*"
},
"tasksRunnerOptions": {
"default": {
"runner": "nx/tasks-runners/default",
@ -57,7 +50,28 @@
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"targetDefaults": {
"build": {
"dependsOn": ["^build"]
"dependsOn": ["^build"],
"inputs": ["production", "^production"]
},
"e2e": {
"inputs": ["default", "^production"]
},
"test": {
"inputs": ["default", "^production", "{workspaceRoot}/jest.preset.js"]
},
"lint": {
"inputs": ["default", "{workspaceRoot}/.eslintrc.json"]
}
},
"namedInputs": {
"default": ["{projectRoot}/**/*", "sharedGlobals"],
"sharedGlobals": [],
"production": [
"default",
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
"!{projectRoot}/tsconfig.spec.json",
"!{projectRoot}/jest.config.[jt]s",
"!{projectRoot}/.eslintrc.json"
]
}
}

67
npm/ng-packs/package.json

@ -42,24 +42,25 @@
},
"private": true,
"devDependencies": {
"@angular-devkit/build-angular": "14.2.1",
"@abp/utils": "~7.0.0-rc.3",
"@angular-devkit/build-angular": "~15.0.1",
"@angular-devkit/build-ng-packagr": "^0.1002.0",
"@angular-devkit/schematics-cli": "~14.2.1",
"@angular-eslint/eslint-plugin": "14.0.3",
"@angular-eslint/eslint-plugin-template": "14.0.3",
"@angular-eslint/template-parser": "14.0.3",
"@angular/animations": "14.2.1",
"@angular/cli": "~14.2.1",
"@angular/common": "14.2.1",
"@angular/compiler": "14.2.1",
"@angular/compiler-cli": "14.2.1",
"@angular/core": "14.2.1",
"@angular/forms": "14.2.1",
"@angular/language-service": "14.2.1",
"@angular/localize": "14.2.1",
"@angular/platform-browser": "14.2.1",
"@angular/platform-browser-dynamic": "14.2.1",
"@angular/router": "14.2.1",
"@angular-devkit/schematics-cli": "~15.0.1",
"@angular-eslint/eslint-plugin": "15.1.0",
"@angular-eslint/eslint-plugin-template": "15.1.0",
"@angular-eslint/template-parser": "15.1.0",
"@angular/animations": "~15.0.1",
"@angular/cli": "~15.0.1",
"@angular/common": "~15.0.1",
"@angular/compiler": "~15.0.1",
"@angular/compiler-cli": "~15.0.1",
"@angular/core": "~15.0.1",
"@angular/forms": "~15.0.1",
"@angular/language-service": "~15.0.1",
"@angular/localize": "~15.0.1",
"@angular/platform-browser": "~15.0.1",
"@angular/platform-browser-dynamic": "~15.0.1",
"@angular/router": "~15.0.1",
"@abp/ng.account": "~7.0.0-rc.3",
"@abp/ng.account.core": "~7.0.0-rc.3",
"@abp/ng.core": "~7.0.0-rc.3",
@ -72,24 +73,24 @@
"@abp/ng.theme.basic": "~7.0.0-rc.3",
"@abp/ng.theme.shared": "~7.0.0-rc.3",
"@fortawesome/fontawesome-free": "^5.15.4",
"@ng-bootstrap/ng-bootstrap": "~13.0.0",
"@ng-bootstrap/ng-bootstrap": "^14.0.0-rc.1",
"@ngneat/spectator": "^10.0.0",
"@ngx-validate/core": "^0.1.2",
"@nrwl/angular": "14.7.5",
"@nrwl/cli": "14.7.5",
"@nrwl/cypress": "14.7.5",
"@nrwl/eslint-plugin-nx": "14.7.5",
"@nrwl/jest": "14.7.5",
"@nrwl/linter": "14.7.5",
"@nrwl/workspace": "14.7.5",
"@ngx-validate/core": "^0.2.0",
"@nrwl/angular": "15.2.1",
"@nrwl/cli": "15.2.1",
"@nrwl/cypress": "15.2.1",
"@nrwl/eslint-plugin-nx": "15.2.1",
"@nrwl/jest": "15.2.1",
"@nrwl/linter": "15.2.1",
"@nrwl/workspace": "15.2.1",
"@popperjs/core": "~2.11.2",
"@schematics/angular": "14.2.2",
"@schematics/angular": "~15.0.1",
"@swimlane/ngx-datatable": "^20.0.0",
"@types/jest": "28.1.8",
"@types/node": "14.14.33",
"@typescript-eslint/eslint-plugin": "5.33.1",
"@typescript-eslint/parser": "5.33.1",
"angular-oauth2-oidc": "^13.0.1",
"@typescript-eslint/eslint-plugin": "5.44.0",
"@typescript-eslint/parser": "5.44.0",
"angular-oauth2-oidc": "^15.0.1",
"bootstrap": "^5.1.1",
"chart.js": "^3.5.1",
"cypress": "^7.3.0",
@ -107,9 +108,9 @@
"just-compare": "^1.4.0",
"lerna": "^4.0.0",
"lint-staged": "^13.0.3",
"ng-packagr": "14.2.1",
"ng-packagr": "15.0.1",
"ng-zorro-antd": "^14.0.0",
"nx": "14.7.5",
"nx": "15.2.1",
"postcss": "^8.3.9",
"postcss-import": "14.1.0",
"postcss-preset-env": "7.5.0",
@ -124,7 +125,7 @@
"tsickle": "^0.39.1",
"tslib": "^2.0.0",
"tslint": "~6.1.0",
"typescript": "4.7.4",
"typescript": "4.8.4",
"zone.js": "0.11.4"
},
"dependencies": {},

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

5
npm/ng-packs/packages/account/tsconfig.lib.json

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

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

2
npm/ng-packs/packages/core/src/lib/services/timeout-limited-oauth.service.ts

@ -1,4 +1,4 @@
import { Injectable } from '@angular/core';
import { Injectable, NgZone, Optional } from '@angular/core';
import { OAuthService } from 'angular-oauth2-oidc';
@Injectable()

5
npm/ng-packs/packages/core/tsconfig.lib.json

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

5
npm/ng-packs/packages/identity/tsconfig.lib.json

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

@ -9,13 +9,13 @@
"license": "MIT",
"schematics": "./collection.json",
"dependencies": {
"@angular-devkit/core": "~14.2.1",
"@angular-devkit/schematics": "~14.2.1",
"@angular/cli": "~14.2.1",
"@angular-devkit/core": "~15.0.1",
"@angular-devkit/schematics": "~15.0.1",
"@angular/cli": "~15.0.1",
"got": "^11.5.2",
"jsonc-parser": "^2.3.0",
"should-quote": "^1.0.0",
"typescript": "~4.7.4"
"typescript": "4.8.4"
},
"devDependencies": {
"@schematics/angular": "~14.2.1",

2
npm/ng-packs/packages/schematics/src/commands/change-theme/style-map.ts

@ -213,7 +213,7 @@ styleMap.set(ThemeOptionsEnum.LeptonXLite, [
inject: false,
bundleName: 'bootstrap-dim.rtl',
},
{
{
input: 'node_modules/@volo/ngx-lepton-x.lite/assets/css/font-bundle.rtl.css',
inject: false,
bundleName: 'font-bundle.rtl',

2
npm/ng-packs/packages/schematics/src/utils/angular/README.md

@ -1,5 +1,5 @@
**DISCLAIMER**
This directory is a direct copy of https://github.com/angular/angular-cli/tree/c5ef701639755d5b390e64287963ee35faab2cd4/packages/schematics/angular/utility and is used under terms and permissions by the MIT license granted by Google, LLC.
This directory is a direct copy of https://github.com/angular/angular-cli/tree/324f8da02b0e26faa26090ce306c43b31dde2165/packages/schematics/angular/utility and is used under terms and permissions by the MIT license granted by Google, LLC.
All credits go to Angular team for building these utilities.

61
npm/ng-packs/packages/schematics/src/utils/angular/add-declaration-to-ng-module.ts

@ -0,0 +1,61 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { Rule, Tree, strings } from '@angular-devkit/schematics';
import * as ts from 'typescript';
import { addDeclarationToModule, addSymbolToNgModuleMetadata } from './ast-utils';
import { InsertChange } from './change';
import { buildRelativePath } from './find-module';
export interface DeclarationToNgModuleOptions {
module?: string;
path?: string;
name: string;
flat?: boolean;
export?: boolean;
type: string;
skipImport?: boolean;
standalone?: boolean;
}
export function addDeclarationToNgModule(options: DeclarationToNgModuleOptions): Rule {
return (host: Tree) => {
const modulePath = options.module;
if (options.skipImport || options.standalone || !modulePath) {
return host;
}
const sourceText = host.readText(modulePath);
const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true);
const filePath =
`/${options.path}/` +
(options.flat ? '' : strings.dasherize(options.name) + '/') +
strings.dasherize(options.name) +
(options.type ? '.' : '') +
strings.dasherize(options.type);
const importPath = buildRelativePath(modulePath, filePath);
const classifiedName = strings.classify(options.name) + strings.classify(options.type);
const changes = addDeclarationToModule(source, modulePath, classifiedName, importPath);
if (options.export) {
changes.push(...addSymbolToNgModuleMetadata(source, modulePath, 'exports', classifiedName));
}
const recorder = host.beginUpdate(modulePath);
for (const change of changes) {
if (change instanceof InsertChange) {
recorder.insertLeft(change.pos, change.toAdd);
}
}
host.commitUpdate(recorder);
return host;
};
}

47
npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts

@ -171,7 +171,7 @@ export function findNodes<T extends ts.Node>(
*/
export function getSourceNodes(sourceFile: ts.SourceFile): ts.Node[] {
const nodes: ts.Node[] = [sourceFile];
const result = [];
const result: ts.Node[] = [];
while (nodes.length > 0) {
const node = nodes.shift();
@ -552,51 +552,6 @@ export function isImported(
return matchingNodes.length > 0;
}
/**
* This function returns the name of the environment export
* whether this export is aliased or not. If the environment file
* is not imported, then it will return `null`.
*/
export function getEnvironmentExportName(source: ts.SourceFile): string | null {
// Initial value is `null` as we don't know yet if the user
// has imported `environment` into the root module or not.
let environmentExportName: string | null = null;
const allNodes = getSourceNodes(source);
allNodes
.filter(ts.isImportDeclaration)
.filter(
declaration =>
declaration.moduleSpecifier.kind === ts.SyntaxKind.StringLiteral &&
declaration.importClause !== undefined,
)
.map(declaration =>
// If `importClause` property is defined then the first
// child will be `NamedImports` object (or `namedBindings`).
(declaration.importClause as ts.ImportClause).getChildAt(0),
)
// Find those `NamedImports` object that contains `environment` keyword
// in its text. E.g. `{ environment as env }`.
.filter(ts.isNamedImports)
.filter(namedImports => namedImports.getText().includes('environment'))
.forEach(namedImports => {
for (const specifier of namedImports.elements) {
// `propertyName` is defined if the specifier
// has an aliased import.
const name = specifier.propertyName || specifier.name;
// Find specifier that contains `environment` keyword in its text.
// Whether it's `environment` or `environment as env`.
if (name.text.includes('environment')) {
environmentExportName = specifier.name.text;
}
}
});
return environmentExportName;
}
/**
* Returns the RouterModule declaration from NgModule metadata, if any.
*/

4
npm/ng-packs/packages/schematics/src/utils/angular/generate-from-files.ts

@ -28,7 +28,7 @@ export interface GenerateFromFilesOptions {
name: string;
path?: string;
prefix?: string;
project?: string;
project: string;
skipTests?: boolean;
}
@ -37,7 +37,7 @@ export function generateFromFiles(
extraTemplateValues: Record<string, string | ((v: string) => string)> = {},
): Rule {
return async (host: Tree) => {
options.path ??= await createDefaultPath(host, options.project as string);
options.path ??= await createDefaultPath(host, options.project);
options.prefix ??= '';
options.flat ??= true;

10
npm/ng-packs/packages/schematics/src/utils/angular/latest-versions/package.json

@ -3,21 +3,21 @@
"comment": "This file is needed so that dependencies are synced by Renovate.",
"private": true,
"dependencies": {
"@types/jasmine": "~4.0.0",
"@types/jasmine": "~4.3.0",
"@types/node": "^14.15.0",
"jasmine-core": "~4.3.0",
"jasmine-core": "~4.5.0",
"jasmine-spec-reporter": "~7.0.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.2.0",
"karma-jasmine-html-reporter": "~2.0.0",
"karma-jasmine": "~5.1.0",
"karma": "~6.4.0",
"ng-packagr": "^14.2.0",
"ng-packagr": "^15.0.0",
"protractor": "~7.0.0",
"rxjs": "~7.5.0",
"tslib": "^2.3.0",
"ts-node": "~10.9.0",
"typescript": "~4.7.2",
"zone.js": "~0.11.4"
"typescript": "~4.8.2",
"zone.js": "~0.12.0"
}
}

1
npm/ng-packs/packages/schematics/src/utils/angular/parse-name.ts

@ -6,7 +6,6 @@
* found in the LICENSE file at https://angular.io/license
*/
// import { relative, Path } from "../../../angular_devkit/core/src/virtual-fs";
import { Path, basename, dirname, join, normalize } from '@angular-devkit/core';
export interface Location {

34
npm/ng-packs/packages/schematics/src/utils/angular/test/create-app-module.ts

@ -0,0 +1,34 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { UnitTestTree } from '@angular-devkit/schematics/testing';
export function createAppModule(tree: UnitTestTree, path?: string): UnitTestTree {
tree.create(
path || '/src/app/app.module.ts',
`
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
`,
);
return tree;
}

19
npm/ng-packs/packages/schematics/src/utils/angular/test/get-file-content.ts

@ -0,0 +1,19 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { Tree } from '@angular-devkit/schematics';
export function getFileContent(tree: Tree, path: string): string {
const fileEntry = tree.get(path);
if (!fileEntry) {
throw new Error(`The file (${path}) does not exist.`);
}
return fileEntry.content.toString();
}

10
npm/ng-packs/packages/schematics/src/utils/angular/test/index.ts

@ -0,0 +1,10 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
export * from './create-app-module';
export * from './get-file-content';

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

4
npm/ng-packs/packages/theme-shared/extensions/src/lib/models/props.ts

@ -1,5 +1,5 @@
import { LinkedList } from '@abp/utils';
import { InjectFlags, InjectionToken, Type } from '@angular/core';
import { InjectFlags, InjectionToken, InjectOptions, Type } from '@angular/core';
import { O } from 'ts-toolbelt';
import { ePropType } from '../enums/props.enum';
@ -9,7 +9,7 @@ export abstract class PropData<R = any> {
abstract getInjected: <T>(
token: Type<T> | InjectionToken<T>,
notFoundValue?: T,
flags?: InjectFlags,
options?: InjectOptions | InjectFlags,
) => T;
index?: number;
abstract record: R;

18
npm/ng-packs/packages/theme-shared/extensions/src/lib/pipes/create-injector.pipe.ts

@ -1,4 +1,12 @@
import { InjectFlags, InjectionToken, Injector, Pipe, PipeTransform, Type } from '@angular/core';
import {
InjectFlags,
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';
@ -11,7 +19,11 @@ export class CreateInjectorPipe<R> implements PipeTransform {
action: ToolbarComponent<R>,
context: HasCreateInjectorPipe<R>,
): Injector {
const get = <T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags) => {
const get = <T>(
token: Type<T> | InjectionToken<T>,
notFoundValue?: T,
options?: InjectOptions | InjectFlags,
) => {
const componentData = context.getData();
const componentDataCallback = data => {
data = data ?? context.getData();
@ -26,7 +38,7 @@ export class CreateInjectorPipe<R> implements PipeTransform {
extensionData = componentDataCallback;
break;
default:
extensionData = context.getInjected.call(context.injector, token, notFoundValue, flags);
extensionData = context.getInjected.call(context.injector, token, notFoundValue, options);
}
return extensionData;
};

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

@ -9,8 +9,8 @@
"dependencies": {
"@abp/ng.core": "~7.0.0-rc.3",
"@fortawesome/fontawesome-free": "^5.15.4",
"@ng-bootstrap/ng-bootstrap": "13.0.0",
"@ngx-validate/core": "^0.1.2",
"@ng-bootstrap/ng-bootstrap": "^14.0.0-rc.1",
"@ngx-validate/core": "^0.2.0",
"@popperjs/core": "~2.11.2",
"@swimlane/ngx-datatable": "^20.0.0",
"bootstrap": "^5.2.0",

6
npm/ng-packs/packages/theme-shared/src/lib/utils/validation-utils.ts

@ -2,7 +2,7 @@ import { ABP, ConfigStateService } from '@abp/ng.core';
import { Injector } from '@angular/core';
import { AbstractControl, ValidatorFn, Validators } from '@angular/forms';
import { normalizeDiacritics, PasswordRules } from '@ngx-validate/core';
import { PasswordRule } from "../models/validation";
import { PasswordRule } from '../models/validation';
const { minLength, maxLength } = Validators;
@ -52,9 +52,7 @@ const errorMessageMap = {
special: 'passwordRequiresNonAlphanumeric',
};
export function validatePassword(
shouldContain: PasswordRule
): ValidatorFn {
export function validatePassword(shouldContain: PasswordRule): ValidatorFn {
return (control: AbstractControl) => {
if (!control.value) return null;

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

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

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

@ -1,7 +1,9 @@
{
"extends": "./tsconfig.lib.json",
"compilerOptions": {
"declarationMap": false
"declarationMap": false,
"target": "ES2022",
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"compilationMode": "partial"

17
templates/app-nolayers/angular/.browserslistrc

@ -1,17 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.

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

@ -20,15 +20,15 @@
"@abp/ng.tenant-management": "~7.0.0-rc.3",
"@abp/ng.theme.shared": "~7.0.0-rc.3",
"@abp/ng.theme.lepton-x": "~2.0.0-rc.1",
"@angular/animations": "^14.2.1",
"@angular/common": "^14.2.1",
"@angular/compiler": "^14.2.1",
"@angular/core": "^14.2.1",
"@angular/forms": "^14.2.1",
"@angular/localize": "^14.2.1",
"@angular/platform-browser": "^14.2.1",
"@angular/platform-browser-dynamic": "^14.2.1",
"@angular/router": "^14.2.1",
"@angular/animations": "^15.0.1",
"@angular/common": "^15.0.1",
"@angular/compiler": "^15.0.1",
"@angular/core": "^15.0.1",
"@angular/forms": "^15.0.1",
"@angular/localize": "^15.0.1",
"@angular/platform-browser": "^15.0.1",
"@angular/platform-browser-dynamic": "^15.0.1",
"@angular/router": "^15.0.1",
"rxjs": "7.5.6",
"tslib": "^2.1.0",
"bootstrap-icons": "~1.8.3",
@ -36,15 +36,15 @@
},
"devDependencies": {
"@abp/ng.schematics": "~7.0.0-rc.3",
"@angular-devkit/build-angular": "^14.2.3",
"@angular-eslint/builder": "~14.1.1",
"@angular-eslint/eslint-plugin": "~14.1.1",
"@angular-eslint/eslint-plugin-template": "~14.1.1",
"@angular-eslint/schematics": "~14.1.1",
"@angular-eslint/template-parser": "~14.1.1",
"@angular/cli": "^14.2.3",
"@angular/compiler-cli": "^14.2.1",
"@angular/language-service": "^14.2.1",
"@angular-devkit/build-angular": "^15.0.1",
"@angular-eslint/builder": "~15.1.0",
"@angular-eslint/eslint-plugin": "~15.1.0",
"@angular-eslint/eslint-plugin-template": "~15.1.0",
"@angular-eslint/schematics": "~15.1.0",
"@angular-eslint/template-parser": "~15.1.0",
"@angular/cli": "^15.0.1",
"@angular/compiler-cli": "^15.0.1",
"@angular/language-service": "^15.0.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "^5.36.2",
@ -56,7 +56,7 @@
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "^14.2.1",
"ng-packagr": "^15.0.1",
"typescript": "~4.8.3"
}
}

2
templates/app-nolayers/angular/src/app/app-routing.module.ts

@ -28,7 +28,7 @@ const routes: Routes = [
];
@NgModule({
imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
imports: [RouterModule.forRoot(routes, {})],
exports: [RouterModule],
})
export class AppRoutingModule {}

15
templates/app-nolayers/angular/src/test.ts

@ -6,23 +6,8 @@ import {
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
declare const require: {
context(
path: string,
deep?: boolean,
filter?: RegExp
): {
keys(): string[];
<T>(id: string): T;
};
};
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

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

@ -10,16 +10,21 @@
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2020",
"target": "ES2022",
"module": "es2020",
"lib": [
"es2018",
"dom"
],
"paths": {
"@proxy": ["src/app/proxy/index.ts"],
"@proxy/*": ["src/app/proxy/*"]
}
"@proxy": [
"src/app/proxy/index.ts"
],
"@proxy/*": [
"src/app/proxy/*"
]
},
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false

17
templates/app/angular/.browserslistrc

@ -1,17 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.

38
templates/app/angular/package.json

@ -20,15 +20,15 @@
"@abp/ng.tenant-management": "~7.0.0-rc.3",
"@abp/ng.theme.shared": "~7.0.0-rc.3",
"@abp/ng.theme.lepton-x": "~2.0.0-rc.1",
"@angular/animations": "^14.2.1",
"@angular/common": "^14.2.1",
"@angular/compiler": "^14.2.1",
"@angular/core": "^14.2.1",
"@angular/forms": "^14.2.1",
"@angular/localize": "^14.2.1",
"@angular/platform-browser": "^14.2.1",
"@angular/platform-browser-dynamic": "^14.2.1",
"@angular/router": "^14.2.1",
"@angular/animations": "^15.0.1",
"@angular/common": "^15.0.1",
"@angular/compiler": "^15.0.1",
"@angular/core": "^15.0.1",
"@angular/forms": "^15.0.1",
"@angular/localize": "^15.0.1",
"@angular/platform-browser": "^15.0.1",
"@angular/platform-browser-dynamic": "^15.0.1",
"@angular/router": "^15.0.1",
"bootstrap-icons": "~1.8.3",
"rxjs": "7.5.6",
"tslib": "^2.1.0",
@ -36,15 +36,15 @@
},
"devDependencies": {
"@abp/ng.schematics": "~7.0.0-rc.3",
"@angular-devkit/build-angular": "^14.2.3",
"@angular-eslint/builder": "~14.1.1",
"@angular-eslint/eslint-plugin": "~14.1.1",
"@angular-eslint/eslint-plugin-template": "~14.1.1",
"@angular-eslint/schematics": "~14.1.1",
"@angular-eslint/template-parser": "~14.1.1",
"@angular/cli": "^14.2.3",
"@angular/compiler-cli": "^14.2.1",
"@angular/language-service": "^14.2.1",
"@angular-devkit/build-angular": "^15.0.1",
"@angular-eslint/builder": "~15.1.0",
"@angular-eslint/eslint-plugin": "~15.1.0",
"@angular-eslint/eslint-plugin-template": "~15.1.0",
"@angular-eslint/schematics": "~15.1.0",
"@angular-eslint/template-parser": "~15.1.0",
"@angular/cli": "^15.0.1",
"@angular/compiler-cli": "^15.0.1",
"@angular/language-service": "^15.0.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "^5.36.2",
@ -56,7 +56,7 @@
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "^14.2.1",
"ng-packagr": "^15.0.1",
"typescript": "~4.8.3"
}
}

2
templates/app/angular/src/app/app-routing.module.ts

@ -28,7 +28,7 @@ const routes: Routes = [
];
@NgModule({
imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
imports: [RouterModule.forRoot(routes, {})],
exports: [RouterModule],
})
export class AppRoutingModule {}

16
templates/app/angular/src/test.ts

@ -6,24 +6,8 @@ import {
platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';
declare const require: {
context(
path: string,
deep?: boolean,
filter?: RegExp
): {
keys(): string[];
<T>(id: string): T;
};
};
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

18
templates/app/angular/tsconfig.json

@ -10,13 +10,21 @@
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2020",
"target": "ES2022",
"module": "es2020",
"lib": ["es2018", "dom"],
"lib": [
"es2018",
"dom"
],
"paths": {
"@proxy": ["src/app/proxy/index.ts"],
"@proxy/*": ["src/app/proxy/*"]
}
"@proxy": [
"src/app/proxy/index.ts"
],
"@proxy/*": [
"src/app/proxy/*"
]
},
"useDefineForClassFields": false
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false

38
templates/module/angular/package.json

@ -23,30 +23,30 @@
"@abp/ng.tenant-management": "~7.0.0-rc.3",
"@abp/ng.theme.basic": "~7.0.0-rc.3",
"@abp/ng.theme.shared": "~7.0.0-rc.3",
"@angular/animations": "^14.2.1",
"@angular/common": "^14.2.1",
"@angular/compiler": "^14.2.1",
"@angular/core": "^14.2.1",
"@angular/forms": "^14.2.1",
"@angular/localize": "^14.2.1",
"@angular/platform-browser": "^14.2.1",
"@angular/platform-browser-dynamic": "^14.2.1",
"@angular/router": "^14.2.1",
"@angular/animations": "^15.0.1",
"@angular/common": "^15.0.1",
"@angular/compiler": "^15.0.1",
"@angular/core": "^15.0.1",
"@angular/forms": "^15.0.1",
"@angular/localize": "^15.0.1",
"@angular/platform-browser": "^15.0.1",
"@angular/platform-browser-dynamic": "^15.0.1",
"@angular/router": "^15.0.1",
"rxjs": "7.5.6",
"tslib": "^2.1.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@abp/ng.schematics": "~7.0.0-rc.3",
"@angular-devkit/build-angular": "^14.2.3",
"@angular-eslint/builder": "~14.1.1",
"@angular-eslint/eslint-plugin": "~14.1.1",
"@angular-eslint/eslint-plugin-template": "~14.1.1",
"@angular-eslint/schematics": "~14.1.1",
"@angular-eslint/template-parser": "~14.1.1",
"@angular/cli": "^14.2.3",
"@angular/compiler-cli": "^14.2.1",
"@angular/language-service": "^14.2.1",
"@angular-devkit/build-angular": "^15.0.1",
"@angular-eslint/builder": "~15.1.0",
"@angular-eslint/eslint-plugin": "~15.1.0",
"@angular-eslint/eslint-plugin-template": "~15.1.0",
"@angular-eslint/schematics": "~15.1.0",
"@angular-eslint/template-parser": "~15.1.0",
"@angular/cli": "^15.0.1",
"@angular/compiler-cli": "^15.0.1",
"@angular/language-service": "^15.0.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"@typescript-eslint/eslint-plugin": "^5.36.2",
@ -58,7 +58,7 @@
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.7.0",
"ng-packagr": "^14.2.1",
"ng-packagr": "^15.0.1",
"symlink-manager": "^1.5.0",
"typescript": "~4.8.3"
}

17
templates/module/angular/projects/dev-app/.browserslistrc

@ -1,17 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.

2
templates/module/angular/projects/dev-app/src/app/app-routing.module.ts

@ -33,7 +33,7 @@ const routes: Routes = [
];
@NgModule({
imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
imports: [RouterModule.forRoot(routes, {})],
exports: [RouterModule],
})
export class AppRoutingModule {}

11
templates/module/angular/projects/dev-app/src/test.ts

@ -7,19 +7,8 @@ import {
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
declare const require: {
context(path: string, deep?: boolean, filter?: RegExp): {
keys(): string[];
<T>(id: string): T;
};
};
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

11
templates/module/angular/projects/my-project-name/src/test.ts

@ -8,19 +8,8 @@ import {
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
declare const require: {
context(path: string, deep?: boolean, filter?: RegExp): {
keys(): string[];
<T>(id: string): T;
};
};
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

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

@ -3,7 +3,6 @@
"extends": "../../tsconfig.prod.json",
"compilerOptions": {
"outDir": "../../out-tsc/lib",
"target": "es2020",
"declaration": true,
"declarationMap": true,
"inlineSources": true,

Loading…
Cancel
Save