From 75ca8c8a73d9e212733de7cf518fca9b203e1d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Mon, 8 Apr 2019 11:28:43 +0200 Subject: [PATCH] build: update dependencies Additionally adjust the code after the latest rebase. --- package-lock.json | 627 ++++++++++-------- package.json | 62 +- src/app/{modules => }/_helpers/errors.ts | 0 src/app/_helpers/fake-backend.interceptor.ts | 199 ++++-- .../_helpers/fake-backend.interceptor.ts | 140 ---- .../modules/config/config.provider.spec.ts | 83 +-- src/app/modules/config/config.provider.ts | 2 +- src/app/modules/config/errors.ts | 2 +- src/app/modules/data/data.provider.spec.ts | 10 +- .../data/detail/data-detail.component.spec.ts | 2 +- 10 files changed, 566 insertions(+), 561 deletions(-) rename src/app/{modules => }/_helpers/errors.ts (100%) delete mode 100644 src/app/modules/_helpers/fake-backend.interceptor.ts diff --git a/package-lock.json b/package-lock.json index 947b8492..516346e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@angular-devkit/architect": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.4.tgz", - "integrity": "sha512-wJF8oz8MurtpFi0ik42bkI2F5gEnuOe79KHPO1i3SYfdhEp5NY8igVKZ6chB/eq4Ml50aHxas8Hh9ke12K+Pxw==", + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.8.tgz", + "integrity": "sha512-gxUs5rhnP576T8ZclKqxlspiChrqRtqaJo54wqNVFvYKEjRZKyMa+1AK6p0oD9zcIToEkcjknj3BbtQa27lLHg==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.4", + "@angular-devkit/core": "7.3.8", "rxjs": "6.3.3" }, "dependencies": { @@ -26,16 +26,16 @@ } }, "@angular-devkit/build-angular": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.13.4.tgz", - "integrity": "sha512-7yJzgNk3ToiAHd8vnYonqiswvVNYzOUKg2xZfpx+SD5m7mVE+CSUp+P4YzUrI0Vm9WitZOYaCv1I6G1NguJHqA==", + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.13.8.tgz", + "integrity": "sha512-uRb8CKC0hUdcE+Fv2Ov9LJNelyjsiMuddBpo8pdTKCIHVVC6hvip9S/Z18Tvb207kKI3k7Dn+Ji1J63mCqmQzA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.13.4", - "@angular-devkit/build-optimizer": "0.13.4", - "@angular-devkit/build-webpack": "0.13.4", - "@angular-devkit/core": "7.3.4", - "@ngtools/webpack": "7.3.4", + "@angular-devkit/architect": "0.13.8", + "@angular-devkit/build-optimizer": "0.13.8", + "@angular-devkit/build-webpack": "0.13.8", + "@angular-devkit/core": "7.3.8", + "@ngtools/webpack": "7.3.8", "ajv": "6.9.1", "autoprefixer": "9.4.6", "circular-dependency-plugin": "5.0.2", @@ -52,7 +52,7 @@ "mini-css-extract-plugin": "0.5.0", "minimatch": "3.0.4", "node-sass": "4.11.0", - "opn": "5.4.0", + "open": "6.0.0", "parse5": "4.0.0", "postcss": "7.0.14", "postcss-import": "12.0.1", @@ -63,7 +63,7 @@ "semver": "5.6.0", "source-map-loader": "0.2.4", "source-map-support": "0.5.10", - "speed-measure-webpack-plugin": "1.3.0", + "speed-measure-webpack-plugin": "1.3.1", "stats-webpack-plugin": "0.7.0", "style-loader": "0.23.1", "stylus": "0.54.5", @@ -98,29 +98,13 @@ "requires": { "tslib": "^1.9.0" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } } } }, "@angular-devkit/build-optimizer": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.4.tgz", - "integrity": "sha512-YTpiE4F2GnFc4jbXZkmFUMHOvo3kWcMPAInVbjXNSIWMqW8Ibs7d6MAcualQX4NCvcn45+mVXLfY/8hWZ/b7lw==", + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.8.tgz", + "integrity": "sha512-RvYxtsdYuvpFb1iivVixylSVN/Q8LsQ449uYuqEe3OsDjQBvUVG2fMLPOQjmKWhi0NC9WSsNiUluxLDNdvd0Vw==", "dev": true, "requires": { "loader-utils": "1.2.3", @@ -134,17 +118,23 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true + }, + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "dev": true } } }, "@angular-devkit/build-webpack": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.13.4.tgz", - "integrity": "sha512-W5baPrsNUUyeD5K9ZjiTfiDsytBoqDvGDMKRUO9XWV8xF8LYF2ttsBQxlJK7SKkMyJXcjmiHhdkMq5wgRE7n0A==", + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.13.8.tgz", + "integrity": "sha512-WMyn1vUHyx+VfJKgYuEHrICwQzPMDTaUNB1zlvzZt9gX/9H+XnetrebeWBZCITPXHBw/377oA6wmiHWJ0yaZRw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.13.4", - "@angular-devkit/core": "7.3.4", + "@angular-devkit/architect": "0.13.8", + "@angular-devkit/core": "7.3.8", "rxjs": "6.3.3" }, "dependencies": { @@ -160,9 +150,9 @@ } }, "@angular-devkit/core": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.4.tgz", - "integrity": "sha512-MBfen51iOBKfK4tlg5KwmPxePsF1QoFNUMGLuvUUwPkteonrGcupX1Q7NWTpf+HA+i08mOnZGuepeuQkD12IQw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.8.tgz", + "integrity": "sha512-3X9uzaZXFpm5o2TSzhD6wEOtVU32CgeytKjD1Scxj+uMMVo48SWLlKiFh312T+smI9ko7tOT8VqxglwYkWosgg==", "dev": true, "requires": { "ajv": "6.9.1", @@ -202,12 +192,12 @@ } }, "@angular-devkit/schematics": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.4.tgz", - "integrity": "sha512-BLI4MDHmpzw+snu/2Dw1nMmfJ0VAARTbU6DrmzXyl2Se45+iE/tdRy4yNx3IfHhyoCrVZ15R0y9CXeEsLftlIg==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.8.tgz", + "integrity": "sha512-mvaKoORZIaW/h0VNZ3IQWP0qThRCZRX6869FNlzV0jlW0mhn07XbiIGHCGGSCDRxS7qJ0VbuIVnKXntF+iDeWw==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.4", + "@angular-devkit/core": "7.3.8", "rxjs": "6.3.3" }, "dependencies": { @@ -223,47 +213,47 @@ } }, "@angular/cli": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.4.tgz", - "integrity": "sha512-uGL8xiQf+GvuJvqvMUu/XHcijbq9ocbX487LO2PgJ29etHfI7dC0toJbQ8ob+HnF9e1qwMe+uu45OU4C2p+a1A==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.8.tgz", + "integrity": "sha512-5ldU1idvWstmRaavGZen9WRjfjIViERGt8NYuLLI7dgVLYOPF5TyFoTnpT5nxkiCopp4tPIcpbzPV394Bxmdtg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.13.4", - "@angular-devkit/core": "7.3.4", - "@angular-devkit/schematics": "7.3.4", - "@schematics/angular": "7.3.4", - "@schematics/update": "0.13.4", + "@angular-devkit/architect": "0.13.8", + "@angular-devkit/core": "7.3.8", + "@angular-devkit/schematics": "7.3.8", + "@schematics/angular": "7.3.8", + "@schematics/update": "0.13.8", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "inquirer": "6.2.1", "npm-package-arg": "6.1.0", - "opn": "5.4.0", + "open": "6.0.0", "pacote": "9.4.0", "semver": "5.6.0", "symbol-observable": "1.2.0" } }, "@angular/common": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.2.7.tgz", - "integrity": "sha512-U1l2CIcmpTAJMWcyTXI9qt1E8CxwKNW1vr6XWZo4X5ziCIzf7RvClzK7Ci5KZKkoPJrJqBJu661Q75Yt22dJsg==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.2.12.tgz", + "integrity": "sha512-JzcysRDfx2dvvcZ4uwgn+6gFDYlbH9j2Uyz6fWOSinAA0kcleOu/Gb77XbCI5M3Xvh1hxHVyz0Zxv/Pi0Y1O1g==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.2.7.tgz", - "integrity": "sha512-e61YVxW5x4w+X4yjGaptYoJIja7HwH0+8FFEaH6VuPl/DrK8wP4HDMhLo4NzdgeZKLR2jBIQSqLmoM8W7UXcqw==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.2.12.tgz", + "integrity": "sha512-B1N+/ECqIQz7PD2Zjb/21OOCmrXkl8DSXCBGNMXOSng+uYJM4dFPWkYkaAeHj8gcLDHvIPWlsapJ6JqyB3RPxA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.2.7.tgz", - "integrity": "sha512-UPWROJzBLejgNf+aqgEUXYts8UiFOl2IavDhS/olA9irszv2lNFj9Yqr8OKdy0jK/lKaipZog3VZEx8g5dNeBA==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.2.12.tgz", + "integrity": "sha512-EXJuN9XuYjO9gwe5JWfatb64ljPjItZh5bd1MQtntMJONS4ntOtwiCd9RuNVK2ZXM7Co9PcvzE1qynB6tMseCw==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -286,9 +276,9 @@ "dev": true }, "chokidar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz", - "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", + "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", "dev": true, "requires": { "anymatch": "^2.0.0", @@ -302,7 +292,7 @@ "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", - "upath": "^1.1.0" + "upath": "^1.1.1" } }, "cross-spawn": { @@ -971,6 +961,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -1016,55 +1012,55 @@ } }, "@angular/core": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.2.7.tgz", - "integrity": "sha512-E7qjMQdS77SbRROKu13VsfL+MJN52eTlrU0SzEAFGUOgdvbmDYJOaEwjqrouKpYZ0pul8KOoalvlPB7oVflC7A==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.2.12.tgz", + "integrity": "sha512-E5BtJPL4Fz1xyGTsoE4LELoZ33x0S0lJ0iUKqLRFeKKYM/fJ8l8mVNSZ7LnURTwpcjCiHcCRMcaCfuXWj7Kqhw==", "requires": { "tslib": "^1.9.0" } }, "@angular/forms": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.2.7.tgz", - "integrity": "sha512-2gBs+BG2cMPsHq9JVEzmu2Ev539zjfHmr6cna2W38KLXeGbNf42rbbMUXpYD8cndY0QTYcnwfMpRNIl9zKRZnw==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.2.12.tgz", + "integrity": "sha512-gQU8663C9LOyuza87XDkEQ2HXbaLt3LY8X45swUNfe+BvpKNhF5ZwwY22d93wuzvm/vFrCTPK7949ImfUW0XnA==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.2.7.tgz", - "integrity": "sha512-HTHYF3qR4S55A+9pyThSOy7++7Makp+klbZTNmpwwJj8yL3qgy9PyDXtf+xhZcUEd8xfXmnz8s4hZr0O9GUy1A==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.2.12.tgz", + "integrity": "sha512-cceU+SWIQFOL3gRKqm5SYHQM3VoKbXne2XQRSY2Fdoc3XsipOzTEvJQPLm5ZcTEXdmRFlfianDoDaWEIvGbXkw==", "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.2.7.tgz", - "integrity": "sha512-d3iCBpOfgLNSGMrtqZvN6NHZIEnKD2MV8Hz4WsRLU4WY0RbshZj5dqx2nO3YRT2tACpAvhWBQoYvtLpTCPzsMA==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.2.12.tgz", + "integrity": "sha512-dHHcAtCQ+ECoZa/bkm1diMZuxy/e+x2/qzClfKquO47EPqOIXYKCKZRqgGNHxdbUSRpmIEanfj/li4S7doCHZw==", "dev": true }, "@angular/platform-browser": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.2.7.tgz", - "integrity": "sha512-9C3ffZs0ZUw+dYg1oJKiONf64UKTdAzIOaTQXTrVrCa3oN7Jb2tUfmpenmB+ATRxwhL2n7Yi725YWwxY2FwqvQ==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.2.12.tgz", + "integrity": "sha512-rhKxUtWM6LfM0cK0kVzQpdnzfGeL3KImk6kNn+RrZiXLk2N/pnwbrzfd6VUtm+zdg54S4BO8ui1NahwIC/PSKw==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.2.7.tgz", - "integrity": "sha512-3nlcwCZOzlKw/4CMJ4zy1JEVy8Ky4KyLRRePLledOMdsGbuDIoq/kyAnBzg295Xe9ovBxv8cmuSkShci+s/x8g==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.2.12.tgz", + "integrity": "sha512-maKmjCTaS+jrXnor9qVJZfkWAKrt6neIlYrjvcr9v2YUqv9vdMcd5WRaODvIXBqwh65gpMxk3hbZ48Yjh8EbBQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/router": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.2.7.tgz", - "integrity": "sha512-59+M8+IH7V2NPPqWw2mwdg+kh/jfwQcXE0tB8iZ5V2ldACPucY/Td6qiT5H6t7EkELtvkKJwS6vKFV22qdRp3w==", + "version": "7.2.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.2.12.tgz", + "integrity": "sha512-n7EFKuOa6YDDvGZT/t7mXfQMuomkTVPJcWkpfPrViAKi4mcUnaU5IqYiBnv/WJfDDqocVD/Yf9YQD9zAajthEw==", "requires": { "tslib": "^1.9.0" } @@ -1980,43 +1976,43 @@ } }, "@ionic-native/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.2.0.tgz", - "integrity": "sha512-bVvYZsNTckoRW61QioGHTfp2v0FJcaJ7WhlnMrGgOj/ejBvSMPpfj1K/pws0TCUFnerWyLbSXgfGGYGoicLEOw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.4.0.tgz", + "integrity": "sha512-GSrwIcOqGq9a7axYGVDPvIS0FoBRPNIC6b4RkcC0rcvjbIDebgZG7zsZ2x6mhe4HC7fTUV2y8qBO8timMHv3oA==", "requires": { "@types/cordova": "^0.0.34" } }, "@ionic-native/geolocation": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ionic-native/geolocation/-/geolocation-5.2.0.tgz", - "integrity": "sha512-YQdZJr5ggJFYeESlslWoSKmh+NxH9BZvCr/KETV/3kuHOo/QkQ/HdiaHFi846ZlZcm7JiYNpIALMlEWBlwBo3A==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ionic-native/geolocation/-/geolocation-5.4.0.tgz", + "integrity": "sha512-mcnIVhYZwRvoDMX9yRIgrixZBDSRjbtojIXWLjdWUoaO/YcOv/I5VhsICAUpiKM89NFW8Dcip3YLYDGGmCkSVA==", "requires": { "@types/cordova": "^0.0.34" } }, "@ionic-native/splash-screen": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.2.0.tgz", - "integrity": "sha512-Nqykf2Fzj1mxENI6LSj1IplHiUIJzsiP13HhNWqceqAlQF2S8yI8KAKPGT6JRWtjSB1hlUR8VywhiFnX298jaw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.4.0.tgz", + "integrity": "sha512-2RkLfEWO9u+L7wgHCS156UBW18ulE8md2iPvWaz3fzwuPddjhYqFEP2Nz3ZM4pKvdex6pKRMNkLlvhBN93CkFw==", "requires": { "@types/cordova": "^0.0.34" } }, "@ionic-native/status-bar": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.2.0.tgz", - "integrity": "sha512-kvCE1gh6nuXvvSv07sDmbknF5G/f09dTE27jvBPBe51OxyNcFNhHidqoRo2ZoNbMN0/Obb9KqrUiRevSQbOcUA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.4.0.tgz", + "integrity": "sha512-ePt6NBVtUBKr02HoRcNZ8nlq6bAqqx/rVf6veZdV9UK2OEApFKEs++tdq+2fmpjdTBfB3jMGiyN3Kr+7c1dOmA==", "requires": { "@types/cordova": "^0.0.34" } }, "@ionic/angular": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.0.2.tgz", - "integrity": "sha512-5jgg7067/H2HH1E6wGS9sTju7ebbYEI8Fe/hUYZ+SOGE/cRtfTxcshni7Yx4VwuYE23M41UaJPLtHi9G+KjqIw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.2.0.tgz", + "integrity": "sha512-ALZNxEZjkBJDyLH0mqcZQsgi9yUWB8uW2u6kg6ZjjSGf6atQL1IhOt+tTvdE98GWoNwFghNmdg9IFCFjUhANjw==", "requires": { - "@ionic/core": "4.0.2", + "@ionic/core": "4.2.0", "tslib": "^1.9.3" } }, @@ -2126,9 +2122,9 @@ } }, "@ionic/core": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.0.2.tgz", - "integrity": "sha512-ME5AVZO/wpB1N9jCqYQDDVRDiWV5UOa60KP6mAIrOIejMkGnXTPkNMFBTFfZwOP2EJmQnYMut8L2ihkPzUKUcQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.2.0.tgz", + "integrity": "sha512-JGnx8NV9z3Bgg/Ds/uEe4PPwp/UWnxqU35koByWZcyDpdb1WTwF8b4iJA8QGoj2DWEyFx7qt3c/bw3Zk/F7JPw==", "requires": { "ionicons": "4.5.5" } @@ -2326,6 +2322,11 @@ } } }, + "@krlwlfrt/async-pool": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.0.3.tgz", + "integrity": "sha512-/1kQ293t30sgnFRo/8cuMH2kE/kpf8K98yFLgJWYLnWy3SddbzDKK0J8JKy8LIf1wW+Tc833NazDluRxnVSA/g==" + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -2337,12 +2338,12 @@ } }, "@ngtools/webpack": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.4.tgz", - "integrity": "sha512-qTfw/LGZ3kDZAgqb6gMVr36E0W3M+bnS/xAxNTxshxmJOCQr9AcKtX4sP65QweKS60KoBBR1a7nR6SOi1NJkxA==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.8.tgz", + "integrity": "sha512-gfjSKz+F/2T4tZHpnQ1XqelKP/CIfI87XdoHsOI53ceTUrAkVKsOb3ULmEfkcdsdQZ/HhmCiLivcutHcW8xkhQ==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.4", + "@angular-devkit/core": "7.3.8", "enhanced-resolve": "4.1.0", "rxjs": "6.3.3", "tree-kill": "1.2.1", @@ -2383,59 +2384,66 @@ "dev": true }, "@openstapps/api": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@openstapps/api/-/api-0.4.1.tgz", - "integrity": "sha512-/+js8FNxTxusDfojr3JYhx1kdcoilBMbGB1+B6BpnObZ6Mg7MQRui2KRh7COe/1VPuVTe2mpqisAX7cjSsXGMw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@openstapps/api/-/api-0.6.0.tgz", + "integrity": "sha512-mPlej2cyZz82Ld4AAutM8y7KzSTRHg7FhqC3T8LH+svVR11hFde4aIy/nsKLVSxJq02BWrpJ/0EX3FbxIbhWBQ==", "requires": { - "@openstapps/core": "0.12.0", + "@krlwlfrt/async-pool": "0.0.3", + "@openstapps/core": "0.14.0", "@openstapps/logger": "0.0.5", "@types/cli-progress": "1.8.1", - "@types/node": "11.11.3", + "@types/node": "10.14.4", "@types/request": "2.48.1", + "@types/traverse": "0.6.32", "@types/uuid": "3.4.4", - "async-pool-native": "0.1.0", "cli-progress": "2.1.1", - "commander": "2.19.0", + "commander": "2.20.0", "moment": "2.24.0", "request": "2.88.0", + "traverse": "0.6.6", "uuid": "3.3.2" }, "dependencies": { "@openstapps/core": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.11.0.tgz", - "integrity": "sha512-vCT09LVDRcSELK/F5RBe6IqXWow7kolkWMADXRIW5YqvAy/BpfUhta/v+YxFk/dp+umzMmCv9tRgZRxrznStGw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.14.0.tgz", + "integrity": "sha512-Pb4gMHs5cV9Z9axpFU1H2j20bucIp09d5XWgKPbWV1MX9umSEqDuEnYV3+MSFPfI2dCZBVX8RNlDKrK7yjoE2g==", "requires": { "@types/geojson": "1.0.6", "@types/json-patch": "0.0.30", "json-patch": "0.7.0", - "jsonschema": "1.2.4" + "jsonschema": "1.2.4", + "ts-optchain": "0.1.3" } }, "@types/node": { - "version": "11.11.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.3.tgz", - "integrity": "sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==" + "version": "10.14.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", + "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" } } }, "@openstapps/configuration": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.7.0.tgz", - "integrity": "sha512-oQjT4AE3xyMvzdfrpQ18P95i8bp5Bvwlc8SiBOwid0sjGC8ATdLsveZrwF9NHsIxGh8STodfOi/COvae5DnNWA==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.8.0.tgz", + "integrity": "sha512-LwSlnm2BhT6ZtueW/29XhDLqnkU5ps63ar4UF0Nw5a79tTZ7XsQ7BY11ZH2LYwV132+k1tPgjnqpY/KrVgVltQ==", "requires": { - "@types/chalk": "2.2.0", - "@types/node": "10.12.15", + "@types/node": "10.14.3", "chalk": "2.4.2", "commander": "2.19.0", - "tslint": "5.12.0", + "tslint": "5.14.0", "tslint-eslint-rules": "5.4.0" }, "dependencies": { "@types/node": { - "version": "10.12.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", - "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==" + "version": "10.14.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.3.tgz", + "integrity": "sha512-2lhc7S28vo8FwR3Jv3Ifyd77AxEsx+Nl9ajWiac6/eWuvZ84zPK4RE05pfqcn3acIzlZDpQj5F1rIKQZX3ptLQ==" }, "ansi-styles": { "version": "3.2.1", @@ -2464,9 +2472,9 @@ } }, "tslint": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", - "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", + "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", "requires": { "babel-code-frame": "^6.22.0", "builtin-modules": "^1.1.1", @@ -2476,24 +2484,25 @@ "glob": "^7.1.1", "js-yaml": "^3.7.0", "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.27.2" + "tsutils": "^2.29.0" } } } }, "@openstapps/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.12.0.tgz", - "integrity": "sha512-msSsSQmZOzvcUbJZDZDefFuT2MOpnHo/1Q7f1kMtjsyJaLo0oZHxQq98RUjpecXy+fW+0Vjonkrpg33hr5Xgaw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.15.0.tgz", + "integrity": "sha512-jIX13rU2c2XPJD3qqnSZMLuP//wehJQ1L2yGBoeyMglLgg8WpfBHOsUqDqMky8qw1coXN55n9NG7am5Fz4gdxw==", "requires": { "@types/geojson": "1.0.6", "@types/json-patch": "0.0.30", "json-patch": "0.7.0", "jsonschema": "1.2.4", - "ts-optchain": "0.1.2" + "ts-optchain": "0.1.3" } }, "@openstapps/logger": { @@ -2516,24 +2525,32 @@ } }, "@schematics/angular": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.4.tgz", - "integrity": "sha512-Bb5DZQ8MeP8yhxPe6nVqyQ7sGVNwUx6nXPlrQV45ZycD3nJlqsuxr2DE75HFpn5oU+vlkq9J/Sys4WLJ4E/OMw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.8.tgz", + "integrity": "sha512-7o90bnIxXNpJhWPDY/zCedcG6KMIihz7a4UQe6UdlhEX21MNZLYFiDiR5Vmsx39wjm2EfPh3JTuBIHGmMCXkQQ==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.4", - "@angular-devkit/schematics": "7.3.4", + "@angular-devkit/core": "7.3.8", + "@angular-devkit/schematics": "7.3.8", "typescript": "3.2.4" + }, + "dependencies": { + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "dev": true + } } }, "@schematics/update": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.4.tgz", - "integrity": "sha512-YarSCCBSVPVG/MyN5H/FliRwaIDoeercy5Nip+NWZJsDyvtsAekO9s6QwizSvAr3541MmSQFeQICsjyM2dl3Bg==", + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.8.tgz", + "integrity": "sha512-2jP9w7Nnn24jOdrJtWjoS9LsNPmO9/Eu/+gDxBAVERCqR71mtNW+DopgWDtxleE9jri/pZWrHwShGFCSS7w23g==", "dev": true, "requires": { - "@angular-devkit/core": "7.3.4", - "@angular-devkit/schematics": "7.3.4", + "@angular-devkit/core": "7.3.8", + "@angular-devkit/schematics": "7.3.8", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "pacote": "9.4.0", @@ -2558,14 +2575,6 @@ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, - "@types/chalk": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-2.2.0.tgz", - "integrity": "sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw==", - "requires": { - "chalk": "*" - } - }, "@types/circular-json": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", @@ -2603,9 +2612,9 @@ "integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==" }, "@types/jasmine": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.9.tgz", - "integrity": "sha512-vw3VyFPa9mlba6NZPBZC3q2Zrnkgy5xuCVI43/tTLX6umdYrYvcFtQUKi2zH3PjFZQ9XCxNM/NMrM9uk8TPOzg==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.12.tgz", + "integrity": "sha512-lXvr2xFQEVQLkIhuGaR3GC1L9lMU1IxeWnAF/wNY5ZWpC4p9dgxkKkzMp7pntpAdv9pZSnYqgsBkCg32MXSZMg==", "dev": true }, "@types/jasminewd2": { @@ -2623,9 +2632,9 @@ "integrity": "sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==" }, "@types/node": { - "version": "11.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.10.4.tgz", - "integrity": "sha512-wa09itaLE8L705aXd8F80jnFpxz3Y1/KRHfKsYL2bPc0XF+wEWu8sR9n5bmeu8Ba1N9z2GRNzm/YdHcghLkLKg==" + "version": "11.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.2.tgz", + "integrity": "sha512-HOtU5KqROKT7qX/itKHuTtt5fV0iXbheQvrgbLNXFJQBY/eh+VS5vmmTAVlo3qIGMsypm0G4N1t2AXjy1ZicaQ==" }, "@types/nodemailer": { "version": "4.6.5", @@ -2670,6 +2679,11 @@ "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==" }, + "@types/traverse": { + "version": "0.6.32", + "resolved": "https://registry.npmjs.org/@types/traverse/-/traverse-0.6.32.tgz", + "integrity": "sha512-RBz2uRZVCXuMg93WD//aTS5B120QlT4lR/gL+935QtGsKHLS6sCtZBaKfWjIfk7ZXv/r8mtGbwjVIee6/3XTow==" + }, "@types/uuid": { "version": "3.4.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.4.tgz", @@ -3068,9 +3082,9 @@ "dev": true }, "app-root-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz", - "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", + "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", "dev": true }, "append-transform": { @@ -3113,6 +3127,16 @@ "sprintf-js": "~1.0.2" } }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -3305,6 +3329,12 @@ "integrity": "sha1-kC0uDWDQcb3NRtwRXhgJ7RHBOKk=", "dev": true }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, "async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", @@ -3333,11 +3363,6 @@ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", "dev": true }, - "async-pool-native": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/async-pool-native/-/async-pool-native-0.1.0.tgz", - "integrity": "sha512-0uXldNQf9CzB4amb5SEg5lUouBzOOyKLHW6sx5FphkQStwTYV0tF6VIMpUkr0A66bIEZ5DaaOgmjkoANfjjRww==" - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3373,6 +3398,15 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, + "axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -3456,6 +3490,12 @@ "regenerator-runtime": "^0.10.0" }, "dependencies": { + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", + "dev": true + }, "regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", @@ -3472,6 +3512,14 @@ "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", + "dev": true + } } }, "babel-template": { @@ -3922,14 +3970,14 @@ } }, "browserslist": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", - "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.4.tgz", + "integrity": "sha512-rAjx494LMjqKnMPhFkuLmLp8JWEX0o8ADTGeAbOqaF+XCvYLreZrG5uVjnPBlAQ8REZK4pzXGvp0bWgrFtKaag==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000939", - "electron-to-chromium": "^1.3.113", - "node-releases": "^1.1.8" + "caniuse-lite": "^1.0.30000955", + "electron-to-chromium": "^1.3.122", + "node-releases": "^1.1.13" } }, "browserstack": { @@ -4113,9 +4161,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000946", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000946.tgz", - "integrity": "sha512-ZVXtMoZ3Mfq69Ikv587Av+5lwGVJsG98QKUucVmtFBf0tl1kOCfLQ5o6Z2zBNis4Mx3iuH77WxEUpdP6t7f2CQ==", + "version": "1.0.30000957", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000957.tgz", + "integrity": "sha512-8wxNrjAzyiHcLXN/iunskqQnJquQQ6VX8JHfW5kLgAPRSiSuKZiNfmIkP5j7jgyXqAQBSoXyJxfnbCFS0ThSiQ==", "dev": true }, "canonical-path": { @@ -4405,23 +4453,26 @@ "dev": true }, "codelyzer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.5.0.tgz", - "integrity": "sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.0.0.tgz", + "integrity": "sha512-Bif70XYt8NFf/Q9GPTxmC86OsBRfQZq1dBjdruJ5kZhJ8/jKhJL6MvCLKnYtSOG6Rhiv/44DU0cHk6GYthjy8Q==", "dev": true, "requires": { "app-root-path": "^2.1.0", - "css-selector-tokenizer": "^0.7.0", + "aria-query": "^3.0.0", + "axobject-query": "^2.0.2", + "css-selector-tokenizer": "^0.7.1", "cssauron": "^1.4.0", + "damerau-levenshtein": "^1.0.4", "semver-dsl": "^1.0.1", "source-map": "^0.5.7", - "sprintf-js": "^1.1.1" + "sprintf-js": "^1.1.2" }, "dependencies": { "sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true } } @@ -4826,9 +4877,9 @@ "integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ==" }, "cordova-plugin-ionic-webview": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-4.0.0.tgz", - "integrity": "sha512-4CNDDXS9PZ+j38ZpzFqC6Ua5GySr/McXTPnWdRfhFSbuFCL6B/xhIHUVoeoj48wo6Sh+gDURvbaH9uu1Z53TJA==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-4.0.1.tgz", + "integrity": "sha512-rJf7jFQNw7l0U4Y7P6DjxwmO/qQgS7xqiTgwDbNFS4z4+FZ3EZyupll7/cFEDnxGRNMgWsMKDhIABUo5mIDaUQ==" }, "cordova-plugin-splashscreen": { "version": "5.0.2", @@ -5047,6 +5098,12 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, + "damerau-levenshtein": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -5461,9 +5518,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.115", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.115.tgz", - "integrity": "sha512-mN2qeapQWdi2B9uddxTZ4nl80y46hbyKY5Wt9Yjih+QZFQLdaujEDK4qJky35WhyxMzHF3ZY41Lgjd2BPDuBhg==", + "version": "1.3.124", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.124.tgz", + "integrity": "sha512-glecGr/kFdfeXUHOHAWvGcXrxNU+1wSO/t5B23tT1dtlvYB26GY8aHzZSWD7HqhqC800Lr+w/hQul6C5AF542w==", "dev": true }, "elementtree": { @@ -5727,9 +5784,9 @@ } }, "eslint-scope": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.2.tgz", - "integrity": "sha512-5q1+B/ogmHl8+paxtOKx38Z8LtWkVGuNt3+GQNErqwLl6ViNp/gdJGMCjZNxZ8j/VYjDNZ2Fo+eQc1TAVPIzbg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -7569,9 +7626,9 @@ } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", "dev": true }, "iferr": { @@ -7683,9 +7740,9 @@ } }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pkg-dir": { @@ -8394,9 +8451,9 @@ } }, "jasmine-core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.3.0.tgz", - "integrity": "sha512-3/xSmG/d35hf80BEN66Y6g9Ca5l/Isdeg/j6zvbTYlTzeKinzmaTM4p9am5kYqOmE05D7s1t8FGjzdSnbUbceA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.4.0.tgz", + "integrity": "sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg==", "dev": true }, "jasmine-spec-reporter": { @@ -8621,6 +8678,12 @@ "useragent": "2.3.0" }, "dependencies": { + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", + "dev": true + }, "mime": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", @@ -9253,9 +9316,9 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.2.0.tgz", - "integrity": "sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", @@ -9264,9 +9327,9 @@ }, "dependencies": { "mimic-fn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.0.0.tgz", - "integrity": "sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true } } @@ -9425,8 +9488,7 @@ "minimist": { "version": "0.0.8", "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "2.3.5", @@ -9516,7 +9578,6 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -9749,9 +9810,9 @@ } }, "node-releases": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.10.tgz", - "integrity": "sha512-KbUPCpfoBvb3oBkej9+nrU0/7xPlVhmhhUJ1PZqwIP5/1dJkRWKWD3OONjo6M2J7tSCBtDCumLwwqeI+DWWaLQ==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.13.tgz", + "integrity": "sha512-fKZGviSXR6YvVPyc011NHuJDSD8gFQvLPmc2d2V3BS4gr52ycyQ1Xzs7a8B+Ax3Ni/W+5h1h4SqmzeoA8WZRmA==", "dev": true, "requires": { "semver": "^5.3.0" @@ -10096,6 +10157,15 @@ "mimic-fn": "^1.0.0" } }, + "open": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.0.0.tgz", + "integrity": "sha512-/yb5mVZBz7mHLySMiSj2DcLtMBbFPJk5JBKEkHVZFxZAPzeg3L026O0T+lbdz1B2nyDnkClRSwRQJdeVUIF7zw==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, "opencollective": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", @@ -10319,9 +10389,9 @@ "dev": true }, "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", "dev": true }, "p-limit": { @@ -11158,9 +11228,9 @@ "dev": true }, "querystringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", - "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true }, "quote-stream": { @@ -12314,9 +12384,9 @@ } }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -12370,9 +12440,9 @@ } }, "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", "dev": true }, "spdy": { @@ -12435,9 +12505,9 @@ "dev": true }, "readable-stream": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", - "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -12448,9 +12518,9 @@ } }, "speed-measure-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-b9Yd0TrzceMVYSbuamM1sFsGM1oVfyFTM22gOoyLhymNvBVApuYpkdFOgYkKJpN/KhTpcCYcTGHg7X+FJ33Vvw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz", + "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==", "dev": true, "requires": { "chalk": "^2.0.1" @@ -13177,9 +13247,9 @@ } }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pify": { @@ -13360,8 +13430,7 @@ "traverse": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", - "dev": true + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" }, "tree-kill": { "version": "1.2.1", @@ -13393,9 +13462,9 @@ } }, "ts-node": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.2.tgz", - "integrity": "sha512-MosTrinKmaAcWgO8tqMjMJB22h+sp3Rd1i4fdoWY4mhBDekOwIAKI/bzmRi7IcbCmjquccYg2gcF6NBkLgr0Tw==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.3.tgz", + "integrity": "sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA==", "dev": true, "requires": { "arg": "^4.1.0", @@ -13406,9 +13475,9 @@ } }, "ts-optchain": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ts-optchain/-/ts-optchain-0.1.2.tgz", - "integrity": "sha512-Xs1/xpXgTQhvgjP1qLIm5LWsgwAdpRnlfrHvMTyMPCNb4MP0WgYGCnK4xJBx0l4ZM+//IDubrmHkvp6BWfZfCg==" + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ts-optchain/-/ts-optchain-0.1.3.tgz", + "integrity": "sha512-lWI+CJyJTP8oCRkpMOZzl67RduqNc6xxLssAa+F/1ryzWNHsmWmHSZJEKBGeRULsTbT/AduxpijF1IIp4gBN5A==" }, "ts-simple-ast": { "version": "12.4.0", @@ -13478,9 +13547,9 @@ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tslint": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.13.1.tgz", - "integrity": "sha512-fplQqb2miLbcPhyHoMV4FU9PtNRbgmm/zI5d3SZwwmJQM6V0eodju+hplpyfhLWpmwrDNfNYU57uYRb8s0zZoQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz", + "integrity": "sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -13489,13 +13558,25 @@ "commander": "^2.12.1", "diff": "^3.2.0", "glob": "^7.1.1", - "js-yaml": "^3.7.0", + "js-yaml": "^3.13.0", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.27.2" + "tsutils": "^2.29.0" + }, + "dependencies": { + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } } }, "tslint-eslint-rules": { @@ -13514,9 +13595,9 @@ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==" }, "tsutils": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.8.0.tgz", - "integrity": "sha512-XQdPhgcoTbCD8baXC38PQ0vpTZ8T3YrE+vR66YIj/xvDt1//8iAhafpIT/4DmvzzC1QFapEImERu48Pa01dIUA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.10.0.tgz", + "integrity": "sha512-q20XSMq7jutbGB8luhKKsQldRKWvyBO2BGqni3p4yq8Ys9bEP/xQw3KepKmMRt9gJ4lvQSScrihJrcKdKoSU7Q==", "requires": { "tslib": "^1.8.1" } @@ -14070,9 +14151,9 @@ }, "dependencies": { "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", + "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==", "dev": true } } @@ -14245,9 +14326,9 @@ } }, "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", + "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==", "dev": true }, "ms": { @@ -14286,9 +14367,9 @@ } }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pump": { @@ -14769,15 +14850,15 @@ "dev": true }, "yn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", - "integrity": "sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", + "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", "dev": true }, "zone.js": { - "version": "0.8.29", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.29.tgz", - "integrity": "sha512-mla2acNCMkWXBD+c+yeUrBUrzOxYMNFdQ6FGfigGGtEVBPJx07BQeJekjt9DmH1FtZek4E9rE1eRR9qQpxACOQ==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.9.0.tgz", + "integrity": "sha512-EfygvVnLxPSCMSgJ4h7SoY+XNr7ybdwvvwEQ70lvMFl9coNnciXSyWi8Kg6znK1ubyUSffkCKvleSQpLuUKw0Q==" } } } diff --git a/package.json b/package.json index 74ea619f..9f32f32c 100644 --- a/package.json +++ b/package.json @@ -25,24 +25,24 @@ "test": "ng test" }, "dependencies": { - "@angular/common": "7.2.7", - "@angular/core": "7.2.7", - "@angular/forms": "7.2.7", - "@angular/http": "7.2.7", - "@angular/platform-browser": "7.2.7", - "@angular/platform-browser-dynamic": "7.2.7", - "@angular/router": "7.2.7", - "@ionic-native/core": "5.2.0", - "@ionic-native/geolocation": "5.2.0", - "@ionic-native/splash-screen": "5.2.0", - "@ionic-native/status-bar": "5.2.0", - "@ionic/angular": "4.0.2", + "@angular/common": "7.2.12", + "@angular/core": "7.2.12", + "@angular/forms": "7.2.12", + "@angular/http": "7.2.12", + "@angular/platform-browser": "7.2.12", + "@angular/platform-browser-dynamic": "7.2.12", + "@angular/router": "7.2.12", + "@ionic-native/core": "5.4.0", + "@ionic-native/geolocation": "5.4.0", + "@ionic-native/splash-screen": "5.4.0", + "@ionic-native/status-bar": "5.4.0", + "@ionic/angular": "4.2.0", "@ionic/storage": "2.2.0", "@ngx-translate/core": "11.0.1", "@ngx-translate/http-loader": "4.0.0", - "@openstapps/api": "0.4.1", - "@openstapps/configuration": "0.7.0", - "@openstapps/core": "0.12.0", + "@openstapps/api": "0.6.0", + "@openstapps/configuration": "0.8.0", + "@openstapps/core": "0.15.0", "@openstapps/logger": "0.0.5", "cordova-android": "8.0.0", "cordova-browser": "6.0.0", @@ -50,31 +50,31 @@ "cordova-plugin-device": "2.0.2", "cordova-plugin-geolocation": "4.0.1", "cordova-plugin-ionic-keyboard": "2.1.3", - "cordova-plugin-ionic-webview": "4.0.0", + "cordova-plugin-ionic-webview": "4.0.1", "cordova-plugin-splashscreen": "5.0.2", "cordova-plugin-whitelist": "1.3.3", "core-js": "2.6.5", "rxjs": "6.4.0", - "zone.js": "0.8.29" + "zone.js": "0.9.0" }, "devDependencies": { - "@angular-devkit/architect": "0.13.4", - "@angular-devkit/build-angular": "0.13.4", - "@angular-devkit/core": "7.3.4", - "@angular-devkit/schematics": "7.3.4", - "@angular/cli": "7.3.4", - "@angular/compiler": "7.2.7", - "@angular/compiler-cli": "7.2.7", - "@angular/language-service": "7.2.7", + "@angular-devkit/architect": "0.13.8", + "@angular-devkit/build-angular": "0.13.8", + "@angular-devkit/core": "7.3.8", + "@angular-devkit/schematics": "7.3.8", + "@angular/cli": "7.3.8", + "@angular/compiler": "7.2.12", + "@angular/compiler-cli": "7.2.12", + "@angular/language-service": "7.2.12", "@compodoc/compodoc": "1.1.9", "@ionic/ng-toolkit": "1.1.0", "@ionic/schematics-angular": "1.0.7", - "@types/jasmine": "3.3.9", + "@types/jasmine": "3.3.12", "@types/jasminewd2": "2.0.6", - "@types/node": "11.10.4", - "codelyzer": "4.5.0", + "@types/node": "11.13.2", + "codelyzer": "5.0.0", "is-docker": "1.1.0", - "jasmine-core": "3.3.0", + "jasmine-core": "3.4.0", "jasmine-spec-reporter": "4.2.1", "karma": "4.0.1", "karma-chrome-launcher": "2.2.0", @@ -84,8 +84,8 @@ "karma-mocha-reporter": "2.2.5", "protractor": "5.4.2", "surge": "0.20.3", - "ts-node": "8.0.2", - "tslint": "5.13.1", + "ts-node": "8.0.3", + "tslint": "5.15.0", "typescript": "3.2.4" }, "cordova": { diff --git a/src/app/modules/_helpers/errors.ts b/src/app/_helpers/errors.ts similarity index 100% rename from src/app/modules/_helpers/errors.ts rename to src/app/_helpers/errors.ts diff --git a/src/app/_helpers/fake-backend.interceptor.ts b/src/app/_helpers/fake-backend.interceptor.ts index 9e755def..9293dea8 100644 --- a/src/app/_helpers/fake-backend.interceptor.ts +++ b/src/app/_helpers/fake-backend.interceptor.ts @@ -15,89 +15,150 @@ import {HTTP_INTERCEPTORS, HttpClient, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http'; import {Injectable} from '@angular/core'; -import {Observable} from 'rxjs'; -// import {SCThing} from '@openstapps/core'; -// import {Observable, of} from 'rxjs'; +import {SCIndexResponse, SCThingType} from '@openstapps/core'; +import {Observable, of} from 'rxjs'; import {map} from 'rxjs/operators'; import {SampleThings} from './data/sample-things'; +const sampleIndexResponse: SCIndexResponse = { + app: { + campusPolygon: { + coordinates: [ + [ + [ + 13.31916332244873, + 52.50796756998264, + ], + [ + 13.336544036865234, + 52.50796756998264, + ], + [ + 13.336544036865234, + 52.51726547416385, + ], + [ + 13.31916332244873, + 52.51726547416385, + ], + [ + 13.31916332244873, + 52.50796756998264, + ], + ], + ], + type: 'Polygon', + }, + features: { + widgets: true, + }, + menus: [], + name: 'StApps - Technische Universität Berlin', + privacyPolicyUrl: 'https://stappsbe01.innocampus.tu-berlin.de/_static/privacy.md', + settings: [], + }, + backend: { + SCVersion: '1.0.0', + hiddenTypes: [ + SCThingType.DateSeries, + SCThingType.Diff, + SCThingType.Floor, + ], + maxMultiSearchRouteQueries: 5, + maxRequestBodySize: 512 * 1024, + name: 'Technische Universität Berlin', + namespace: '909a8cbc-8520-456c-b474-ef1525f14209', + sortableFields: [ + { + fieldName: 'name', + sortTypes: ['ducet'], + }, + { + fieldName: 'type', + sortTypes: ['ducet'], + }, + { + fieldName: 'categories', + onlyOnTypes: [ + SCThingType.AcademicEvent, + SCThingType.Building, + SCThingType.Catalog, + SCThingType.Dish, + SCThingType.PointOfInterest, + SCThingType.Room, + ], + sortTypes: ['ducet'], + }, + { + fieldName: 'geo.point.coordinates', + onlyOnTypes: [ + SCThingType.Building, + SCThingType.PointOfInterest, + SCThingType.Room, + ], + sortTypes: ['distance'], + }, + { + fieldName: 'geo.point.coordinates', + onlyOnTypes: [ + SCThingType.Building, + SCThingType.PointOfInterest, + SCThingType.Room, + ], + sortTypes: ['distance'], + }, + { + fieldName: 'inPlace.geo.point.coordinates', + onlyOnTypes: [ + SCThingType.DateSeries, + SCThingType.Dish, + SCThingType.Floor, + SCThingType.Organization, + SCThingType.PointOfInterest, + SCThingType.Room, + SCThingType.Ticket, + ], + sortTypes: ['distance'], + }, + { + fieldName: 'offers', + onlyOnTypes: [ + SCThingType.Dish, + ], + sortTypes: ['price'], + }, + ], + }, +}; + @Injectable() export class FakeBackendInterceptor implements HttpInterceptor { sampleFetcher: SampleThings; - // http: HttpClient; - // tslint:disable-next-line:no-empty constructor(http: HttpClient) { this.sampleFetcher = new SampleThings(http); - // this.http = http; } - // intercept(request: HttpRequest, next: HttpHandler): Observable> { - // let data: SCThing[] = []; - // // fake responses for search requests for easier (backendless) development process - // if (request.url.endsWith('/search') && request.method === 'POST') { - // if (typeof request.body.filter !== 'undefined' && typeof request.body.filter.arguments !== 'undefined') { - // if (request.body.filter.arguments.field === 'uid') { - // // provide items with given uid for search requests requesting single items (detail view) - // data = getSampleThings(request.body.filter.arguments.value); - // return this.sampleFetcher.getSampleThings().pipe(map((sampleData: any) => { - // return new HttpResponse({status: 200, body: {data: [sampleData.instance]}}); - // // return new HttpResponse({status: 200, body: {data: [sampleData.instance]}}); - // }), - // // data = getSampleThings(); - // ); - // } - // } else { - // // if filter and arguments are not set, then provide all sample items (things) - // data = getSampleThings(); - // // fake a response of the backend with previously defined data - // return of(new HttpResponse({status: 200, body: {data: data}})); - // } - // // fake a response of the backend with previously defined data - // // return of(new HttpResponse({status: 200, body: {data: data}})); - // return next.handle(request); - // } else { - // // for all other requests, forward the requests to actually requested URL (backend) - // return next.handle(request); - // } - // } -// } - -// } - // intercept(request: HttpRequest, next: HttpHandler): Observable> { - // // let data: SCThing[] = []; - // // fake responses for search requests for easier (backendless) development process - // if (request.url.endsWith('/search') && request.method === 'POST') { - // return this.sampleFetcher.getSampleThings().pipe(map((sampleData: any) => { - // return new HttpResponse({status: 200, body: {data: sampleData}}); - // // return new HttpResponse({status: 200, body: {data: [sampleData.instance]}}); - // })); - // // return of(new HttpResponse({status: 200, body: {data: data}})); - // } else { - // // for all other requests, forward the requests to actually requested URL (backend) - // return next.handle(request); - // } - // } - intercept(request: HttpRequest, next: HttpHandler): Observable> { - // let data: SCThing[] = []; - // fake responses for search requests for easier (backendless) development process - if (request.url.endsWith('/search') && request.method === 'POST') { - if (typeof request.body.filter !== 'undefined' && typeof request.body.filter.arguments !== 'undefined') { - if (request.body.filter.arguments.field === 'uid') { - return this.sampleFetcher.getSampleThing(request.body.filter.arguments.value).pipe(map((sampleData: any) => { - return new HttpResponse({status: 200, body: {data: sampleData}}); - })); + if (request.method === 'POST') { + if (request.url.endsWith('/') && request.method === 'POST') { + // respond with expected (faked) index response + return of(new HttpResponse({status: 200, body: sampleIndexResponse})); + // respond with a search response with sample data + } else if (request.url.endsWith('/search')) { + if (typeof request.body.filter !== 'undefined' && typeof request.body.filter.arguments !== 'undefined') { + if (request.body.filter.arguments.field === 'uid') { + return this.sampleFetcher.getSampleThing(request.body.filter.arguments.value) + .pipe(map((sampleData: any) => { + return new HttpResponse({status: 200, body: {data: sampleData}}); + })); + } } + return this.sampleFetcher.getSampleThings().pipe(map((sampleData: any) => { + return new HttpResponse({status: 200, body: {data: sampleData}}); + })); } - return this.sampleFetcher.getSampleThings().pipe(map((sampleData: any) => { - return new HttpResponse({status: 200, body: {data: sampleData}}); - // return new HttpResponse({status: 200, body: {data: [sampleData.instance]}}); - })); - // return of(new HttpResponse({status: 200, body: {data: data}})); - } else { - // for all other requests, forward the requests to actually requested URL (backend) - return next.handle(request); } + return next.handle(request); } } diff --git a/src/app/modules/_helpers/fake-backend.interceptor.ts b/src/app/modules/_helpers/fake-backend.interceptor.ts deleted file mode 100644 index c42f1f1a..00000000 --- a/src/app/modules/_helpers/fake-backend.interceptor.ts +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (C) 2018, 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {HttpEvent, - HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http'; -import {Injectable} from '@angular/core'; -import {SCIndexResponse} from '@openstapps/core'; -import {Observable, of} from 'rxjs'; - -const sampleIndexResponse: SCIndexResponse = { - app: { - campusPolygon: { - coordinates: [ - [ - [ - 13.31916332244873, - 52.50796756998264, - ], - [ - 13.336544036865234, - 52.50796756998264, - ], - [ - 13.336544036865234, - 52.51726547416385, - ], - [ - 13.31916332244873, - 52.51726547416385, - ], - [ - 13.31916332244873, - 52.50796756998264, - ], - ], - ], - type: 'Polygon', - }, - features: { - widgets: true, - }, - menus: [], - name: 'StApps - Technische Universität Berlin', - privacyPolicyUrl: 'https://stappsbe01.innocampus.tu-berlin.de/_static/privacy.md', - settings: [], - }, - backend: { - SCVersion: '1.0.0', - hiddenTypes: [ - 'date series', - 'diff', - 'floor', - ], - name: 'Technische Universität Berlin', - namespace: '909a8cbc-8520-456c-b474-ef1525f14209', - sortableFields: [ - { - fieldName: 'name', - sortTypes: ['ducet'], - }, - { - fieldName: 'type', - sortTypes: ['ducet'], - }, - { - fieldName: 'categories', - onlyOnTypes: [ - 'academic event', - 'building', - 'catalog', - 'dish', - 'point of interest', - 'room', - ], - sortTypes: ['ducet'], - }, - { - fieldName: 'geo.point.coordinates', - onlyOnTypes: [ - 'building', - 'point of interest', - 'room', - ], - sortTypes: ['distance'], - }, - { - fieldName: 'geo.point.coordinates', - onlyOnTypes: [ - 'building', - 'point of interest', - 'room', - ], - sortTypes: ['distance'], - }, - { - fieldName: 'inPlace.geo.point.coordinates', - onlyOnTypes: [ - 'date series', - 'dish', - 'floor', - 'organization', - 'point of interest', - 'room', - 'ticket', - ], - sortTypes: ['distance'], - }, - { - fieldName: 'offers', - onlyOnTypes: [ - 'dish', - ], - sortTypes: ['price'], - }, - ], - }, -}; - -@Injectable() -export class FakeBackendInterceptor implements HttpInterceptor { - intercept(request: HttpRequest, next: HttpHandler): Observable> { - if (request.url.endsWith('/') && request.method === 'POST') { - // respond 200 OK - return of(new HttpResponse({status: 200, body: sampleIndexResponse})); - } else { - return next.handle(request); - } - } -} diff --git a/src/app/modules/config/config.provider.spec.ts b/src/app/modules/config/config.provider.spec.ts index 38fe92f5..02b6ec52 100644 --- a/src/app/modules/config/config.provider.spec.ts +++ b/src/app/modules/config/config.provider.spec.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ import {TestBed} from '@angular/core/testing'; -import {SCIndexResponse} from '@openstapps/core'; -import {StAppsWebHttpClient} from '../data/data.provider'; +import {SCIndexResponse, SCThingOriginType, SCThingType} from '@openstapps/core'; +import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider'; import {StorageProvider} from '../storage/storage.provider'; import {ConfigProvider, STORAGE_KEY_CONFIG} from './config.provider'; import { @@ -50,7 +50,7 @@ describe('ConfigProvider', () => { }); it('should fetch app configuration', async () => { - spyOn(configProvider.client, 'handshake').and.returnValue(sampleIndexResponse); + spyOn(configProvider.client, 'handshake').and.returnValue(Promise.resolve(sampleIndexResponse)); const result = await configProvider.fetch(); expect(result).toEqual(sampleIndexResponse); }); @@ -67,8 +67,8 @@ describe('ConfigProvider', () => { }); it('should init from remote and saved config not available', async () => { - storageProviderSpy.has.and.returnValue(false); - spyOn(configProvider.client, 'handshake').and.returnValue(sampleIndexResponse); + storageProviderSpy.has.and.returnValue(Promise.resolve(false)); + spyOn(configProvider.client, 'handshake').and.returnValue(Promise.resolve(sampleIndexResponse)); try { await configProvider.init(); } catch (error) { @@ -82,8 +82,8 @@ describe('ConfigProvider', () => { }); it('should init from storage with remote fails', async () => { - storageProviderSpy.has.and.returnValue(true); - storageProviderSpy.get.and.returnValue(sampleIndexResponse); + storageProviderSpy.has.and.returnValue(Promise.resolve(true)); + storageProviderSpy.get.and.returnValue(Promise.resolve(sampleIndexResponse)); spyOn(configProvider.client, 'handshake').and.throwError(''); let error = new Error(''); try { @@ -99,7 +99,7 @@ describe('ConfigProvider', () => { }); it('should throw error on failed initialisation', async () => { - storageProviderSpy.has.and.returnValue(false); + storageProviderSpy.has.and.returnValue(Promise.resolve(false)); spyOn(configProvider.client, 'handshake').and.throwError(''); let error = null; try { @@ -111,11 +111,11 @@ describe('ConfigProvider', () => { }); it('should throw error on wrong config version in storage', async () => { - storageProviderSpy.has.and.returnValue(true); + storageProviderSpy.has.and.returnValue(Promise.resolve(true)); const wrongConfig = JSON.parse(JSON.stringify(sampleIndexResponse)); wrongConfig.backend.SCVersion = '0.1.0'; storageProviderSpy.get.and.returnValue(wrongConfig); - spyOn(configProvider.client, 'handshake').and.returnValue(sampleIndexResponse); + spyOn(configProvider.client, 'handshake').and.returnValue(Promise.resolve(sampleIndexResponse)); let error = null; try { await configProvider.init(); @@ -126,7 +126,7 @@ describe('ConfigProvider', () => { }); it('should throw error on saved app configuration not available', async () => { - storageProviderSpy.has.and.returnValue(false); + storageProviderSpy.has.and.returnValue(Promise.resolve(false)); let error = new Error(''); try { await configProvider.loadLocal(); @@ -147,16 +147,16 @@ describe('ConfigProvider', () => { }); it('should return app configuration value', async () => { - storageProviderSpy.has.and.returnValue(true); - storageProviderSpy.get.and.returnValue(sampleIndexResponse); - spyOn(configProvider.client, 'handshake').and.returnValue(sampleIndexResponse); + storageProviderSpy.has.and.returnValue(Promise.resolve(true)); + storageProviderSpy.get.and.returnValue(Promise.resolve(sampleIndexResponse)); + spyOn(configProvider.client, 'handshake').and.returnValue(Promise.resolve(sampleIndexResponse)); await configProvider.init(); expect(await configProvider.getValue('name')).toEqual(sampleIndexResponse.app.name); }); it('should return app configuration value if only saved config is available and fetch fails', async () => { - storageProviderSpy.has.and.returnValue(true); - storageProviderSpy.get.and.returnValue(sampleIndexResponse); + storageProviderSpy.has.and.returnValue(Promise.resolve(true)); + storageProviderSpy.get.and.returnValue(Promise.resolve(sampleIndexResponse)); spyOn(configProvider.client, 'handshake').and.throwError(''); expect(await configProvider.getValue('name')).toEqual(sampleIndexResponse.app.name); }); @@ -216,6 +216,7 @@ const sampleIndexResponse: SCIndexResponse = { origin: { indexed: '2018-09-11T12:30:00Z', name: 'Dummy', + type: SCThingOriginType.Remote, }, translations: { de: { @@ -227,7 +228,7 @@ const sampleIndexResponse: SCIndexResponse = { name: 'Username', }, }, - type: 'setting', + type: SCThingType.Setting, uid: '', }, ], @@ -235,10 +236,12 @@ const sampleIndexResponse: SCIndexResponse = { backend: { SCVersion: '1.0.0', hiddenTypes: [ - 'date series', - 'diff', - 'floor', + SCThingType.DateSeries, + SCThingType.Diff, + SCThingType.Floor, ], + maxMultiSearchRouteQueries: 5, + maxRequestBodySize: 512 * 1024, name: 'Technische Universität Berlin', namespace: '909a8cbc-8520-456c-b474-ef1525f14209', sortableFields: [ @@ -253,50 +256,50 @@ const sampleIndexResponse: SCIndexResponse = { { fieldName: 'categories', onlyOnTypes: [ - 'academic event', - 'building', - 'catalog', - 'dish', - 'point of interest', - 'room', + SCThingType.AcademicEvent, + SCThingType.Building, + SCThingType.Catalog, + SCThingType.Dish, + SCThingType.PointOfInterest, + SCThingType.Room, ], sortTypes: ['ducet'], }, { fieldName: 'geo.point.coordinates', onlyOnTypes: [ - 'building', - 'point of interest', - 'room', + SCThingType.Building, + SCThingType.PointOfInterest, + SCThingType.Room, ], sortTypes: ['distance'], }, { fieldName: 'geo.point.coordinates', onlyOnTypes: [ - 'building', - 'point of interest', - 'room', + SCThingType.Building, + SCThingType.PointOfInterest, + SCThingType.Room, ], sortTypes: ['distance'], }, { fieldName: 'inPlace.geo.point.coordinates', onlyOnTypes: [ - 'date series', - 'dish', - 'floor', - 'organization', - 'point of interest', - 'room', - 'ticket', + SCThingType.DateSeries, + SCThingType.Dish, + SCThingType.Floor, + SCThingType.Organization, + SCThingType.PointOfInterest, + SCThingType.Room, + SCThingType.Ticket, ], sortTypes: ['distance'], }, { fieldName: 'offers', onlyOnTypes: [ - 'dish', + SCThingType.Dish, ], sortTypes: ['price'], }, diff --git a/src/app/modules/config/config.provider.ts b/src/app/modules/config/config.provider.ts index 9929cda1..b30a9601 100644 --- a/src/app/modules/config/config.provider.ts +++ b/src/app/modules/config/config.provider.ts @@ -17,7 +17,7 @@ import {Client} from '@openstapps/api/lib/client'; import {SCAppConfiguration, SCIndexResponse} from '@openstapps/core'; import {Logger} from '@openstapps/logger'; import {environment} from '../../../environments/environment'; -import {StAppsWebHttpClient} from '../data/data.provider'; +import {StAppsWebHttpClient} from '../data/stapps-web-http-client.provider'; import {StorageProvider} from '../storage/storage.provider'; import { ConfigFetchError, diff --git a/src/app/modules/config/errors.ts b/src/app/modules/config/errors.ts index ad77ed69..98fb4bad 100644 --- a/src/app/modules/config/errors.ts +++ b/src/app/modules/config/errors.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ -import {AppError} from '../_helpers/errors'; +import {AppError} from './../../_helpers/errors'; /** * Error that is thrown when fetching from backend fails diff --git a/src/app/modules/data/data.provider.spec.ts b/src/app/modules/data/data.provider.spec.ts index 840f3f19..a480258a 100644 --- a/src/app/modules/data/data.provider.spec.ts +++ b/src/app/modules/data/data.provider.spec.ts @@ -85,7 +85,7 @@ describe('DataProvider', () => { }); it('should provide backend data items using search query', async () => { - spyOn(Client.prototype, 'search').and.callFake(() => { + spyOn(Client.prototype as any, 'search').and.callFake(() => { return { then: (callback: any) => { return callback(sampleResponse); @@ -98,7 +98,7 @@ describe('DataProvider', () => { it('should put an data item into the local database (storage)', async () => { let providedThing: SCSaveableThing; - spyOn(storageProvider, 'put').and.callFake((_id: any, thing: any) => { + spyOn(storageProvider, 'put' as any).and.callFake((_id: any, thing: any) => { providedThing = thing; providedThing.origin.created = sampleSavable.origin.created; }); @@ -131,7 +131,7 @@ describe('DataProvider', () => { }); it('should provide single data from the backend', async () => { - spyOn(Client.prototype, 'getThing').and.callFake(() => { + spyOn(Client.prototype, 'getThing' as any).and.callFake(() => { return { then: (callback: any) => { return callback(sampleThing); @@ -145,14 +145,14 @@ describe('DataProvider', () => { }); it('should get an item from both local and remote database', async () => { - spyOn(Client.prototype, 'getThing').and.callFake(() => { + spyOn(Client.prototype, 'getThing' as any).and.callFake(() => { return { then: (callback: any) => { return callback(sampleThing); }, }; }); - spyOn(storageProvider, 'get').and.callFake(() => { + spyOn(storageProvider, 'get' as any).and.callFake(() => { return { then: (callback: any) => { return callback(sampleSavable); diff --git a/src/app/modules/data/detail/data-detail.component.spec.ts b/src/app/modules/data/detail/data-detail.component.spec.ts index fb408346..e33024a5 100644 --- a/src/app/modules/data/detail/data-detail.component.spec.ts +++ b/src/app/modules/data/detail/data-detail.component.spec.ts @@ -61,7 +61,7 @@ describe('DataDetailComponent', () => { beforeEach(async () => { dataProvider = TestBed.get(DataProvider); refresher = jasmine.createSpyObj('refresher', ['complete']); - spyOn(dataProvider, 'get').and.returnValue(Promise.resolve(sampleThing)); + spyOn(dataProvider, 'get' as any).and.returnValue(Promise.resolve(sampleThing)); spyOn(DataDetailComponent.prototype, 'getItem').and.callThrough(); fixture = await TestBed.createComponent(DataDetailComponent); comp = fixture.componentInstance;