You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2020/08/16 21:19:27 UTC

[incubator-streampipes] 05/05: [STREAMPIPES-193] Upgrade Angular to v10

This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-193
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 511e69593bba8f142b0e73ebf7c7d5c1e8e68274
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Sun Aug 16 23:19:02 2020 +0200

    [STREAMPIPES-193] Upgrade Angular to v10
---
 ui/{browserslist => .browserslistrc}               |  0
 ui/angular.json                                    |  1 +
 ui/package.json                                    | 60 +++++++++++-----------
 .../connect/schema-editor/unit-provider.service.ts |  2 +
 .../base/abstract-static-property.ts               |  3 +-
 .../base/abstract-validated-static-property.ts     |  3 +-
 .../static-mapping/static-mapping.ts               |  2 +
 .../dialog/base-dialog/base-dialog.component.ts    |  3 +-
 .../widgets/base/base-ngx-charts-widget.ts         |  2 +
 .../widgets/base/base-ngx-line-charts-widget.ts    |  2 +
 .../components/widgets/base/base-widget.ts         |  3 +-
 .../widgets/base/base-data-explorer-widget.ts      |  3 +-
 .../output-strategy/base/BaseOutputStrategy.ts     |  3 +-
 ui/src/app/shared/logger/log.service.ts            |  2 +
 ui/src/tsconfig.app.json                           |  2 +-
 ui/src/tsconfig.spec.json                          |  2 +-
 ui/{tsconfig.json => tsconfig.base.json}           |  2 +-
 ui/tsconfig.json                                   | 39 ++++++--------
 ui/tsconfig.spec.json                              |  2 +-
 ui/tslint.json                                     |  1 -
 20 files changed, 72 insertions(+), 65 deletions(-)

diff --git a/ui/browserslist b/ui/.browserslistrc
similarity index 100%
rename from ui/browserslist
rename to ui/.browserslistrc
diff --git a/ui/angular.json b/ui/angular.json
index d2d34ea..55b4477 100644
--- a/ui/angular.json
+++ b/ui/angular.json
@@ -17,6 +17,7 @@
             "main": "src/main.ts",
             "tsConfig": "src/tsconfig.app.json",
             "polyfills": "src/polyfills.ts",
+            "allowedCommonJsDependencies": ["lodash", "codemirror"],
             "assets": [
               "src/assets",
               {
diff --git a/ui/package.json b/ui/package.json
index ec24ea1..12a8c0a 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -17,21 +17,21 @@
     "analyze": "webpack-bundle-analyzer dist/stats.json"
   },
   "dependencies": {
-    "@angular/animations": "9.0.5",
-    "@angular/cdk": "9.1.1",
-    "@angular/common": "9.0.5",
-    "@angular/compiler": "9.0.5",
-    "@angular/core": "9.0.5",
-    "@angular/flex-layout": "9.0.0-beta.29",
-    "@angular/forms": "9.0.5",
-    "@angular/material": "9.1.1",
-    "@angular/platform-browser": "9.0.5",
-    "@angular/platform-browser-dynamic": "9.0.5",
-    "@angular/router": "9.0.5",
-    "@angular/upgrade": "9.0.5",
+    "@angular/animations": "10.0.9",
+    "@angular/cdk": "10.1.3",
+    "@angular/common": "10.0.9",
+    "@angular/compiler": "10.0.9",
+    "@angular/core": "10.0.9",
+    "@angular/flex-layout": "^10.0.0-beta.32",
+    "@angular/forms": "10.0.9",
+    "@angular/material": "10.1.3",
+    "@angular/platform-browser": "10.0.9",
+    "@angular/platform-browser-dynamic": "10.0.9",
+    "@angular/router": "10.0.9",
+    "@angular/upgrade": "10.0.9",
     "@asymmetrik/ngx-leaflet": "6.0.1",
     "@ctrl/ngx-codemirror": "3.1.3",
-    "@danielmoncada/angular-datetime-picker": "9.2.0",
+    "@danielmoncada/angular-datetime-picker": "10.0.0",
     "@fortawesome/fontawesome-free": "5.12.1",
     "@ngui/datetime-picker": "0.16.2",
     "@ngx-loading-bar/core": "5.1.0",
@@ -64,7 +64,7 @@
     "jszip": "3.2.1",
     "konva": "3.2.4",
     "leaflet": "1.6.0",
-    "lodash": "3.10.1",
+    "lodash": "4.17.20",
     "material-design-icons": "3.0.1",
     "moment": "2.24.0",
     "ng-dynamic-component": "4.0.3",
@@ -81,19 +81,19 @@
     "prismjs": "1.16.0",
     "quill": "1.3.7",
     "roboto-fontface": "0.10.0",
-    "rxjs": "6.3.3",
+    "rxjs": "6.6.2",
     "rxjs-compat": "6.3.3",
     "shepherd.js": "2.4.0",
     "showdown": "1.9.1",
     "systemjs": "0.21.6",
-    "tslib": "1.11.1",
-    "zone.js": "0.10.2"
+    "tslib": "^2.0.0",
+    "zone.js": "0.10.3"
   },
   "devDependencies": {
-    "@angular-builders/custom-webpack": "^8.4.1",
-    "@angular-devkit/build-angular": "~0.900.5",
-    "@angular/cli": "9.0.5",
-    "@angular/compiler-cli": "9.0.5",
+    "@angular-builders/custom-webpack": "10.0.0",
+    "@angular-devkit/build-angular": "~0.1000.6",
+    "@angular/cli": "10.0.6",
+    "@angular/compiler-cli": "10.0.9",
     "@ngtools/webpack": "9.0.2",
     "@types/angular": "^1.6.43",
     "@types/jasmine": "~2.8.3",
@@ -102,21 +102,21 @@
     "@types/node": "^12.11.1",
     "@types/rx": "^4.1.1",
     "@types/showdown": "1.9.3",
-    "codelyzer": "^5.1.2",
+    "codelyzer": "^6.0.0",
     "copy-webpack-plugin": "^5.0.2",
     "compression-webpack-plugin": "^3.0.0",
     "css-loader": "^0.28.11",
     "extract-text-webpack-plugin": "^3.0.2",
     "file-loader": "^1.1.6",
     "html-webpack-plugin": "^3.2.0",
-    "jasmine-core": "~2.8.0",
+    "jasmine-core": "~3.5.0",
     "js-yaml": "^3.10.0",
-    "karma": "~2.0.0",
-    "karma-chrome-launcher": "~2.2.0",
-    "karma-coverage-istanbul-reporter": "^1.2.1",
+    "karma": "~5.0.0",
+    "karma-chrome-launcher": "~3.1.0",
+    "karma-coverage-istanbul-reporter": "~3.0.2",
     "karma-firefox-launcher": "^1.3.0",
-    "karma-jasmine": "~1.1.0",
-    "karma-jasmine-html-reporter": "^0.2.2",
+    "karma-jasmine": "~3.3.0",
+    "karma-jasmine-html-reporter": "^1.5.0",
     "karma-verbose-reporter": "0.0.6",
     "mini-css-extract-plugin": "^0.9.0",
     "mustache": "^2.3.0",
@@ -126,9 +126,9 @@
     "sass-loader": "^6.0.7",
     "style-loader": "^0.23.1",
     "to-string-loader": "^1.1.5",
-    "tslint": "^5.15.0",
+    "tslint": "~6.1.0",
     "tslint-config-prettier": "^1.15.0",
-    "typescript": "3.7.5",
+    "typescript": "3.9.7",
     "uglifyjs-webpack-plugin": "2.2.0",
     "webpack": "4.44.1",
     "webpack-cli": "3.3.12",
diff --git a/ui/src/app/connect/schema-editor/unit-provider.service.ts b/ui/src/app/connect/schema-editor/unit-provider.service.ts
index fda2405..3b7d8f5 100644
--- a/ui/src/app/connect/schema-editor/unit-provider.service.ts
+++ b/ui/src/app/connect/schema-editor/unit-provider.service.ts
@@ -17,7 +17,9 @@
  */
 
 import {UnitDescription} from '../model/UnitDescription';
+import { Injectable } from "@angular/core";
 
+@Injectable()
 export class UnitProviderService {
 
     private units: UnitDescription[] = [
diff --git a/ui/src/app/connect/static-properties/base/abstract-static-property.ts b/ui/src/app/connect/static-properties/base/abstract-static-property.ts
index e5f2923..8240f0b 100644
--- a/ui/src/app/connect/static-properties/base/abstract-static-property.ts
+++ b/ui/src/app/connect/static-properties/base/abstract-static-property.ts
@@ -21,10 +21,11 @@ import {
   StaticProperty,
   StaticPropertyUnion
 } from "../../../core-model/gen/streampipes-model";
-import {EventEmitter, Input, Output} from "@angular/core";
+import { EventEmitter, Input, Output, Directive } from "@angular/core";
 import {FormGroup} from "@angular/forms";
 import {ConfigurationInfo} from "../../model/message/ConfigurationInfo";
 
+@Directive()
 export abstract class AbstractStaticPropertyRenderer<T extends StaticProperty> {
 
   @Input()
diff --git a/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts b/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts
index 3a74d07..bf57469 100644
--- a/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts
+++ b/ui/src/app/connect/static-properties/base/abstract-validated-static-property.ts
@@ -19,8 +19,9 @@
 import {StaticProperty} from "../../../core-model/gen/streampipes-model";
 import {AbstractStaticPropertyRenderer} from "./abstract-static-property";
 import {FormControl, ValidatorFn} from "@angular/forms";
-import {OnDestroy} from "@angular/core";
+import { OnDestroy, Directive } from "@angular/core";
 
+@Directive()
 export abstract class AbstractValidatedStaticPropertyRenderer<T extends StaticProperty>
     extends AbstractStaticPropertyRenderer<T> implements OnDestroy {
 
diff --git a/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts b/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
index 6ccdbcc..521bed9 100644
--- a/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
+++ b/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
@@ -24,8 +24,10 @@ import {
     MappingProperty
 } from "../../../core-model/gen/streampipes-model";
 import {AbstractValidatedStaticPropertyRenderer} from "../base/abstract-validated-static-property";
+import { Directive } from "@angular/core";
 
 
+@Directive()
 export abstract class StaticMappingComponent<T extends MappingProperty>
     extends AbstractValidatedStaticPropertyRenderer<T> {
 
diff --git a/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts b/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts
index f1c7291..42ca2da 100644
--- a/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts
+++ b/ui/src/app/core-ui/dialog/base-dialog/base-dialog.component.ts
@@ -16,10 +16,11 @@
  *
  */
 
-import {EventEmitter, Input, Output, ViewChild} from "@angular/core";
+import { EventEmitter, Input, Output, ViewChild, Directive } from "@angular/core";
 import {CdkPortalOutlet, ComponentPortal, Portal} from "@angular/cdk/portal";
 import {DialogRef} from "./dialog-ref";
 
+@Directive()
 export abstract class BaseDialogComponent<T> {
 
   @Input()
diff --git a/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts b/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts
index e4525c0..bdc0cae 100644
--- a/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts
+++ b/ui/src/app/dashboard/components/widgets/base/base-ngx-charts-widget.ts
@@ -20,7 +20,9 @@ import {BaseStreamPipesWidget} from "./base-widget";
 import {RxStompService} from "@stomp/ng2-stompjs";
 import {ResizeService} from "../../../services/resize.service";
 import {DashboardService} from "../../../services/dashboard.service";
+import { Directive } from "@angular/core";
 
+@Directive()
 export abstract class BaseNgxChartsStreamPipesWidget extends BaseStreamPipesWidget {
 
     view: any[] = [];
diff --git a/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts b/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts
index beb8153..63b1045 100644
--- a/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts
+++ b/ui/src/app/dashboard/components/widgets/base/base-ngx-line-charts-widget.ts
@@ -22,7 +22,9 @@ import {BaseNgxChartsStreamPipesWidget} from "./base-ngx-charts-widget";
 import {StaticPropertyExtractor} from "../../../sdk/extractor/static-property-extractor";
 import {LineConfig} from "../line/line-config";
 import {DashboardService} from "../../../services/dashboard.service";
+import { Directive } from "@angular/core";
 
+@Directive()
 export abstract class BaseNgxLineChartsStreamPipesWidget extends BaseNgxChartsStreamPipesWidget {
 
     multi:any = [];
diff --git a/ui/src/app/dashboard/components/widgets/base/base-widget.ts b/ui/src/app/dashboard/components/widgets/base/base-widget.ts
index 81a1289..44a87d1 100644
--- a/ui/src/app/dashboard/components/widgets/base/base-widget.ts
+++ b/ui/src/app/dashboard/components/widgets/base/base-widget.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Input, OnChanges, SimpleChanges} from "@angular/core";
+import { Input, OnChanges, SimpleChanges, Directive } from "@angular/core";
 import {DashboardItem} from "../../../models/dashboard.model";
 import {StaticPropertyExtractor} from "../../../sdk/extractor/static-property-extractor";
 import {RxStompService} from "@stomp/ng2-stompjs";
@@ -32,6 +32,7 @@ import {
     VisualizablePipeline
 } from "../../../../core-model/gen/streampipes-model";
 
+@Directive()
 export abstract class BaseStreamPipesWidget implements OnChanges {
 
     @Input() widget: DashboardItem;
diff --git a/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts b/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
index ed848e8..6870cf6 100644
--- a/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
+++ b/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
+import { EventEmitter, Input, OnChanges, Output, SimpleChanges, Directive } from '@angular/core';
 import { MatDialog } from '@angular/material/dialog';
 import { GridsterItem, GridsterItemComponent } from 'angular-gridster2';
 import { DateRange } from '../../../../core-model/datalake/DateRange';
@@ -29,6 +29,7 @@ import {
   EventSchema
 } from "../../../../core-model/gen/streampipes-model";
 
+@Directive()
 export abstract class BaseDataExplorerWidget implements OnChanges {
 
   protected constructor(protected dataLakeRestService: DatalakeRestService, protected dialog: MatDialog) {
diff --git a/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts b/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts
index 6106983..79e0dd4 100644
--- a/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts
+++ b/ui/src/app/editor/components/output-strategy/base/BaseOutputStrategy.ts
@@ -16,13 +16,14 @@
  *
  */
 
-import {Input} from "@angular/core";
+import { Input, Directive } from "@angular/core";
 import {FormGroup} from "@angular/forms";
 import {
   DataProcessorInvocation,
   OutputStrategy
 } from "../../../../core-model/gen/streampipes-model";
 
+@Directive()
 export abstract class BaseOutputStrategy<T extends OutputStrategy> {
 
   @Input()
diff --git a/ui/src/app/shared/logger/log.service.ts b/ui/src/app/shared/logger/log.service.ts
index e5a1fd5..b3d3ba2 100644
--- a/ui/src/app/shared/logger/log.service.ts
+++ b/ui/src/app/shared/logger/log.service.ts
@@ -21,9 +21,11 @@ declare var console: any;
 
 // Import the application components and services.
 import {ILogger} from "./default-log.service";
+import { Injectable } from "@angular/core";
 
 
 // I log values to the ambient console object.
+@Injectable()
 export class ConsoleLogService implements ILogger {
 
     public assert( ...args: any[] ) : void {
diff --git a/ui/src/tsconfig.app.json b/ui/src/tsconfig.app.json
index 7928203..3c39f39 100644
--- a/ui/src/tsconfig.app.json
+++ b/ui/src/tsconfig.app.json
@@ -1,5 +1,5 @@
 {
-  "extends": "../tsconfig.json",
+  "extends": "../tsconfig.base.json",
   "compilerOptions": {
     "outDir": "../out-tsc/app",
     "baseUrl": "./",
diff --git a/ui/src/tsconfig.spec.json b/ui/src/tsconfig.spec.json
index 5bbe9f1..3880a9a 100644
--- a/ui/src/tsconfig.spec.json
+++ b/ui/src/tsconfig.spec.json
@@ -1,5 +1,5 @@
 {
-  "extends": "../tsconfig.json",
+  "extends": "../tsconfig.base.json",
   "compilerOptions": {
     "outDir": "../out-tsc/spec",
     "baseUrl": "./",
diff --git a/ui/tsconfig.json b/ui/tsconfig.base.json
similarity index 95%
copy from ui/tsconfig.json
copy to ui/tsconfig.base.json
index 1c1aaca..512e7e8 100644
--- a/ui/tsconfig.json
+++ b/ui/tsconfig.base.json
@@ -3,7 +3,7 @@
   "compilerOptions": {
     "downlevelIteration": true,
     "importHelpers": true,
-    "module": "esnext",
+    "module": "es2020",
     "outDir": "./dist/out-tsc",
     "sourceMap": true,
     "declaration": false,
diff --git a/ui/tsconfig.json b/ui/tsconfig.json
index 1c1aaca..17ef80a 100644
--- a/ui/tsconfig.json
+++ b/ui/tsconfig.json
@@ -1,26 +1,17 @@
+/*
+  This is a "Solution Style" tsconfig.json file, and is used by editors and TypeScript’s language server to improve development experience.
+  It is not intended to be used to perform a compilation.
+
+  To learn more about this file see: https://angular.io/config/solution-tsconfig.
+*/
 {
-  "compileOnSave": false,
-  "compilerOptions": {
-    "downlevelIteration": true,
-    "importHelpers": true,
-    "module": "esnext",
-    "outDir": "./dist/out-tsc",
-    "sourceMap": true,
-    "declaration": false,
-    "moduleResolution": "node",
-    "emitDecoratorMetadata": true,
-    "experimentalDecorators": true,
-    "target": "es2015",
-    "typeRoots": [
-      "node_modules/@types"
-    ],
-    "types": [
-      "node"
-    ],
-    "lib": [
-      "es2017",
-      "dom"
-    ],
-    "baseUrl": "./"
-  }
+  "files": [],
+  "references": [
+    {
+      "path": "./src/tsconfig.app.json"
+    },
+    {
+      "path": "./tsconfig.spec.json"
+    }
+  ]
 }
\ No newline at end of file
diff --git a/ui/tsconfig.spec.json b/ui/tsconfig.spec.json
index 6400fde..1db2e6e 100644
--- a/ui/tsconfig.spec.json
+++ b/ui/tsconfig.spec.json
@@ -1,5 +1,5 @@
 {
-  "extends": "./tsconfig.json",
+  "extends": "./tsconfig.base.json",
   "compilerOptions": {
     "outDir": "./out-tsc/spec",
     "types": [
diff --git a/ui/tslint.json b/ui/tslint.json
index 0110a9b..8d4013b 100644
--- a/ui/tslint.json
+++ b/ui/tslint.json
@@ -49,7 +49,6 @@
     "no-trailing-whitespace": true,
     "no-unnecessary-initializer": true,
     "no-unused-expression": true,
-    "no-use-before-declare": true,
     "no-var-keyword": true,
     "object-literal-sort-keys": false,
     "one-line": [