METRON-1476 Update to Angular 6.1.3 (sardell via nickwallen) closes 
apache/metron#1096


Project: http://git-wip-us.apache.org/repos/asf/metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/33792c24
Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/33792c24
Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/33792c24

Branch: refs/heads/feature/METRON-1699-create-batch-profiler
Commit: 33792c2411099d530998ee827c2cd5dc7ba5e4a0
Parents: a97e575
Author: sardell <sard...@hortonworks.com>
Authored: Thu Sep 13 15:23:22 2018 -0400
Committer: nickallen <nickal...@apache.org>
Committed: Thu Sep 13 15:23:22 2018 -0400

----------------------------------------------------------------------
 .gitignore                                      |     8 +
 .../docker/rpm-docker/SPECS/metron.spec         |     4 +-
 metron-interface/metron-alerts/.gitignore       |    49 +-
 metron-interface/metron-alerts/.nvmrc           |     1 +
 metron-interface/metron-alerts/README.md        |    16 +-
 metron-interface/metron-alerts/angular-cli.json |    65 -
 metron-interface/metron-alerts/angular.json     |   153 +
 .../metron-alerts/e2e/tsconfig.json             |    17 +-
 metron-interface/metron-alerts/karma.conf.js    |    18 +-
 .../metron-alerts/package-lock.json             | 24238 ++++++++++++-----
 metron-interface/metron-alerts/package.json     |    65 +-
 metron-interface/metron-alerts/pom.xml          |     6 +-
 .../metron-alerts/protractor.conf.js            |    12 +-
 .../scripts/prepend_license_header.sh           |     2 +-
 .../metron-alerts/scripts/start-dev.sh          |     2 +-
 .../scripts/start-server-for-e2e.sh             |     2 +-
 .../alert-details/alert-details.component.ts    |     2 +-
 .../alerts/alerts-list/alerts-list.component.ts |     6 +-
 .../table-view/table-view.component.spec.ts     |    21 +-
 .../table-view/table-view.component.ts          |     2 +-
 .../alerts-list/tree-view/tree-group-data.ts    |     2 +-
 .../tree-view/tree-view.component.spec.ts       |     6 +-
 .../tree-view/tree-view.component.ts            |     2 +-
 .../configure-table.component.ts                |     4 +-
 .../alerts/meta-alerts/meta-alerts.component.ts |     2 +-
 .../saved-searches.component.spec.ts            |     9 +-
 .../saved-searches/saved-searches.component.ts  |     5 +-
 .../metron-alerts/src/app/app-routing.module.ts |     2 +-
 .../metron-alerts/src/app/app.component.spec.ts |     4 +-
 .../metron-alerts/src/app/app.module.ts         |     8 +-
 .../default-headers.interceptor.ts              |    34 +
 .../src/app/login/login.component.spec.ts       |     4 +-
 .../metron-alerts/src/app/model/rest-error.ts   |     4 +-
 .../pcap/pcap-filters/pcap-filters.component.ts |     5 +-
 .../pcap-panel/pcap-panel.component.spec.ts     |     9 +-
 .../app/pcap/pcap-panel/pcap-panel.component.ts |     4 +-
 .../metron-alerts/src/app/pcap/pcap.module.ts   |    14 +-
 .../src/app/pcap/service/pcap.service.spec.ts   |   236 +-
 .../src/app/pcap/service/pcap.service.ts        |   115 +-
 .../src/app/service/alerts.service.ts           |    17 +-
 .../src/app/service/authentication.service.ts   |    44 +-
 .../src/app/service/cluster-metadata.service.ts |     9 +-
 .../src/app/service/column-names.service.ts     |     6 +-
 .../src/app/service/configure-table.service.ts  |     8 +-
 .../src/app/service/data-source.ts              |     7 +-
 .../service/elasticsearch-localstorage-impl.ts  |    36 +-
 .../src/app/service/global-config.service.ts    |    21 +-
 .../src/app/service/meta-alert.service.ts       |    43 +-
 .../src/app/service/save-search.service.ts      |     8 +-
 .../src/app/service/search.service.ts           |    54 +-
 .../src/app/service/update.service.ts           |    41 +-
 .../metron-alerts/src/app/shared/auth-guard.ts  |     2 +-
 .../metron-alerts/src/app/shared/index.ts       |    18 -
 .../src/app/utils/elasticsearch-utils.ts        |     4 +-
 .../metron-alerts/src/app/utils/httpUtil.ts     |    21 +-
 .../metron-alerts/src/global-shim.ts            |    18 +
 metron-interface/metron-alerts/src/main.ts      |     5 +-
 metron-interface/metron-alerts/src/polyfills.ts |     2 +
 .../metron-alerts/src/tsconfig.app.json         |     3 +
 .../metron-alerts/src/tsconfig.spec.json        |     3 +-
 metron-interface/metron-config/README.md        |     5 +-
 61 files changed, 17563 insertions(+), 7970 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 12fd7cd..a0b9691 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,11 @@ temp/**
 temp/**/*
 metron-interface/metron-alerts/node/
 repodata/
+
+# IDE - VSCode
+.vscode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec 
b/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
index 1e63473..fca0949 100644
--- a/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
+++ b/metron-deployment/packaging/docker/rpm-docker/SPECS/metron.spec
@@ -519,7 +519,7 @@ This package installs the Metron Alerts UI %{metron_home}
 %attr(0755,root,root) %{metron_home}/web/expressjs/alerts-server.js
 %attr(0644,root,root) %{metron_home}/web/alerts-ui/favicon.ico
 %attr(0644,root,root) %{metron_home}/web/alerts-ui/index.html
-%attr(0644,root,root) %{metron_home}/web/alerts-ui/*.bundle.css
+%attr(0644,root,root) %{metron_home}/web/alerts-ui/styles.*.css
 %attr(0644,root,root) %{metron_home}/web/alerts-ui/*.js
 %attr(0644,root,root) %{metron_home}/web/alerts-ui/*.ttf
 %attr(0644,root,root) %{metron_home}/web/alerts-ui/*.svg
@@ -546,6 +546,8 @@ chkconfig --del metron-management-ui
 chkconfig --del metron-alerts-ui
 
 %changelog
+* Thu Aug 30 2018 Apache Metron <d...@metron.apache.org> - 0.5.1
+- Update compiled css file name for Alerts UI
 * Thu Feb 1 2018 Apache Metron <d...@metron.apache.org> - 0.4.3
 - Add Solr install script to Solr RPM
 * Tue Sep 25 2017 Apache Metron <d...@metron.apache.org> - 0.4.2

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/.gitignore
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/.gitignore 
b/metron-interface/metron-alerts/.gitignore
index 703c7a9..2e62490 100644
--- a/metron-interface/metron-alerts/.gitignore
+++ b/metron-interface/metron-alerts/.gitignore
@@ -1,6 +1,45 @@
-# Created by .ignore support plugin (hsz.mobi)
-.idea/
+# See http://help.github.com/ignore-files/ for more about ignoring files.
+
+# compiled output
+/dist
+/dist-server
+/tmp
+/out-tsc
+
+# dependencies
+/node_modules
+
+# IDEs and editors
+/.idea
+.project
+.classpath
+.c9/
+*.launch
+.settings/
+*.sublime-workspace
+
+# IDE - VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+# misc
+/.sass-cache
+/connect.lock
+/coverage
+/libpeerconnection.log
 metron-alerts.iml
-node_modules/
-/dist/
-coverage
+npm-debug.log
+yarn-error.log
+testem.log
+/typings
+
+# e2e
+/e2e/*.js
+/e2e/*.map
+
+# System Files
+.DS_Store
+Thumbs.db

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/.nvmrc
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/.nvmrc 
b/metron-interface/metron-alerts/.nvmrc
new file mode 100644
index 0000000..0a7b8bc
--- /dev/null
+++ b/metron-interface/metron-alerts/.nvmrc
@@ -0,0 +1 @@
+v9.11.1

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/README.md
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/README.md 
b/metron-interface/metron-alerts/README.md
index 528878c..9699903 100644
--- a/metron-interface/metron-alerts/README.md
+++ b/metron-interface/metron-alerts/README.md
@@ -44,8 +44,8 @@ Alerts that are contained in a a meta alert are generally 
excluded from search r
 * Elasticsearch or Solr should have some alerts populated by Metron 
topologies, depending on which real-time store is enabled
 * The Management UI should be installed (which includes 
[Express](https://expressjs.com/))
 * The alerts can be populated using Full Dev or any other setup
-* UI is developed using angular4 and uses angular-cli
-* node.JS >= 7.8.0
+* UI is developed using Angular 6 and uses Angular CLI. 
+* nvm (or a similar node verison manager) should be installed. The node 
version required for this project is listed in the 
[.nvmrc](https://github.com/creationix/nvm#nvmrc) file.
 
 ## Installation
 
@@ -122,11 +122,19 @@ The application will be available at http://host:4201 
assuming the port is set t
 
 ## Development Setup
 
-1. Install all the dependent node_modules using the following command
+1. Switch to the correct node version and install all the dependent 
node_modules using the following commands
     ```
     cd metron/metron-interface/metron-alerts
-    npm install
+    nvm use
+    npm ci
     ```
+
+    You're probably wondering why we use the `ci` command instead of 
`install`. By design, `npm install` will change the lock file every time it is 
ran. This happens whether or not dependencies have a new release or not because 
`npm install` still updates a unique identifier within the lock file.
+
+    To prevent the lock file from being changed, run the `ci` command. This 
installs the modules listed in the lock file without updating it. The only case 
when you should run `npm install` is when you want to add a new dependency to 
the application. You can update dependencies with the `npm update` command.
+
+    `nvm use` will ensure your local node version matches the one specified in 
the `.nvmrc` file. It doesn't necessarily mean that you'll have an npm version 
installed which includes the `ci` command. Make sure you have the latest npm 
version which comes with the `ci` command.
+
 1. UI can be run by using the following command
     ```
     ./scripts/start-dev.sh

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/angular-cli.json
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/angular-cli.json 
b/metron-interface/metron-alerts/angular-cli.json
deleted file mode 100644
index 833a778..0000000
--- a/metron-interface/metron-alerts/angular-cli.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
-  "project": {
-    "name": "metron-alerts"
-  },
-  "apps": [
-    {
-      "root": "src",
-      "outDir": "dist",
-      "assets": [
-        "assets",
-        "favicon.ico"
-      ],
-      "index": "index.html",
-      "main": "main.ts",
-      "polyfills": "polyfills.ts",
-      "test": "test.ts",
-      "tsconfig": "tsconfig.app.json",
-      "testTsconfig": "tsconfig.spec.json",
-      "prefix": "app",
-      "styles": [
-        "../node_modules/font-awesome/css/font-awesome.css",
-        "../node_modules/dragula/dist/dragula.css",
-        "vendor.scss",
-        "styles.scss"
-      ],
-      "scripts": [
-        "../node_modules/jquery/dist/jquery.js",
-        "../node_modules/tether/dist/js/tether.js",
-        "../node_modules/ace-builds/src-noconflict/ace.js"
-      ],
-      "environmentSource": "environments/environment.ts",
-      "environments": {
-        "dev": "environments/environment.ts",
-        "prod": "environments/environment.prod.ts",
-        "e2e": "environments/environment.e2e.ts"
-      }
-    }
-  ],
-  "e2e": {
-    "protractor": {
-      "config": "./protractor.conf.js"
-    }
-  },
-  "lint": [
-    {
-      "project": "src/tsconfig.app.json"
-    },
-    {
-      "project": "src/tsconfig.spec.json"
-    },
-    {
-      "project": "e2e/tsconfig.e2e.json"
-    }
-  ],
-  "test": {
-    "karma": {
-      "config": "./karma.conf.js"
-    }
-  },
-  "defaults": {
-    "styleExt": "scss",
-    "component": {}
-  }
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/angular.json
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/angular.json 
b/metron-interface/metron-alerts/angular.json
new file mode 100644
index 0000000..0cad417
--- /dev/null
+++ b/metron-interface/metron-alerts/angular.json
@@ -0,0 +1,153 @@
+{
+  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+  "version": 1,
+  "newProjectRoot": "projects",
+  "projects": {
+    "metron-alerts": {
+      "root": "",
+      "sourceRoot": "src",
+      "projectType": "application",
+      "architect": {
+        "build": {
+          "builder": "@angular-devkit/build-angular:browser",
+          "options": {
+            "outputPath": "dist",
+            "index": "src/index.html",
+            "main": "src/main.ts",
+            "tsConfig": "src/tsconfig.app.json",
+            "polyfills": "src/polyfills.ts",
+            "assets": [
+              "src/assets",
+              "src/favicon.ico"
+            ],
+            "styles": [
+              "node_modules/font-awesome/css/font-awesome.css",
+              "node_modules/dragula/dist/dragula.css",
+              "src/vendor.scss",
+              "src/styles.scss"
+            ],
+            "scripts": [
+              "node_modules/jquery/dist/jquery.js",
+              "node_modules/tether/dist/js/tether.js",
+              "node_modules/ace-builds/src-noconflict/ace.js"
+            ]
+          },
+          "configurations": {
+            "production": {
+              "optimization": true,
+              "outputHashing": "all",
+              "sourceMap": false,
+              "extractCss": true,
+              "namedChunks": false,
+              "aot": true,
+              "extractLicenses": true,
+              "vendorChunk": false,
+              "buildOptimizer": true,
+              "fileReplacements": [
+                {
+                  "replace": "src/environments/environment.ts",
+                  "with": "src/environments/environment.prod.ts"
+                }
+              ]
+            },
+            "e2e": {
+              "fileReplacements": [
+                {
+                  "replace": "src/environments/environment.ts",
+                  "with": "src/environments/environment.e2e.ts"
+                }
+              ]
+            }
+          }
+        },
+        "serve": {
+          "builder": "@angular-devkit/build-angular:dev-server",
+          "options": {
+            "browserTarget": "metron-alerts:build"
+          },
+          "configurations": {
+            "production": {
+              "browserTarget": "metron-alerts:build:production"
+            },
+            "e2e": {
+              "browserTarget": "metron-alerts:build:e2e"
+            }
+          }
+        },
+        "extract-i18n": {
+          "builder": "@angular-devkit/build-angular:extract-i18n",
+          "options": {
+            "browserTarget": "metron-alerts:build"
+          }
+        },
+        "test": {
+          "builder": "@angular-devkit/build-angular:karma",
+          "options": {
+            "main": "src/test.ts",
+            "karmaConfig": "./karma.conf.js",
+            "polyfills": "src/polyfills.ts",
+            "tsConfig": "src/tsconfig.spec.json",
+            "scripts": [
+              "node_modules/jquery/dist/jquery.js",
+              "node_modules/tether/dist/js/tether.js",
+              "node_modules/ace-builds/src-noconflict/ace.js"
+            ],
+            "styles": [
+              "node_modules/font-awesome/css/font-awesome.css",
+              "node_modules/dragula/dist/dragula.css",
+              "src/vendor.scss",
+              "src/styles.scss"
+            ],
+            "assets": [
+              "src/assets",
+              "src/favicon.ico"
+            ]
+          }
+        },
+        "lint": {
+          "builder": "@angular-devkit/build-angular:tslint",
+          "options": {
+            "tsConfig": [
+              "src/tsconfig.app.json",
+              "src/tsconfig.spec.json"
+            ],
+            "exclude": []
+          }
+        }
+      }
+    },
+    "metron-alerts-e2e": {
+      "root": "",
+      "sourceRoot": "e2e",
+      "projectType": "application",
+      "architect": {
+        "e2e": {
+          "builder": "@angular-devkit/build-angular:protractor",
+          "options": {
+            "protractorConfig": "./protractor.conf.js",
+            "devServerTarget": "metron-alerts:serve"
+          }
+        },
+        "lint": {
+          "builder": "@angular-devkit/build-angular:tslint",
+          "options": {
+            "tsConfig": [
+              "e2e/tsconfig.e2e.json"
+            ],
+            "exclude": []
+          }
+        }
+      }
+    }
+  },
+  "defaultProject": "metron-alerts",
+  "schematics": {
+    "@schematics/angular:component": {
+      "prefix": "app",
+      "styleext": "scss"
+    },
+    "@schematics/angular:directive": {
+      "prefix": "app"
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/e2e/tsconfig.json
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/e2e/tsconfig.json 
b/metron-interface/metron-alerts/e2e/tsconfig.json
index 656bdb1..74c2bca 100644
--- a/metron-interface/metron-alerts/e2e/tsconfig.json
+++ b/metron-interface/metron-alerts/e2e/tsconfig.json
@@ -1,16 +1,19 @@
 {
-  "compileOnSave": false,
   "compilerOptions": {
+    "sourceMap": true,
     "declaration": false,
+    "moduleResolution": "node",
     "emitDecoratorMetadata": true,
     "experimentalDecorators": true,
-    "module": "commonjs",
-    "moduleResolution": "node",
+    "lib": [
+      "es2016"
+    ],
     "outDir": "../dist/out-tsc-e2e",
-    "sourceMap": true,
-    "target": "es5",
-    "typeRoots": [
-      "../node_modules/@types"
+    "module": "commonjs",
+    "target": "es6",
+    "types":[
+      "jasmine",
+      "node"
     ]
   }
 }

http://git-wip-us.apache.org/repos/asf/metron/blob/33792c24/metron-interface/metron-alerts/karma.conf.js
----------------------------------------------------------------------
diff --git a/metron-interface/metron-alerts/karma.conf.js 
b/metron-interface/metron-alerts/karma.conf.js
index 7f29c92..c17fbe3 100644
--- a/metron-interface/metron-alerts/karma.conf.js
+++ b/metron-interface/metron-alerts/karma.conf.js
@@ -23,33 +23,35 @@ process.env.CHROME_BIN = 
require('puppeteer').executablePath()
 module.exports = function (config) {
   config.set({
     basePath: '',
-    frameworks: ['jasmine', '@angular/cli'],
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
     plugins: [
       require('karma-jasmine'),
       require('karma-chrome-launcher'),
       require('karma-jasmine-html-reporter'),
       require('karma-coverage-istanbul-reporter'),
-      require('@angular/cli/plugins/karma')
+      require('@angular-devkit/build-angular/plugins/karma')
     ],
     client:{
       clearContext: false // leave Jasmine Spec Runner output visible in 
browser
     },
     files: [
-      { pattern: './src/test.ts', watched: false }
+
     ],
     preprocessors: {
-      './src/test.ts': ['@angular/cli']
+
     },
     mime: {
       'text/x-typescript': ['ts','tsx']
     },
     coverageIstanbulReporter: {
-      reports: [ 'html', 'lcovonly', 'text-summary' ],
+      dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 
'lcovonly', 'text-summary' ],
       fixWebpackSourcePaths: true
     },
-    angularCli: {
-      environment: 'dev'
-    },
+    captureTimeout: 30000,
+    browserDisconnectTolerance: 3,
+    browserDisconnectTimeout : 30000,
+    browserNoActivityTimeout : 30000,
+
     reporters: config.angularCli && config.angularCli.codeCoverage
       ? ['progress', 'coverage-istanbul']
       : ['progress', 'kjhtml'],

Reply via email to