]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/dashboard: Update Angular to version 6
authorTiago Melo <tspmelo@gmail.com>
Tue, 5 Jun 2018 15:42:55 +0000 (16:42 +0100)
committerTiago Melo <tmelo@suse.com>
Mon, 11 Jun 2018 09:54:39 +0000 (10:54 +0100)
Signed-off-by: Tiago Melo <tmelo@suse.com>
src/pybind/mgr/dashboard/frontend/.angular-cli.json [deleted file]
src/pybind/mgr/dashboard/frontend/angular.json [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/karma.conf.js
src/pybind/mgr/dashboard/frontend/package.json
src/pybind/mgr/dashboard/frontend/src/tsconfig.spec.json

diff --git a/src/pybind/mgr/dashboard/frontend/.angular-cli.json b/src/pybind/mgr/dashboard/frontend/.angular-cli.json
deleted file mode 100644 (file)
index f268010..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-{
-  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
-  "project": {
-    "name": "ceph-dashboard"
-  },
-  "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": "cd",
-      "styles": [
-        "../node_modules/bootstrap/dist/css/bootstrap.css",
-        "../node_modules/ng2-toastr/bundles/ng2-toastr.min.css",
-        "../node_modules/fork-awesome/css/fork-awesome.css",
-        "../node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css",
-        "styles.scss"
-      ],
-      "scripts": [
-        "../node_modules/chart.js/dist/Chart.bundle.js"
-      ],
-      "environmentSource": "environments/environment.ts",
-      "environments": {
-        "dev": "environments/environment.ts",
-        "prod": "environments/environment.prod.ts"
-      }
-    }
-  ],
-  "e2e": {
-    "protractor": {
-      "config": "./protractor.conf.js"
-    }
-  },
-  "lint": [
-    {
-      "project": "src/tsconfig.app.json",
-      "exclude": "**/node_modules/**"
-    },
-    {
-      "project": "src/tsconfig.spec.json",
-      "exclude": "**/node_modules/**"
-    },
-    {
-      "project": "e2e/tsconfig.e2e.json",
-      "exclude": "**/node_modules/**"
-    }
-  ],
-  "test": {
-    "karma": {
-      "config": "./karma.conf.js"
-    }
-  },
-  "defaults": {
-    "styleExt": "scss",
-    "component": {}
-  }
-}
diff --git a/src/pybind/mgr/dashboard/frontend/angular.json b/src/pybind/mgr/dashboard/frontend/angular.json
new file mode 100644 (file)
index 0000000..037d517
--- /dev/null
@@ -0,0 +1,144 @@
+{
+  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+  "version": 1,
+  "newProjectRoot": "projects",
+  "projects": {
+    "ceph-dashboard": {
+      "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/bootstrap/dist/css/bootstrap.css",
+              "node_modules/ng2-toastr/bundles/ng2-toastr.min.css",
+              "node_modules/fork-awesome/css/fork-awesome.css",
+              "node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css",
+              "src/styles.scss"
+            ],
+            "scripts": [
+              "node_modules/chart.js/dist/Chart.bundle.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"
+                }
+              ]
+            }
+          }
+        },
+        "serve": {
+          "builder": "@angular-devkit/build-angular:dev-server",
+          "options": {
+            "browserTarget": "ceph-dashboard:build"
+          },
+          "configurations": {
+            "production": {
+              "browserTarget": "ceph-dashboard:build:production"
+            }
+          }
+        },
+        "extract-i18n": {
+          "builder": "@angular-devkit/build-angular:extract-i18n",
+          "options": {
+            "browserTarget": "ceph-dashboard: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/chart.js/dist/Chart.bundle.js"
+            ],
+            "styles": [
+              "node_modules/bootstrap/dist/css/bootstrap.css",
+              "node_modules/ng2-toastr/bundles/ng2-toastr.min.css",
+              "node_modules/fork-awesome/css/fork-awesome.css",
+              "node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css",
+              "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": [
+              "**/node_modules/**"
+            ]
+          }
+        }
+      }
+    },
+    "ceph-dashboard-e2e": {
+      "root": "",
+      "sourceRoot": "",
+      "projectType": "application",
+      "architect": {
+        "e2e": {
+          "builder": "@angular-devkit/build-angular:protractor",
+          "options": {
+            "protractorConfig": "./protractor.conf.js",
+            "devServerTarget": "ceph-dashboard:serve"
+          }
+        },
+        "lint": {
+          "builder": "@angular-devkit/build-angular:tslint",
+          "options": {
+            "tsConfig": [
+              "e2e/tsconfig.e2e.json"
+            ],
+            "exclude": [
+              "**/node_modules/**"
+            ]
+          }
+        }
+      }
+    }
+  },
+  "defaultProject": "ceph-dashboard",
+  "schematics": {
+    "@schematics/angular:component": {
+      "prefix": "cd",
+      "styleext": "scss"
+    },
+    "@schematics/angular:directive": {
+      "prefix": "cd"
+    }
+  }
+}
\ No newline at end of file
index f86ab20aa5fd6f6059970ebb22b8d8b77c2d49dd..81e6bb5ec096489d87e109b80953ae052555d06d 100644 (file)
@@ -4,13 +4,13 @@
 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'),
       require('karma-phantomjs-launcher'),
       require('karma-junit-reporter')
     ],
@@ -18,7 +18,8 @@ module.exports = function (config) {
       clearContext: false // leave Jasmine Spec Runner output visible in browser
     },
     coverageIstanbulReporter: {
-      reports: [ 'html', 'lcovonly', 'cobertura' ],
+      dir: require('path').join(__dirname, 'coverage'),
+      reports: ['html', 'lcovonly', 'cobertura'],
       fixWebpackSourcePaths: true
     },
     angularCli: {
index e83367bdeef0a5a40e5e76d5b4179d9f8ff1b68b..32332b82ba02e44f3f7faeaa39faaadae5214471 100644 (file)
@@ -4,7 +4,7 @@
   "license": "MIT",
   "scripts": {
     "ng": "ng",
-    "start": "ng serve --delete-output-path false --proxy-config proxy.conf.json --host 0.0.0.0",
+    "start": "ng serve --proxy-config proxy.conf.json --host 0.0.0.0",
     "build": "ng build",
     "test": "jest --watch",
     "test:ci": "jest --coverage",
     ]
   },
   "dependencies": {
-    "@angular/animations": "^5.0.0",
-    "@angular/common": "^5.0.0",
-    "@angular/compiler": "^5.0.0",
-    "@angular/core": "^5.0.0",
-    "@angular/forms": "^5.0.0",
-    "@angular/http": "^5.0.0",
-    "@angular/platform-browser": "^5.0.0",
-    "@angular/platform-browser-dynamic": "^5.0.0",
-    "@angular/router": "^5.0.0",
+    "@angular/animations": "^6.0.4",
+    "@angular/common": "^6.0.4",
+    "@angular/compiler": "^6.0.4",
+    "@angular/core": "^6.0.4",
+    "@angular/forms": "^6.0.4",
+    "@angular/http": "^6.0.4",
+    "@angular/platform-browser": "^6.0.4",
+    "@angular/platform-browser-dynamic": "^6.0.4",
+    "@angular/router": "^6.0.4",
     "@swimlane/ngx-datatable": "^13.0.1",
-    "@types/lodash": "^4.14.95",
+    "@types/lodash": "^4.14.109",
     "awesome-bootstrap-checkbox": "0.3.7",
     "bootstrap": "^3.3.7",
-    "chart.js": "^2.7.1",
-    "core-js": "^2.4.1",
-    "fork-awesome": "1.0.11",
-    "lodash": "^4.17.4",
-    "moment": "2.20.1",
+    "chart.js": "^2.7.2",
+    "core-js": "^2.5.7",
+    "fork-awesome": "^1.1.0",
+    "lodash": "^4.17.10",
+    "moment": "^2.22.2",
     "ng2-charts": "^1.6.0",
-    "ng2-toastr": "4.1.2",
-    "ngx-bootstrap": "^2.0.1",
+    "ng2-toastr": "github:zzakir/ng2-toastr#master",
+    "ngx-bootstrap": "^2.0.5",
     "rxjs": "^6.2.0",
     "rxjs-compat": "^6.2.0",
-    "zone.js": "^0.8.14"
+    "zone.js": "^0.8.26"
   },
   "devDependencies": {
-    "@angular/cli": "^1.6.5",
-    "@angular/compiler-cli": "^5.0.0",
-    "@angular/language-service": "^5.0.0",
-    "@types/jasmine": "~2.5.53",
-    "@types/jasminewd2": "~2.0.2",
-    "@types/jest": "^22.2.3",
-    "@types/node": "~6.0.60",
+    "@angular-devkit/build-angular": "~0.6.8",
+    "@angular/cli": "^6.0.8",
+    "@angular/compiler-cli": "^6.0.4",
+    "@angular/language-service": "^6.0.4",
+    "@types/jasmine": "~2.8.8",
+    "@types/jasminewd2": "~2.0.3",
+    "@types/jest": "^23.0.0",
+    "@types/node": "^8.10.19",
     "babel-preset-env": "^1.7.0",
-    "codelyzer": "^4.0.1",
-    "copy-webpack-plugin": "4.3.0",
-    "jasmine-core": "~2.6.2",
-    "jasmine-spec-reporter": "~4.1.0",
-    "jest": "^22.4.3",
+    "codelyzer": "^4.3.0",
+    "jasmine-core": "~3.1.0",
+    "jasmine-spec-reporter": "~4.2.1",
+    "jest": "^23.1.0",
     "jest-canvas-mock": "^1.0.2",
     "jest-preset-angular": "^5.2.2",
-    "karma": "~1.7.0",
-    "karma-chrome-launcher": "~2.1.1",
+    "karma": "~2.0.2",
+    "karma-chrome-launcher": "~2.2.0",
     "karma-cli": "~1.0.1",
-    "karma-coverage-istanbul-reporter": "^1.2.1",
-    "karma-jasmine": "~1.1.0",
-    "karma-jasmine-html-reporter": "^0.2.2",
+    "karma-coverage-istanbul-reporter": "^2.0.1",
+    "karma-jasmine": "~1.1.2",
+    "karma-jasmine-html-reporter": "^1.1.0",
     "karma-junit-reporter": "^1.2.0",
     "karma-phantomjs-launcher": "^1.0.4",
-    "prettier": "1.12.1",
-    "pretty-quick": "^1.4.1",
-    "protractor": "~5.3.0",
-    "ts-node": "~3.2.0",
-    "tslint": "~5.9.1",
-    "tslint-eslint-rules": "^4.1.1",
-    "typescript": "~2.4.2"
+    "prettier": "^1.13.5",
+    "pretty-quick": "^1.6.0",
+    "protractor": "~5.3.2",
+    "ts-node": "~5.0.1",
+    "tslint": "~5.10.0",
+    "tslint-eslint-rules": "^5.3.1",
+    "typescript": "2.7.2"
   }
 }
index 63d89ff283f6a57698af38f3857a81dc1364a36a..18bad40ed42a304233bb8474c00ca104bb0835a1 100644 (file)
@@ -11,7 +11,8 @@
     ]
   },
   "files": [
-    "test.ts"
+    "test.ts",
+    "polyfills.ts"
   ],
   "include": [
     "**/*.spec.ts",