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 2022/03/20 14:52:35 UTC

[incubator-streampipes] branch dev updated: [STREAMPIPES-517] Bump Angular to v13

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

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


The following commit(s) were added to refs/heads/dev by this push:
     new e57f959  [STREAMPIPES-517] Bump Angular to v13
e57f959 is described below

commit e57f9599ab5228e027c0cfb61c1cd5075b842e08
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Sun Mar 20 15:52:23 2022 +0100

    [STREAMPIPES-517] Bump Angular to v13
---
 ui/.gitignore                                      |   1 +
 ui/angular.json                                    |   7 -
 ui/cypress/plugins/index.ts                        |  24 +++
 ui/deployment/sp-theme.scss                        |   2 +-
 ui/package.json                                    |  50 ++---
 .../streampipes/platform-services/package.json     |   6 +-
 ui/src/app/add/add.module.ts                       |  61 +++---
 ui/src/app/apidocs/apidocs.module.ts               |  31 ++-
 .../app-asset-monitoring.module.ts                 |   5 -
 .../app-image-labeling.module.ts                   |   6 +-
 ui/src/app/app-overview/app-overview.module.ts     |   6 +-
 ui/src/app/configuration/configuration.module.ts   |  87 +++++----
 ui/src/app/connect/connect.module.ts               | 140 +++++++-------
 ui/src/app/core-ui/core-ui.module.ts               | 210 ++++++++++-----------
 ui/src/app/core/core.module.ts                     |  55 +++---
 ui/src/app/dashboard/dashboard.module.ts           | 126 ++++++-------
 ui/src/app/data-explorer/data-explorer.module.ts   | 205 ++++++++++----------
 ui/src/app/editor/editor.module.ts                 | 141 +++++++-------
 ui/src/app/files/files.module.ts                   |  59 +++---
 ui/src/app/home/home.module.ts                     |   3 -
 ui/src/app/info/info.module.ts                     |   5 +-
 ui/src/app/login/login.module.ts                   |  71 ++++---
 ui/src/app/notifications/notifications.module.ts   |  45 +++--
 .../pipeline-details/pipeline-details.module.ts    |  67 ++++---
 ui/src/app/pipelines/pipelines.module.ts           |  69 ++++---
 ui/src/app/profile/profile.module.ts               |  55 +++---
 ui/src/app/services/services.module.ts             |  33 ++--
 ui/src/polyfills.ts                                |   7 -
 ui/src/test.ts                                     |   4 +-
 29 files changed, 760 insertions(+), 821 deletions(-)

diff --git a/ui/.gitignore b/ui/.gitignore
index e210b1d..fbb4ee5 100644
--- a/ui/.gitignore
+++ b/ui/.gitignore
@@ -60,6 +60,7 @@ projects/streampipes/platform-services/node_modules
 !.vscode/extensions.json
 
 # misc
+/.angular/cache
 /.sass-cache
 /connect.lock
 /coverage
diff --git a/ui/angular.json b/ui/angular.json
index 183704e..f18df83 100644
--- a/ui/angular.json
+++ b/ui/angular.json
@@ -103,13 +103,6 @@
             "scripts": [
             ]
           }
-        },
-        "lint": {
-          "builder": "@angular-devkit/build-angular:tslint",
-          "options": {
-            "tsConfig": [],
-            "exclude": []
-          }
         }
       }
     },
diff --git a/ui/cypress/plugins/index.ts b/ui/cypress/plugins/index.ts
index 362ee93..da86e80 100644
--- a/ui/cypress/plugins/index.ts
+++ b/ui/cypress/plugins/index.ts
@@ -29,6 +29,7 @@
 // the project's config changing)
 import * as fs from 'fs';
 import { ProcessorTest } from '../support/model/ProcessorTest';
+const webpackPreprocessor = require('@cypress/webpack-batteries-included-preprocessor');
 
 function readProcessingElements(): ProcessorTest[] {
   const result: ProcessorTest[] = [];
@@ -63,6 +64,29 @@ function readProcessingElements(): ProcessorTest[] {
 
 module.exports = (on, config) => {
 
+  const webpackOptions = webpackPreprocessor.defaultOptions.webpackOptions;
+
+  webpackOptions.resolve.fallback = { "stream": require.resolve("stream-browserify") };
+  webpackOptions.module.rules.unshift({
+    test: /[/\\]@angular[/\\].+\.m?js$/,
+    resolve: {
+      fullySpecified: false,
+    },
+    use: {
+      loader: 'babel-loader',
+      options: {
+        plugins: ['@angular/compiler-cli/linker/babel'],
+        compact: false,
+        cacheDirectory: true
+      }
+    }
+  });
+
+  on('file:preprocessor', webpackPreprocessor({
+    webpackOptions,
+    typescript: require.resolve('typescript'),
+  }));
+
   config.env.processingElements = readProcessingElements();
 
   return config;
diff --git a/ui/deployment/sp-theme.scss b/ui/deployment/sp-theme.scss
index 5a23ac5..db812e6 100644
--- a/ui/deployment/sp-theme.scss
+++ b/ui/deployment/sp-theme.scss
@@ -23,7 +23,7 @@
  *
  */
 
-@import '~@angular/material/theming';
+@import '@angular/material/theming';
 @import '../variables';
 
 @include mat-core();
diff --git a/ui/package.json b/ui/package.json
index b1b7ab0..13b2794 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -25,20 +25,20 @@
   },
   "dependencies": {
     "@angular-architects/module-federation": "^14.0.1",
-    "@angular/animations": "^12.2.9",
-    "@angular/cdk": "^12.2.9",
-    "@angular/common": "^12.2.9",
-    "@angular/compiler": "^12.2.9",
-    "@angular/core": "^12.2.9",
-    "@angular/flex-layout": "^12.0.0-beta.35",
-    "@angular/forms": "^12.2.9",
-    "@angular/material": "^12.2.9",
-    "@angular/platform-browser": "^12.2.9",
-    "@angular/platform-browser-dynamic": "^12.2.9",
-    "@angular/router": "^12.2.9",
+    "@angular/animations": "^13.3.0",
+    "@angular/cdk": "^13.3.0",
+    "@angular/common": "^13.3.0",
+    "@angular/compiler": "^13.3.0",
+    "@angular/core": "^13.3.0",
+    "@angular/flex-layout": "^13.0.0-beta.38",
+    "@angular/forms": "^13.3.0",
+    "@angular/material": "^13.3.0",
+    "@angular/platform-browser": "^13.3.0",
+    "@angular/platform-browser-dynamic": "^13.3.0",
+    "@angular/router": "^13.3.0",
     "@asymmetrik/ngx-leaflet": "6.0.1",
     "@auth0/angular-jwt": "^5.0.2",
-    "@circlon/angular-tree-component": "11.0.4",
+    "@circlon/angular-tree-component": "^11.0.4",
     "@ctrl/ngx-codemirror": "5.1.1",
     "@danielmoncada/angular-datetime-picker": "^13.1.1",
     "@fortawesome/fontawesome-free": "5.12.1",
@@ -51,8 +51,8 @@
     "@ngx-loading-bar/http-client": "5.1.2",
     "@panzoom/panzoom": "^4.4.3",
     "@swimlane/ngx-charts": "16.0.0",
-    "angular-datatables": "^12.0.2",
-    "angular-gridster2": "12.1.1",
+    "angular-datatables": "^13.0.1",
+    "angular-gridster2": "^13.1.1",
     "angular-plotly.js": "^4.0.0",
     "angular2-uuid": "1.1.1",
     "codemirror": "^5.55.0",
@@ -80,17 +80,18 @@
     "rxjs": "6.6.2",
     "shepherd.js": "^9.0.0",
     "showdown": "1.9.1",
-		"stream-browserify": "3.0.0",
+    "stream-browserify": "3.0.0",
     "swagger-ui": "^4.2.1",
     "tslib": "^2.0.0",
     "zone.js": "~0.11.4"
   },
   "devDependencies": {
-    "@angular-builders/custom-webpack": "^12.1.3",
-    "@angular-devkit/build-angular": "^12.2.15",
-    "@angular/cli": "^12.2.9",
-    "@angular/compiler-cli": "^12.2.9",
-    "@ngtools/webpack": "^12.2.9",
+    "@angular-builders/custom-webpack": "^13.1.0",
+    "@angular-devkit/build-angular": "^13.3.0",
+    "@angular/cli": "^13.3.0",
+    "@angular/compiler-cli": "^13.3.0",
+    "@cypress/webpack-batteries-included-preprocessor": "^2.2.3",
+    "@ngtools/webpack": "^13.3.0",
     "@types/angular": "^1.7.4",
     "@types/jasmine": "~3.6.0",
     "@types/jqueryui": "^1.12.13",
@@ -103,8 +104,8 @@
     "codelyzer": "^6.0.0",
     "compression-webpack-plugin": "^9.2.0",
     "copy-webpack-plugin": "^5.1.2",
-    "csv-string": "4.0.1",
-    "cypress": "^9.1.1",
+    "csv-string": "^4.1.0",
+    "cypress": "^9.5.2",
     "cypress-file-upload": "^5.0.8",
     "file-loader": "^5.1.0",
     "html-webpack-plugin": "^5.5.0",
@@ -118,7 +119,7 @@
     "karma-jasmine-html-reporter": "^1.5.0",
     "karma-verbose-reporter": "0.0.6",
     "mustache": "^2.3.0",
-    "ng-packagr": "^12.1.1",
+    "ng-packagr": "^13.3.0",
     "path": "^0.12.7",
     "prettier": "1.14.2",
     "raw-loader": "^4.0.2",
@@ -128,10 +129,9 @@
     "to-string-loader": "^1.1.5",
     "tslint": "~6.1.0",
     "tslint-config-prettier": "^1.15.0",
-    "typescript": "4.3.5",
+    "typescript": "4.6.2",
     "webpack": "^5.58.1",
     "webpack-cli": "^4.9.0",
-    "webpack-dev-server": "^4.3.1",
     "webpack-merge": "^5.8.0"
   }
 }
diff --git a/ui/projects/streampipes/platform-services/package.json b/ui/projects/streampipes/platform-services/package.json
index 5f389bd..57a5c64 100644
--- a/ui/projects/streampipes/platform-services/package.json
+++ b/ui/projects/streampipes/platform-services/package.json
@@ -2,10 +2,10 @@
   "name": "@streampipes/platform-services",
   "version": "0.0.1",
   "peerDependencies": {
-    "@angular/common": "^12.2.0",
-    "@angular/core": "^12.2.0",
+    "@angular/common": "^13.3.0",
+    "@angular/core": "^13.3.0",
     "rxjs": "6.6.2",
-    "angular-gridster2": "12.1.1"
+    "angular-gridster2": "^13.1.1"
   },
   "dependencies": {
     "tslib": "^2.3.0"
diff --git a/ui/src/app/add/add.module.ts b/ui/src/app/add/add.module.ts
index dad31c8..e5e3fbf 100644
--- a/ui/src/app/add/add.module.ts
+++ b/ui/src/app/add/add.module.ts
@@ -35,38 +35,35 @@ import { PipelineElementNameFilter } from './filter/pipeline-element-name.pipe';
 import { PipelineElementInstallationStatusFilter } from './filter/pipeline-element-installation-status.pipe';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    FormsModule,
-    MatTabsModule,
-    FlexLayoutModule,
-    CoreUiModule,
-    CustomMaterialModule,
-    MatProgressSpinnerModule
-  ],
-  declarations: [
-    AddComponent,
-    AddEndpointComponent,
-    EndpointInstallationComponent,
-    EndpointItemComponent,
-    OrderByPipe,
-    PipelineElementNameFilter,
-    PipelineElementInstallationStatusFilter,
-    PipelineElementTypeFilter
-  ],
-  providers: [
-    AddService,
-    OrderByPipe,
-    PipelineElementInstallationStatusFilter,
-    PipelineElementNameFilter,
-    PipelineElementTypeFilter
-  ],
-  exports: [
-    AddComponent
-  ],
-  entryComponents: [
-    AddComponent
-  ]
+    imports: [
+        CommonModule,
+        FormsModule,
+        MatTabsModule,
+        FlexLayoutModule,
+        CoreUiModule,
+        CustomMaterialModule,
+        MatProgressSpinnerModule
+    ],
+    declarations: [
+        AddComponent,
+        AddEndpointComponent,
+        EndpointInstallationComponent,
+        EndpointItemComponent,
+        OrderByPipe,
+        PipelineElementNameFilter,
+        PipelineElementInstallationStatusFilter,
+        PipelineElementTypeFilter
+    ],
+    providers: [
+        AddService,
+        OrderByPipe,
+        PipelineElementInstallationStatusFilter,
+        PipelineElementNameFilter,
+        PipelineElementTypeFilter
+    ],
+    exports: [
+        AddComponent
+    ]
 })
 export class AddModule {
 
diff --git a/ui/src/app/apidocs/apidocs.module.ts b/ui/src/app/apidocs/apidocs.module.ts
index 735b8ba..15dafa9 100644
--- a/ui/src/app/apidocs/apidocs.module.ts
+++ b/ui/src/app/apidocs/apidocs.module.ts
@@ -24,24 +24,19 @@ import { CoreUiModule } from '../core-ui/core-ui.module';
 import { ApidocsComponent } from './apidocs.component';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    FlexLayoutModule,
-    CoreUiModule,
-    CustomMaterialModule,
-  ],
-  declarations: [
-    ApidocsComponent
-  ],
-  providers: [
-
-  ],
-  exports: [
-    ApidocsComponent
-  ],
-  entryComponents: [
-    ApidocsComponent
-  ]
+    imports: [
+        CommonModule,
+        FlexLayoutModule,
+        CoreUiModule,
+        CustomMaterialModule,
+    ],
+    declarations: [
+        ApidocsComponent
+    ],
+    providers: [],
+    exports: [
+        ApidocsComponent
+    ]
 })
 export class ApidocsModule {
 
diff --git a/ui/src/app/app-asset-monitoring/app-asset-monitoring.module.ts b/ui/src/app/app-asset-monitoring/app-asset-monitoring.module.ts
index c3fd643..a2882c5 100644
--- a/ui/src/app/app-asset-monitoring/app-asset-monitoring.module.ts
+++ b/ui/src/app/app-asset-monitoring/app-asset-monitoring.module.ts
@@ -66,11 +66,6 @@ import { DashboardModule } from '../dashboard/dashboard.module';
         ShapeService,
         ElementIconText
     ],
-    entryComponents: [
-        AppAssetMonitoringComponent,
-        AddPipelineDialogComponent,
-        SaveDashboardDialogComponent
-    ],
     exports: [
         AppAssetMonitoringComponent
     ]
diff --git a/ui/src/app/app-image-labeling/app-image-labeling.module.ts b/ui/src/app/app-image-labeling/app-image-labeling.module.ts
index 9895c72..ce813a8 100644
--- a/ui/src/app/app-image-labeling/app-image-labeling.module.ts
+++ b/ui/src/app/app-image-labeling/app-image-labeling.module.ts
@@ -30,11 +30,7 @@ import { AppImageLabelingComponent } from './app-image-labeling.component';
     declarations: [
         AppImageLabelingComponent
     ],
-    providers: [
-    ],
-    entryComponents: [
-        AppImageLabelingComponent,
-    ],
+    providers: [],
     exports: [
         AppImageLabelingComponent
     ]
diff --git a/ui/src/app/app-overview/app-overview.module.ts b/ui/src/app/app-overview/app-overview.module.ts
index ce468c1..e33a5f5 100644
--- a/ui/src/app/app-overview/app-overview.module.ts
+++ b/ui/src/app/app-overview/app-overview.module.ts
@@ -44,11 +44,7 @@ import { AppOverviewComponent } from './app-overview.component';
     declarations: [
         AppOverviewComponent,
     ],
-    providers: [
-    ],
-    entryComponents: [
-        AppOverviewComponent
-    ]
+    providers: []
 })
 export class AppOverviewModule {
 }
diff --git a/ui/src/app/configuration/configuration.module.ts b/ui/src/app/configuration/configuration.module.ts
index f9b2cdd..7a5fd71 100644
--- a/ui/src/app/configuration/configuration.module.ts
+++ b/ui/src/app/configuration/configuration.module.ts
@@ -56,50 +56,49 @@ import { EmailConfigurationComponent } from './email-configuration/email-configu
 import { GeneralConfigurationComponent } from './general-configuration/general-configuration.component';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    CustomMaterialModule,
-    FlexLayoutModule,
-    MatGridListModule,
-    MatButtonModule,
-    MatProgressSpinnerModule,
-    MatIconModule,
-    MatInputModule,
-    MatCheckboxModule,
-    MatDividerModule,
-    MatTooltipModule,
-    FormsModule,
-    DragDropModule,
-    CoreUiModule,
-    ReactiveFormsModule,
-    PlatformServicesModule,
-  ],
-  declarations: [
-    ConfigurationComponent,
-    ConsulServiceComponent,
-    ConsulConfigsComponent,
-    ConsulConfigsTextComponent,
-    ConsulConfigsPasswordComponent,
-    ConsulConfigsBooleanComponent,
-    ConsulConfigsNumberComponent,
-    DeleteDatalakeIndexComponent,
-    EditUserDialogComponent,
-    EditGroupDialogComponent,
-    EmailConfigurationComponent,
-    GeneralConfigurationComponent,
-    PipelineElementConfigurationComponent,
-    SecurityConfigurationComponent,
-    SecurityUserConfigComponent,
-    SecurityUserGroupConfigComponent,
-    SecurityServiceConfigComponent,
-    MessagingConfigurationComponent,
-    DatalakeConfigurationComponent,
-  ],
-  providers: [
-    ConfigurationService,
-    DatalakeRestService
-  ],
-  entryComponents: [ConfigurationComponent]
+    imports: [
+        CommonModule,
+        CustomMaterialModule,
+        FlexLayoutModule,
+        MatGridListModule,
+        MatButtonModule,
+        MatProgressSpinnerModule,
+        MatIconModule,
+        MatInputModule,
+        MatCheckboxModule,
+        MatDividerModule,
+        MatTooltipModule,
+        FormsModule,
+        DragDropModule,
+        CoreUiModule,
+        ReactiveFormsModule,
+        PlatformServicesModule,
+    ],
+    declarations: [
+        ConfigurationComponent,
+        ConsulServiceComponent,
+        ConsulConfigsComponent,
+        ConsulConfigsTextComponent,
+        ConsulConfigsPasswordComponent,
+        ConsulConfigsBooleanComponent,
+        ConsulConfigsNumberComponent,
+        DeleteDatalakeIndexComponent,
+        EditUserDialogComponent,
+        EditGroupDialogComponent,
+        EmailConfigurationComponent,
+        GeneralConfigurationComponent,
+        PipelineElementConfigurationComponent,
+        SecurityConfigurationComponent,
+        SecurityUserConfigComponent,
+        SecurityUserGroupConfigComponent,
+        SecurityServiceConfigComponent,
+        MessagingConfigurationComponent,
+        DatalakeConfigurationComponent,
+    ],
+    providers: [
+        ConfigurationService,
+        DatalakeRestService
+    ]
 })
 export class ConfigurationModule {
 }
diff --git a/ui/src/app/connect/connect.module.ts b/ui/src/app/connect/connect.module.ts
index 0e5e9ea..cad1e33 100644
--- a/ui/src/app/connect/connect.module.ts
+++ b/ui/src/app/connect/connect.module.ts
@@ -83,79 +83,73 @@ import { PlatformServicesModule } from '@streampipes/platform-services';
 import { FormatItemJsonComponent } from './components/format-item-json/format-item-json.component';
 
 @NgModule({
-  imports: [
-    CoreUiModule,
-    FormsModule,
-    ReactiveFormsModule,
-    CommonModule,
-    FlexLayoutModule,
-    MatGridListModule,
-    CustomMaterialModule,
-    MatProgressSpinnerModule,
-    MatChipsModule,
-    MatInputModule,
-    MatFormFieldModule,
-    MatSliderModule,
-    PlatformServicesModule,
-    CoreUiModule,
-    TreeModule
-  ],
-  exports: [
-    PipelineElementRuntimeInfoComponent
-  ],
-  declarations: [
-    AdapterDescriptionComponent,
-    AdapterExportDialog,
-    AdapterStartedDialog,
-    AdapterUploadDialog,
-    ConnectComponent,
-    DataMarketplaceComponent,
-    DeleteAdapterDialogComponent,
-    EventSchemaComponent,
-    EditEventPropertyPrimitiveComponent,
-    EditEventPropertyComponent,
-    EventPropertyRowComponent,
-    EditEventPropertyListComponent,
-    EditUnitTransformationComponent,
-    EditTimestampPropertyComponent,
-    EditDataTypeComponent,
-    EventSchemaPreviewComponent,
-    ExistingAdaptersComponent,
-    FilterPipe,
-    FormatItemComponent,
-    FormatListComponent,
-    NewAdapterComponent,
-    PipelineElementRuntimeInfoComponent,
-    TimestampPipe,
-    EditCorrectionValueComponent,
-    FormatConfigurationComponent,
-    GenericAdapterConfigurationComponent,
-    SpecificAdapterConfigurationComponent,
-    ConfigurationGroupComponent,
-    ErrorMessageComponent,
-    LoadingMessageComponent,
-    SchemaEditorHeaderComponent,
-    StartAdapterConfigurationComponent,
-    FormatItemJsonComponent
-  ],
-  providers: [
-    RestService,
-    ConnectService,
-    DataTypesService,
-    TransformationRuleService,
-    StaticPropertyUtilService,
-    DataMarketplaceService,
-    IconService,
-    UnitProviderService,
-    TimestampPipe,
-    XsService
-  ],
-  entryComponents: [
-    ConnectComponent,
-    AdapterStartedDialog,
-    AdapterExportDialog,
-    AdapterUploadDialog,
-    EditEventPropertyComponent]
+    imports: [
+        CoreUiModule,
+        FormsModule,
+        ReactiveFormsModule,
+        CommonModule,
+        FlexLayoutModule,
+        MatGridListModule,
+        CustomMaterialModule,
+        MatProgressSpinnerModule,
+        MatChipsModule,
+        MatInputModule,
+        MatFormFieldModule,
+        MatSliderModule,
+        PlatformServicesModule,
+        CoreUiModule,
+        TreeModule
+    ],
+    exports: [
+        PipelineElementRuntimeInfoComponent
+    ],
+    declarations: [
+        AdapterDescriptionComponent,
+        AdapterExportDialog,
+        AdapterStartedDialog,
+        AdapterUploadDialog,
+        ConnectComponent,
+        DataMarketplaceComponent,
+        DeleteAdapterDialogComponent,
+        EventSchemaComponent,
+        EditEventPropertyPrimitiveComponent,
+        EditEventPropertyComponent,
+        EventPropertyRowComponent,
+        EditEventPropertyListComponent,
+        EditUnitTransformationComponent,
+        EditTimestampPropertyComponent,
+        EditDataTypeComponent,
+        EventSchemaPreviewComponent,
+        ExistingAdaptersComponent,
+        FilterPipe,
+        FormatItemComponent,
+        FormatListComponent,
+        NewAdapterComponent,
+        PipelineElementRuntimeInfoComponent,
+        TimestampPipe,
+        EditCorrectionValueComponent,
+        FormatConfigurationComponent,
+        GenericAdapterConfigurationComponent,
+        SpecificAdapterConfigurationComponent,
+        ConfigurationGroupComponent,
+        ErrorMessageComponent,
+        LoadingMessageComponent,
+        SchemaEditorHeaderComponent,
+        StartAdapterConfigurationComponent,
+        FormatItemJsonComponent
+    ],
+    providers: [
+        RestService,
+        ConnectService,
+        DataTypesService,
+        TransformationRuleService,
+        StaticPropertyUtilService,
+        DataMarketplaceService,
+        IconService,
+        UnitProviderService,
+        TimestampPipe,
+        XsService
+    ]
 })
 export class ConnectModule {
 }
diff --git a/ui/src/app/core-ui/core-ui.module.ts b/ui/src/app/core-ui/core-ui.module.ts
index 3c999cc..94f3a00 100644
--- a/ui/src/app/core-ui/core-ui.module.ts
+++ b/ui/src/app/core-ui/core-ui.module.ts
@@ -88,112 +88,110 @@ import { BarchartWidgetComponent } from '../pipeline-details/components/monitori
 import { StatusWidgetComponent } from '../pipeline-details/components/monitoring/widget/status/status-widget.component';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    ColorPickerModule,
-    FlexLayoutModule,
-    CodemirrorModule,
-    CustomMaterialModule,
-    ReactiveFormsModule,
-    FormsModule,
-    CdkTableModule,
-    MatAutocompleteModule,
-    MatSnackBarModule,
-    MatProgressSpinnerModule,
-    MatDatepickerModule,
-    MatNativeDateModule,
-    NgxChartsModule,
-    PlotlyViaWindowModule,
-    MatSliderModule,
-    MatSlideToggleModule,
-    MatChipsModule,
-    MatTreeModule,
-    PlatformServicesModule,
-    PortalModule,
-    OverlayModule,
-    QuillModule.forRoot(),
-    MatTreeModule
-  ],
-  declarations: [
-    ConfigureLabelsComponent,
-    ConfirmDialogComponent,
-    DisplayRecommendedPipe,
-    ImageComponent,
-    ImageContainerComponent,
-    ImageLabelingComponent,
-    SelectLabelComponent,
-    ImageBarComponent,
-    ImageAnnotationsComponent,
-    ImageViewerComponent,
-    ObjectPermissionDialogComponent,
-    StandardDialogComponent,
-    PanelDialogComponent,
-    SplitSectionComponent,
-    StaticAnyInput,
-    StaticPropertyComponent,
-    StaticFreeInputComponent,
-    StaticSecretInputComponent,
-    StaticFileInputComponent,
-    StaticMappingNaryComponent,
-    StaticMappingUnaryComponent,
-    StaticGroupComponent,
-    StaticAlternativesComponent,
-    StaticCollectionComponent,
-    StaticColorPickerComponent,
-    StaticCodeInputComponent,
-    StaticOneOfInputComponent,
-    StaticRuntimeResolvableAnyInputComponent,
-    StaticRuntimeResolvableOneOfInputComponent,
-    StaticRuntimeResolvableTreeInputComponent,
-    StaticSlideToggleComponent,
-    LabelListItemComponent,
-    ErrorHintComponent,
-    AddToCollectionComponent,
-    PipelineStartedStatusComponent,
-  ],
-  providers: [
-    MatDatepickerModule,
-    ColorService,
-    DisplayRecommendedPipe,
-    ReactLabelingService,
-    PolygonLabelingService,
-    BrushLabelingService,
-    CocoFormatService,
-    LabelingModeService,
-    DialogService,
-    RuntimeResolvableService,
-  ],
-  entryComponents: [],
-  exports: [
-    ConfigureLabelsComponent,
-    ImageComponent,
-    ImageLabelingComponent,
-    SelectLabelComponent,
-    StandardDialogComponent,
-    PanelDialogComponent,
-    ConfirmDialogComponent,
-    StaticAnyInput,
-    StaticPropertyComponent,
-    StaticFreeInputComponent,
-    StaticSecretInputComponent,
-    StaticFileInputComponent,
-    StaticMappingNaryComponent,
-    StaticMappingUnaryComponent,
-    StaticGroupComponent,
-    StaticAlternativesComponent,
-    StaticCollectionComponent,
-    StaticColorPickerComponent,
-    StaticCodeInputComponent,
-    StaticOneOfInputComponent,
-    StaticRuntimeResolvableAnyInputComponent,
-    StaticRuntimeResolvableOneOfInputComponent,
-    StaticSlideToggleComponent,
-    ImageViewerComponent,
-    ErrorHintComponent,
-    PipelineStartedStatusComponent,
-    SplitSectionComponent,
-
-  ]
+    imports: [
+        CommonModule,
+        ColorPickerModule,
+        FlexLayoutModule,
+        CodemirrorModule,
+        CustomMaterialModule,
+        ReactiveFormsModule,
+        FormsModule,
+        CdkTableModule,
+        MatAutocompleteModule,
+        MatSnackBarModule,
+        MatProgressSpinnerModule,
+        MatDatepickerModule,
+        MatNativeDateModule,
+        NgxChartsModule,
+        PlotlyViaWindowModule,
+        MatSliderModule,
+        MatSlideToggleModule,
+        MatChipsModule,
+        MatTreeModule,
+        PlatformServicesModule,
+        PortalModule,
+        OverlayModule,
+        QuillModule.forRoot(),
+        MatTreeModule
+    ],
+    declarations: [
+        ConfigureLabelsComponent,
+        ConfirmDialogComponent,
+        DisplayRecommendedPipe,
+        ImageComponent,
+        ImageContainerComponent,
+        ImageLabelingComponent,
+        SelectLabelComponent,
+        ImageBarComponent,
+        ImageAnnotationsComponent,
+        ImageViewerComponent,
+        ObjectPermissionDialogComponent,
+        StandardDialogComponent,
+        PanelDialogComponent,
+        SplitSectionComponent,
+        StaticAnyInput,
+        StaticPropertyComponent,
+        StaticFreeInputComponent,
+        StaticSecretInputComponent,
+        StaticFileInputComponent,
+        StaticMappingNaryComponent,
+        StaticMappingUnaryComponent,
+        StaticGroupComponent,
+        StaticAlternativesComponent,
+        StaticCollectionComponent,
+        StaticColorPickerComponent,
+        StaticCodeInputComponent,
+        StaticOneOfInputComponent,
+        StaticRuntimeResolvableAnyInputComponent,
+        StaticRuntimeResolvableOneOfInputComponent,
+        StaticRuntimeResolvableTreeInputComponent,
+        StaticSlideToggleComponent,
+        LabelListItemComponent,
+        ErrorHintComponent,
+        AddToCollectionComponent,
+        PipelineStartedStatusComponent,
+    ],
+    providers: [
+        MatDatepickerModule,
+        ColorService,
+        DisplayRecommendedPipe,
+        ReactLabelingService,
+        PolygonLabelingService,
+        BrushLabelingService,
+        CocoFormatService,
+        LabelingModeService,
+        DialogService,
+        RuntimeResolvableService,
+    ],
+    exports: [
+        ConfigureLabelsComponent,
+        ImageComponent,
+        ImageLabelingComponent,
+        SelectLabelComponent,
+        StandardDialogComponent,
+        PanelDialogComponent,
+        ConfirmDialogComponent,
+        StaticAnyInput,
+        StaticPropertyComponent,
+        StaticFreeInputComponent,
+        StaticSecretInputComponent,
+        StaticFileInputComponent,
+        StaticMappingNaryComponent,
+        StaticMappingUnaryComponent,
+        StaticGroupComponent,
+        StaticAlternativesComponent,
+        StaticCollectionComponent,
+        StaticColorPickerComponent,
+        StaticCodeInputComponent,
+        StaticOneOfInputComponent,
+        StaticRuntimeResolvableAnyInputComponent,
+        StaticRuntimeResolvableOneOfInputComponent,
+        StaticSlideToggleComponent,
+        ImageViewerComponent,
+        ErrorHintComponent,
+        PipelineStartedStatusComponent,
+        SplitSectionComponent,
+    ]
 })
 export class CoreUiModule {
 }
diff --git a/ui/src/app/core/core.module.ts b/ui/src/app/core/core.module.ts
index b003bc4..956182f 100644
--- a/ui/src/app/core/core.module.ts
+++ b/ui/src/app/core/core.module.ts
@@ -39,35 +39,32 @@ import { MatBadgeModule } from '@angular/material/badge';
 import { MatSlideToggleModule } from '@angular/material/slide-toggle';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    FlexLayoutModule,
-    MatGridListModule,
-    MatDividerModule,
-    MatListModule,
-    MatIconModule,
-    MatMenuModule,
-    MatBadgeModule,
-    MatButtonModule,
-    MatTooltipModule,
-    MatProgressSpinnerModule,
-    MatInputModule,
-    MatToolbarModule,
-    FormsModule,
-    RouterModule,
-    MatSlideToggleModule,
-    ReactiveFormsModule
-  ],
-  declarations: [
-    StreampipesComponent,
-    FeedbackComponent,
-    IconbarComponent,
-    ToolbarComponent
-  ],
-  providers: [],
-  entryComponents: [
-    StreampipesComponent
-  ]
+    imports: [
+        CommonModule,
+        FlexLayoutModule,
+        MatGridListModule,
+        MatDividerModule,
+        MatListModule,
+        MatIconModule,
+        MatMenuModule,
+        MatBadgeModule,
+        MatButtonModule,
+        MatTooltipModule,
+        MatProgressSpinnerModule,
+        MatInputModule,
+        MatToolbarModule,
+        FormsModule,
+        RouterModule,
+        MatSlideToggleModule,
+        ReactiveFormsModule
+    ],
+    declarations: [
+        StreampipesComponent,
+        FeedbackComponent,
+        IconbarComponent,
+        ToolbarComponent
+    ],
+    providers: []
 })
 export class CoreModule {
 }
diff --git a/ui/src/app/dashboard/dashboard.module.ts b/ui/src/app/dashboard/dashboard.module.ts
index 15b347d..3072ee1 100644
--- a/ui/src/app/dashboard/dashboard.module.ts
+++ b/ui/src/app/dashboard/dashboard.module.ts
@@ -63,72 +63,66 @@ import { CustomMaterialModule } from '../CustomMaterial/custom-material.module';
 import { ServicesModule } from "../services/services.module";
 
 @NgModule({
-  imports: [
-    NgxEchartsModule.forRoot({
-      /**
-       * This will import all modules from echarts.
-       * If you only need custom modules,
-       * please refer to [Custom Build] section.
-       */
-      echarts: () => import('echarts'),
-    }),
-    CommonModule,
-    CoreUiModule,
-    MatTabsModule,
-    GridsterModule,
-    FlexLayoutModule,
-    CustomMaterialModule,
-    FormsModule,
-    ColorPickerModule,
-    MatGridListModule,
-    NgxChartsModule,
-    CdkTableModule,
-    LeafletModule,
-    PlatformServicesModule,
-    ServicesModule
-  ],
-  declarations: [
-    BarRaceWidgetComponent,
-    DashboardComponent,
-    DashboardGridComponent,
-    DashboardOverviewComponent,
-    DashboardPanelComponent,
-    DashboardWidgetComponent,
-    AddVisualizationDialogComponent,
-    EditDashboardDialogComponent,
-    AreaWidgetComponent,
-    LineWidgetComponent,
-    NumberWidgetComponent,
-    TableWidgetComponent,
-    GaugeWidgetComponent,
-    ImageWidgetComponent,
-    MapWidgetComponent,
-    RawWidgetComponent,
-    StackedLineChartWidgetComponent,
-    HtmlWidgetComponent,
-    StatusWidgetComponent,
-    TrafficLightWidgetComponent,
-    WordcloudWidgetComponent,
-    StandaloneDashboardComponent
-  ],
-  providers: [
-    DashboardService,
-    EditModeService,
-    ReloadPipelineService,
-    ResizeService,
-    RefreshDashboardService,
-    SemanticTypeUtilsService
-  ],
-  exports: [
-    DashboardComponent,
-    DashboardWidgetComponent
-  ],
-  entryComponents: [
-    DashboardComponent,
-    AddVisualizationDialogComponent,
-    EditDashboardDialogComponent,
-    StandaloneDashboardComponent
-  ]
+    imports: [
+        NgxEchartsModule.forRoot({
+            /**
+             * This will import all modules from echarts.
+             * If you only need custom modules,
+             * please refer to [Custom Build] section.
+             */
+            echarts: () => import('echarts'),
+        }),
+        CommonModule,
+        CoreUiModule,
+        MatTabsModule,
+        GridsterModule,
+        FlexLayoutModule,
+        CustomMaterialModule,
+        FormsModule,
+        ColorPickerModule,
+        MatGridListModule,
+        NgxChartsModule,
+        CdkTableModule,
+        LeafletModule,
+        PlatformServicesModule,
+        ServicesModule
+    ],
+    declarations: [
+        BarRaceWidgetComponent,
+        DashboardComponent,
+        DashboardGridComponent,
+        DashboardOverviewComponent,
+        DashboardPanelComponent,
+        DashboardWidgetComponent,
+        AddVisualizationDialogComponent,
+        EditDashboardDialogComponent,
+        AreaWidgetComponent,
+        LineWidgetComponent,
+        NumberWidgetComponent,
+        TableWidgetComponent,
+        GaugeWidgetComponent,
+        ImageWidgetComponent,
+        MapWidgetComponent,
+        RawWidgetComponent,
+        StackedLineChartWidgetComponent,
+        HtmlWidgetComponent,
+        StatusWidgetComponent,
+        TrafficLightWidgetComponent,
+        WordcloudWidgetComponent,
+        StandaloneDashboardComponent
+    ],
+    providers: [
+        DashboardService,
+        EditModeService,
+        ReloadPipelineService,
+        ResizeService,
+        RefreshDashboardService,
+        SemanticTypeUtilsService
+    ],
+    exports: [
+        DashboardComponent,
+        DashboardWidgetComponent
+    ]
 })
 export class DashboardModule {
 
diff --git a/ui/src/app/data-explorer/data-explorer.module.ts b/ui/src/app/data-explorer/data-explorer.module.ts
index 0e6020a..88824a8 100644
--- a/ui/src/app/data-explorer/data-explorer.module.ts
+++ b/ui/src/app/data-explorer/data-explorer.module.ts
@@ -120,111 +120,106 @@ export const MY_NATIVE_FORMATS = {
 
 
 @NgModule({
-  imports: [
-    CommonModule,
-    LeafletModule,
-    CoreUiModule,
-    MatTabsModule,
-    GridsterModule,
-    FlexLayoutModule,
-    CustomMaterialModule,
-    FormsModule,
-    ColorPickerModule,
-    MatGridListModule,
-    NgxChartsModule,
-    CdkTableModule,
-    MatSnackBarModule,
-    MatProgressSpinnerModule,
-    ReactiveFormsModule,
-    CoreUiModule,
-    OwlDateTimeModule,
-    OwlNativeDateTimeModule,
-    PlotlyViaWindowModule,
-    MatDatepickerModule,
-    MatNativeDateModule,
-    MatSliderModule,
-    MatSlideToggleModule,
-    MatChipsModule,
-    PlatformServicesModule,
-    NgxEchartsModule.forRoot({
-      /**
-       * This will import all modules from echarts.
-       * If you only need custom modules,
-       * please refer to [Custom Build] section.
-       */
-      echarts: () => import('echarts'),
-    }),
-  ],
-  declarations: [
-    AggregateConfigurationComponent,
-    DataDownloadDialog,
-    DataExplorerComponent,
-    DataExplorerDashboardGridComponent,
-    DataExplorerDashboardOverviewComponent,
-    DataExplorerDashboardPanelComponent,
-    DataExplorerDashboardWidgetComponent,
-    DataExplorerDesignerPanelComponent,
-    DataExplorerEditDataViewDialogComponent,
-    DataExplorerWidgetAppearanceSettingsComponent,
-    DataExplorerWidgetDataSettingsComponent,
-    CorrelationChartWidgetComponent,
-    CorrelationWidgetConfigComponent,
-    FieldSelectionPanelComponent,
-    FieldSelectionComponent,
-    FilterSelectionPanelComponent,
-    GroupConfigurationComponent,
-    ImageWidgetComponent,
-    ImageWidgetConfigComponent,
-    IndicatorChartWidgetComponent,
-    IndicatorWidgetConfigComponent,
-    TimeSeriesChartWidgetComponent,
-    TimeSeriesChartWidgetConfigComponent,
-    LoadDataSpinnerComponent,
-    NoDataInDateRangeComponent,
-    DistributionChartWidgetComponent,
-    DistributionWidgetConfigComponent,
-    SelectPropertiesComponent,
-    SelectColorPropertiesComponent,
-    SelectPropertyComponent,
-    SpValueHeatmapComponent,
-    TableWidgetComponent,
-    TableWidgetConfigComponent,
-    MapWidgetConfigComponent,
-    MapWidgetComponent,
-    HeatmapWidgetConfigComponent,
-    HeatmapWidgetComponent,
-    TimeRangeSelectorComponent,
-    DataExplorerVisualisationSettingsComponent,
-    GroupSelectionPanelComponent,
-    DataExplorerVisualisationSettingsComponent,
-    WidgetDirective,
-    TooMuchDataComponent,
-  ],
-  providers: [
-    DatalakeRestService,
-    SharedDatalakeRestService,
-    DataExplorerFieldProviderService,
-    DataViewDataExplorerService,
-    DataViewQueryGeneratorService,
-    ResizeService,
-    ColorService,
-    RefreshDashboardService,
-    SemanticTypeUtilsService,
-    TimeSelectionService,
-    WidgetConfigurationService,
-    WidgetTypeService,
-    {
-      provide: OWL_DATE_TIME_FORMATS, useValue: MY_NATIVE_FORMATS
-    }
-  ],
-  exports: [
-    DataExplorerComponent
-  ],
-  entryComponents: [
-    DataExplorerComponent,
-    DataDownloadDialog,
-    DataExplorerEditDataViewDialogComponent
-  ]
+    imports: [
+        CommonModule,
+        LeafletModule,
+        CoreUiModule,
+        MatTabsModule,
+        GridsterModule,
+        FlexLayoutModule,
+        CustomMaterialModule,
+        FormsModule,
+        ColorPickerModule,
+        MatGridListModule,
+        NgxChartsModule,
+        CdkTableModule,
+        MatSnackBarModule,
+        MatProgressSpinnerModule,
+        ReactiveFormsModule,
+        CoreUiModule,
+        OwlDateTimeModule,
+        OwlNativeDateTimeModule,
+        PlotlyViaWindowModule,
+        MatDatepickerModule,
+        MatNativeDateModule,
+        MatSliderModule,
+        MatSlideToggleModule,
+        MatChipsModule,
+        PlatformServicesModule,
+        NgxEchartsModule.forRoot({
+            /**
+             * This will import all modules from echarts.
+             * If you only need custom modules,
+             * please refer to [Custom Build] section.
+             */
+            echarts: () => import('echarts'),
+        }),
+    ],
+    declarations: [
+        AggregateConfigurationComponent,
+        DataDownloadDialog,
+        DataExplorerComponent,
+        DataExplorerDashboardGridComponent,
+        DataExplorerDashboardOverviewComponent,
+        DataExplorerDashboardPanelComponent,
+        DataExplorerDashboardWidgetComponent,
+        DataExplorerDesignerPanelComponent,
+        DataExplorerEditDataViewDialogComponent,
+        DataExplorerWidgetAppearanceSettingsComponent,
+        DataExplorerWidgetDataSettingsComponent,
+        CorrelationChartWidgetComponent,
+        CorrelationWidgetConfigComponent,
+        FieldSelectionPanelComponent,
+        FieldSelectionComponent,
+        FilterSelectionPanelComponent,
+        GroupConfigurationComponent,
+        ImageWidgetComponent,
+        ImageWidgetConfigComponent,
+        IndicatorChartWidgetComponent,
+        IndicatorWidgetConfigComponent,
+        TimeSeriesChartWidgetComponent,
+        TimeSeriesChartWidgetConfigComponent,
+        LoadDataSpinnerComponent,
+        NoDataInDateRangeComponent,
+        DistributionChartWidgetComponent,
+        DistributionWidgetConfigComponent,
+        SelectPropertiesComponent,
+        SelectColorPropertiesComponent,
+        SelectPropertyComponent,
+        SpValueHeatmapComponent,
+        TableWidgetComponent,
+        TableWidgetConfigComponent,
+        MapWidgetConfigComponent,
+        MapWidgetComponent,
+        HeatmapWidgetConfigComponent,
+        HeatmapWidgetComponent,
+        TimeRangeSelectorComponent,
+        DataExplorerVisualisationSettingsComponent,
+        GroupSelectionPanelComponent,
+        DataExplorerVisualisationSettingsComponent,
+        WidgetDirective,
+        TooMuchDataComponent,
+    ],
+    providers: [
+        DatalakeRestService,
+        SharedDatalakeRestService,
+        DataExplorerFieldProviderService,
+        DataViewDataExplorerService,
+        DataViewQueryGeneratorService,
+        ResizeService,
+        ColorService,
+        RefreshDashboardService,
+        SemanticTypeUtilsService,
+        TimeSelectionService,
+        WidgetConfigurationService,
+        WidgetTypeService,
+        {
+            provide: OWL_DATE_TIME_FORMATS, useValue: MY_NATIVE_FORMATS
+        }
+    ],
+    exports: [
+        DataExplorerComponent
+    ]
 })
 export class DataExplorerModule {
 
diff --git a/ui/src/app/editor/editor.module.ts b/ui/src/app/editor/editor.module.ts
index cf19419..266b0fd 100644
--- a/ui/src/app/editor/editor.module.ts
+++ b/ui/src/app/editor/editor.module.ts
@@ -74,78 +74,75 @@ import { PipelineElementGroupFilterPipe } from "./services/pipeline-element-grou
 
 
 @NgModule({
-  imports: [
-    CoreUiModule,
-    CommonModule,
-    ConnectModule,
-    MatTabsModule,
-    MatListModule,
-    FlexLayoutModule,
-    GridsterModule,
-    CommonModule,
-    FlexLayoutModule,
-    CustomMaterialModule,
-    FormsModule,
-    MatProgressSpinnerModule,
-    ShowdownModule,
-    ReactiveFormsModule,
-    PlatformServicesModule,
-  ],
-  declarations: [
-    CompatibleElementsComponent,
-    CustomizeComponent,
-    CustomOutputStrategyComponent,
-    EditorComponent,
-    EnabledPipelineElementFilter,
-    HelpComponent,
-    MatchingErrorComponent,
-    MissingElementsForTutorialComponent,
-    OutputStrategyComponent,
-    UserDefinedOutputStrategyComponent,
-    PipelineAssemblyComponent,
-    PipelineElementComponent,
-    PipelineElementDiscoveryComponent,
-    PipelineElementDocumentationComponent,
-    PipelineElementIconStandComponent,
-    PipelineElementIconStandRowComponent,
-    PipelineElementGroupFilterPipe,
-    PipelineElementNameFilterPipe,
-    PipelineElementOptionsComponent,
-    PipelineElementPreviewComponent,
-    PipelineElementRecommendationComponent,
-    PipelineElementTemplateConfigComponent,
-    PipelineElementTypeFilterPipe,
-    PipelineComponent,
-    PropertySelectionComponent,
-    SavePipelineComponent,
-    SafeCss,
-    WelcomeTourComponent
-  ],
-  providers: [
-    EditorService,
-    SemanticTypeUtilsService,
-    JsplumbFactoryService,
-    JsplumbEndpointService,
-    JsplumbService,
-    JsplumbConfigService,
-    ObjectProvider,
-    PipelineCanvasScrollingService,
-    PipelineElementDraggedService,
-    PipelineEditorService,
-    PipelinePositioningService,
-    PipelineStyleService,
-    PipelineValidationService,
-    PipelineElementRecommendationService,
-    SafeCss,
-  ],
-  exports: [
-    EditorComponent,
-    PipelineComponent,
-    PipelineElementComponent
-  ],
-  entryComponents: [
-    EditorComponent
-  ]
+    imports: [
+        CoreUiModule,
+        CommonModule,
+        ConnectModule,
+        MatTabsModule,
+        MatListModule,
+        FlexLayoutModule,
+        GridsterModule,
+        CommonModule,
+        FlexLayoutModule,
+        CustomMaterialModule,
+        FormsModule,
+        MatProgressSpinnerModule,
+        ShowdownModule,
+        ReactiveFormsModule,
+        PlatformServicesModule,
+    ],
+    declarations: [
+        CompatibleElementsComponent,
+        CustomizeComponent,
+        CustomOutputStrategyComponent,
+        EditorComponent,
+        EnabledPipelineElementFilter,
+        HelpComponent,
+        MatchingErrorComponent,
+        MissingElementsForTutorialComponent,
+        OutputStrategyComponent,
+        UserDefinedOutputStrategyComponent,
+        PipelineAssemblyComponent,
+        PipelineElementComponent,
+        PipelineElementDiscoveryComponent,
+        PipelineElementDocumentationComponent,
+        PipelineElementIconStandComponent,
+        PipelineElementIconStandRowComponent,
+        PipelineElementGroupFilterPipe,
+        PipelineElementNameFilterPipe,
+        PipelineElementOptionsComponent,
+        PipelineElementPreviewComponent,
+        PipelineElementRecommendationComponent,
+        PipelineElementTemplateConfigComponent,
+        PipelineElementTypeFilterPipe,
+        PipelineComponent,
+        PropertySelectionComponent,
+        SavePipelineComponent,
+        SafeCss,
+        WelcomeTourComponent
+    ],
+    providers: [
+        EditorService,
+        SemanticTypeUtilsService,
+        JsplumbFactoryService,
+        JsplumbEndpointService,
+        JsplumbService,
+        JsplumbConfigService,
+        ObjectProvider,
+        PipelineCanvasScrollingService,
+        PipelineElementDraggedService,
+        PipelineEditorService,
+        PipelinePositioningService,
+        PipelineStyleService,
+        PipelineValidationService,
+        PipelineElementRecommendationService,
+        SafeCss,
+    ],
+    exports: [
+        EditorComponent,
+        PipelineComponent,
+        PipelineElementComponent
+    ]
 })
 export class EditorModule {
 
diff --git a/ui/src/app/files/files.module.ts b/ui/src/app/files/files.module.ts
index 17564f1..7bccd09 100644
--- a/ui/src/app/files/files.module.ts
+++ b/ui/src/app/files/files.module.ts
@@ -41,37 +41,34 @@ import { MatTooltipModule } from '@angular/material/tooltip';
 import { PlatformServicesModule } from '@streampipes/platform-services';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    CoreUiModule,
-    FlexLayoutModule,
-    FormsModule,
-    ReactiveFormsModule,
-    MatButtonModule,
-    MatChipsModule,
-    MatFormFieldModule,
-    MatGridListModule,
-    MatIconModule,
-    MatInputModule,
-    MatDividerModule,
-    MatListModule,
-    MatPaginatorModule,
-    MatProgressBarModule,
-    MatTableModule,
-    MatTabsModule,
-    MatTooltipModule,
-    PlatformServicesModule,
-    ServicesModule
-  ],
-  declarations: [
-    FilesComponent,
-    FileOverviewComponent,
-    FileUploadDialogComponent
-  ],
-  providers: [],
-  entryComponents: [
-    FilesComponent
-  ]
+    imports: [
+        CommonModule,
+        CoreUiModule,
+        FlexLayoutModule,
+        FormsModule,
+        ReactiveFormsModule,
+        MatButtonModule,
+        MatChipsModule,
+        MatFormFieldModule,
+        MatGridListModule,
+        MatIconModule,
+        MatInputModule,
+        MatDividerModule,
+        MatListModule,
+        MatPaginatorModule,
+        MatProgressBarModule,
+        MatTableModule,
+        MatTabsModule,
+        MatTooltipModule,
+        PlatformServicesModule,
+        ServicesModule
+    ],
+    declarations: [
+        FilesComponent,
+        FileOverviewComponent,
+        FileUploadDialogComponent
+    ],
+    providers: []
 })
 export class FilesModule {
 }
diff --git a/ui/src/app/home/home.module.ts b/ui/src/app/home/home.module.ts
index 0460b40..c970700 100644
--- a/ui/src/app/home/home.module.ts
+++ b/ui/src/app/home/home.module.ts
@@ -46,9 +46,6 @@ import { PlatformServicesModule } from '@streampipes/platform-services';
     ],
     providers: [
         HomeService
-    ],
-    entryComponents: [
-        HomeComponent
     ]
 })
 export class HomeModule {
diff --git a/ui/src/app/info/info.module.ts b/ui/src/app/info/info.module.ts
index fa7bfe6..4f7efa8 100644
--- a/ui/src/app/info/info.module.ts
+++ b/ui/src/app/info/info.module.ts
@@ -55,10 +55,7 @@ import { VersionsComponent } from './versions/versions.component';
         VersionsComponent,
         AboutComponent
     ],
-    providers: [],
-    entryComponents: [
-        InfoComponent
-    ]
+    providers: []
 })
 export class InfoModule {
 }
diff --git a/ui/src/app/login/login.module.ts b/ui/src/app/login/login.module.ts
index 1a905fd..f6808c8 100644
--- a/ui/src/app/login/login.module.ts
+++ b/ui/src/app/login/login.module.ts
@@ -45,44 +45,39 @@ import { AccountActivationService } from './services/account-activation.service'
 import { PlatformServicesModule } from '@streampipes/platform-services';
 
 @NgModule({
-  imports: [
-    AppRoutingModule,
-    CommonModule,
-    FlexLayoutModule,
-    FormsModule,
-    MatButtonModule,
-    MatCardModule,
-    MatDividerModule,
-    MatGridListModule,
-    MatIconModule,
-    MatInputModule,
-    MatProgressSpinnerModule,
-    MatCheckboxModule,
-    MatFormFieldModule,
-    ReactiveFormsModule,
-    MatProgressBarModule,
-    PlatformServicesModule
-  ],
-  declarations: [
-    ActivateAccountComponent,
-    AuthBoxComponent,
-    LoginComponent,
-    RegisterComponent,
-    RestorePasswordComponent,
-    SetNewPasswordComponent,
-    SetupComponent,
-    StartupComponent,
-  ],
-  providers: [
-    AccountActivationService,
-    LoginService,
-    RestorePasswordService
-  ],
-  entryComponents: [
-    LoginComponent,
-    SetupComponent,
-    StartupComponent
-  ]
+    imports: [
+        AppRoutingModule,
+        CommonModule,
+        FlexLayoutModule,
+        FormsModule,
+        MatButtonModule,
+        MatCardModule,
+        MatDividerModule,
+        MatGridListModule,
+        MatIconModule,
+        MatInputModule,
+        MatProgressSpinnerModule,
+        MatCheckboxModule,
+        MatFormFieldModule,
+        ReactiveFormsModule,
+        MatProgressBarModule,
+        PlatformServicesModule
+    ],
+    declarations: [
+        ActivateAccountComponent,
+        AuthBoxComponent,
+        LoginComponent,
+        RegisterComponent,
+        RestorePasswordComponent,
+        SetNewPasswordComponent,
+        SetupComponent,
+        StartupComponent,
+    ],
+    providers: [
+        AccountActivationService,
+        LoginService,
+        RestorePasswordService
+    ]
 })
 export class LoginModule {
 }
diff --git a/ui/src/app/notifications/notifications.module.ts b/ui/src/app/notifications/notifications.module.ts
index 9e426f2..1882aac 100644
--- a/ui/src/app/notifications/notifications.module.ts
+++ b/ui/src/app/notifications/notifications.module.ts
@@ -29,30 +29,27 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
 import { PlatformServicesModule } from '@streampipes/platform-services';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    MatProgressSpinnerModule,
-    MatTabsModule,
-    FlexLayoutModule,
-    CommonModule,
-    FlexLayoutModule,
-    CustomMaterialModule,
-    FormsModule,
-    PlatformServicesModule
-  ],
-  declarations: [
-    NotificationsComponent,
-    NotificationItemComponent
-  ],
-  providers: [
-    NotificationsService
-  ],
-  exports: [
-    NotificationsComponent
-  ],
-  entryComponents: [
-    NotificationsComponent,
-  ]
+    imports: [
+        CommonModule,
+        MatProgressSpinnerModule,
+        MatTabsModule,
+        FlexLayoutModule,
+        CommonModule,
+        FlexLayoutModule,
+        CustomMaterialModule,
+        FormsModule,
+        PlatformServicesModule
+    ],
+    declarations: [
+        NotificationsComponent,
+        NotificationItemComponent
+    ],
+    providers: [
+        NotificationsService
+    ],
+    exports: [
+        NotificationsComponent
+    ]
 })
 export class NotificationModule {
 
diff --git a/ui/src/app/pipeline-details/pipeline-details.module.ts b/ui/src/app/pipeline-details/pipeline-details.module.ts
index e798733..8978f7d 100644
--- a/ui/src/app/pipeline-details/pipeline-details.module.ts
+++ b/ui/src/app/pipeline-details/pipeline-details.module.ts
@@ -41,41 +41,38 @@ import { StatusWidgetComponent } from './components/monitoring/widget/status/sta
 import { PlatformServicesModule } from '@streampipes/platform-services';
 
 @NgModule({
-  imports: [
-    CoreUiModule,
-    FlexLayoutModule,
-    FormsModule,
-    MatTabsModule,
-    MatButtonModule,
-    CustomMaterialModule,
-    CommonModule,
-    MatProgressSpinnerModule,
-    NgxChartsModule,
-    EditorModule,
-    FormsModule,
-    ReactiveFormsModule,
-    PlatformServicesModule
-  ],
-  declarations: [
-    PipelineActionsComponent,
-    PipelineElementsComponent,
-    PipelineElementsRowComponent,
-    PipelineElementStatisticsComponent,
-    PipelineDetailsComponent,
-    PipelineMonitoringComponent,
-    PipelineStatusComponent,
-    PipelinePreviewComponent,
-    QuickEditComponent,
-    StatusWidgetComponent,
-    BarchartWidgetComponent
-  ],
-  providers: [],
-  exports: [
-    PipelineDetailsComponent
-  ],
-  entryComponents: [
-    PipelineDetailsComponent
-  ]
+    imports: [
+        CoreUiModule,
+        FlexLayoutModule,
+        FormsModule,
+        MatTabsModule,
+        MatButtonModule,
+        CustomMaterialModule,
+        CommonModule,
+        MatProgressSpinnerModule,
+        NgxChartsModule,
+        EditorModule,
+        FormsModule,
+        ReactiveFormsModule,
+        PlatformServicesModule
+    ],
+    declarations: [
+        PipelineActionsComponent,
+        PipelineElementsComponent,
+        PipelineElementsRowComponent,
+        PipelineElementStatisticsComponent,
+        PipelineDetailsComponent,
+        PipelineMonitoringComponent,
+        PipelineStatusComponent,
+        PipelinePreviewComponent,
+        QuickEditComponent,
+        StatusWidgetComponent,
+        BarchartWidgetComponent
+    ],
+    providers: [],
+    exports: [
+        PipelineDetailsComponent
+    ]
 })
 export class PipelineDetailsModule {
 
diff --git a/ui/src/app/pipelines/pipelines.module.ts b/ui/src/app/pipelines/pipelines.module.ts
index c8cc8ff..3f3a931 100644
--- a/ui/src/app/pipelines/pipelines.module.ts
+++ b/ui/src/app/pipelines/pipelines.module.ts
@@ -41,42 +41,39 @@ import { CoreUiModule } from '../core-ui/core-ui.module';
 import { PlatformServicesModule } from '@streampipes/platform-services';
 
 @NgModule({
-  imports: [
-    FlexLayoutModule,
-    FormsModule,
-    MatTabsModule,
-    MatButtonModule,
-    CustomMaterialModule,
-    CommonModule,
-    MatProgressSpinnerModule,
-    MatSortModule,
-    MatTableModule,
-    CoreUiModule,
-    PlatformServicesModule,
-  ],
-  declarations: [
-    DeletePipelineDialogComponent,
-    ImportPipelineDialogComponent,
-    PipelinesComponent,
-    PipelineCategoriesDialogComponent,
-    PipelineNotificationsComponent,
-    PipelineOverviewComponent,
-    PipelineStatusDialogComponent,
-    StartAllPipelinesDialogComponent,
-    PipelineInCategoryPipe,
-    CategoryAlreadyInPipelinePipe
-  ],
-  providers: [
-    PipelineOperationsService,
-    CategoryAlreadyInPipelinePipe,
-    PipelineInCategoryPipe
-  ],
-  exports: [
-    PipelinesComponent
-  ],
-  entryComponents: [
-    PipelinesComponent
-  ]
+    imports: [
+        FlexLayoutModule,
+        FormsModule,
+        MatTabsModule,
+        MatButtonModule,
+        CustomMaterialModule,
+        CommonModule,
+        MatProgressSpinnerModule,
+        MatSortModule,
+        MatTableModule,
+        CoreUiModule,
+        PlatformServicesModule,
+    ],
+    declarations: [
+        DeletePipelineDialogComponent,
+        ImportPipelineDialogComponent,
+        PipelinesComponent,
+        PipelineCategoriesDialogComponent,
+        PipelineNotificationsComponent,
+        PipelineOverviewComponent,
+        PipelineStatusDialogComponent,
+        StartAllPipelinesDialogComponent,
+        PipelineInCategoryPipe,
+        CategoryAlreadyInPipelinePipe
+    ],
+    providers: [
+        PipelineOperationsService,
+        CategoryAlreadyInPipelinePipe,
+        PipelineInCategoryPipe
+    ],
+    exports: [
+        PipelinesComponent
+    ]
 })
 export class PipelinesModule {
 
diff --git a/ui/src/app/profile/profile.module.ts b/ui/src/app/profile/profile.module.ts
index 41305e4..1d908e6 100644
--- a/ui/src/app/profile/profile.module.ts
+++ b/ui/src/app/profile/profile.module.ts
@@ -35,35 +35,32 @@ import { ChangePasswordDialogComponent } from './dialog/change-password/change-p
 import { ChangeEmailDialogComponent } from './dialog/change-email/change-email-dialog.component';
 
 @NgModule({
-  imports: [
-    FlexLayoutModule,
-    FormsModule,
-    ReactiveFormsModule,
-    MatDividerModule,
-    MatTabsModule,
-    MatButtonModule,
-    CustomMaterialModule,
-    CommonModule,
-    ClipboardModule,
-    CoreUiModule,
-    PlatformServicesModule
-  ],
-  declarations: [
-    ChangeEmailDialogComponent,
-    ChangePasswordDialogComponent,
-    GeneralProfileSettingsComponent,
-    ProfileComponent,
-    TokenManagementSettingsComponent
-  ],
-  providers: [
-    ProfileService
-  ],
-  exports: [
-    ProfileComponent
-  ],
-  entryComponents: [
-    ProfileComponent
-  ]
+    imports: [
+        FlexLayoutModule,
+        FormsModule,
+        ReactiveFormsModule,
+        MatDividerModule,
+        MatTabsModule,
+        MatButtonModule,
+        CustomMaterialModule,
+        CommonModule,
+        ClipboardModule,
+        CoreUiModule,
+        PlatformServicesModule
+    ],
+    declarations: [
+        ChangeEmailDialogComponent,
+        ChangePasswordDialogComponent,
+        GeneralProfileSettingsComponent,
+        ProfileComponent,
+        TokenManagementSettingsComponent
+    ],
+    providers: [
+        ProfileService
+    ],
+    exports: [
+        ProfileComponent
+    ]
 })
 export class ProfileModule {
 
diff --git a/ui/src/app/services/services.module.ts b/ui/src/app/services/services.module.ts
index 7e41210..c27c7de 100644
--- a/ui/src/app/services/services.module.ts
+++ b/ui/src/app/services/services.module.ts
@@ -30,23 +30,22 @@ import { PlatformServicesModule } from '@streampipes/platform-services';
 import { SecurePipe } from "./secure.pipe";
 
 @NgModule({
-  imports: [],
-  declarations: [SecurePipe],
-  providers: [
-    AppConstants,
-    RestApi,
-    AuthService,
-    ElementIconText,
-    JwtTokenStorageService,
-    ShepherdService,
-    TourProviderService,
-    NotificationCountService,
-    PropertySelectorService,
-    PlatformServicesModule,
-    SecurePipe,
-  ],
-  entryComponents: [],
-  exports: [SecurePipe]
+    imports: [],
+    declarations: [SecurePipe],
+    providers: [
+        AppConstants,
+        RestApi,
+        AuthService,
+        ElementIconText,
+        JwtTokenStorageService,
+        ShepherdService,
+        TourProviderService,
+        NotificationCountService,
+        PropertySelectorService,
+        PlatformServicesModule,
+        SecurePipe,
+    ],
+    exports: [SecurePipe]
 })
 export class ServicesModule {
 }
diff --git a/ui/src/polyfills.ts b/ui/src/polyfills.ts
index 50efa68..0391f07 100644
--- a/ui/src/polyfills.ts
+++ b/ui/src/polyfills.ts
@@ -41,13 +41,6 @@ let __zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mouseenter', 'mouseleave',
 let __Zone_disable_PromiseRejectionEvent = true;
 
 
-/**
- * Required to support Web Animations `@angular/platform-browser/animations`.
- * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
- **/
-// import 'web-animations-js';  // Run `npm install --save web-animations-js`.
-
-
 
 /***************************************************************************************************
  * Zone JS is required by default for Angular itself.
diff --git a/ui/src/test.ts b/ui/src/test.ts
index 0b05cf1..6c1f1ac 100644
--- a/ui/src/test.ts
+++ b/ui/src/test.ts
@@ -30,7 +30,9 @@ declare const require: any;
 // First, initialize the Angular testing environment.
 getTestBed().initTestEnvironment(
     BrowserDynamicTestingModule,
-    platformBrowserDynamicTesting()
+    platformBrowserDynamicTesting(), {
+    teardown: { destroyAfterEach: false }
+}
 );
 // Then we find all the tests.
 const context = require.context('./', true, /\.spec\.ts$/);