diff --git a/config.xml b/config.xml index fe6e45f95..9948044e3 100644 --- a/config.xml +++ b/config.xml @@ -33,7 +33,7 @@ - + diff --git a/gulpfile.js b/gulpfile.js index d3377c5d7..7994ecc06 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,6 +6,8 @@ var gulp = require('gulp'), slash = require('gulp-slash'), clipEmptyFiles = require('gulp-clip-empty-files'), gutil = require('gulp-util'), + flatten = require('gulp-flatten'), + npmPath = require('path'), File = gutil.File, license = '' + '// (C) Copyright 2015 Martin Dougiamas\n' + @@ -185,6 +187,22 @@ function buildLangs(filenames, langPaths, buildDest, done) { }); } +// Delete a folder and all its contents. +function deleteFolderRecursive(path) { + if (fs.existsSync(path)) { + fs.readdirSync(path).forEach(function(file) { + var curPath = npmPath.join(path, file); + if (fs.lstatSync(curPath).isDirectory()) { + deleteFolderRecursive(curPath); + } else { + fs.unlinkSync(curPath); + } + }); + + fs.rmdirSync(path); + } +} + // List of app lang files. To be used only if cannot get it from filesystem. var appLangFiles = ['ar.json', 'bg.json', 'ca.json', 'cs.json', 'da.json', 'de.json', 'en.json', 'es-mx.json', 'es.json', 'eu.json', 'fa.json', 'fr.json', 'he.json', 'hu.json', 'it.json', 'ja.json', 'nl.json', 'pl.json', 'pt-br.json', 'pt.json', 'ro.json', @@ -269,3 +287,23 @@ gulp.task('config', function(done) { .pipe(gulp.dest(paths.src)) .on('end', done); }); + +var templatesSrc = [ + './src/components/**/*.html', + './src/core/**/components/**/*.html', + './src/core/**/component/**/*.html', + // Only some addon components are injected to compile to decrease load time. Copy only the ones that are needed. + './src/addon/mod/assign/components/**/*.html' + ], + templatesDest = './www/templates'; + +// Copy component templates to www to make compile-html work in AOT. +gulp.task('copy-component-templates', function(done) { + deleteFolderRecursive(templatesDest); + + gulp.src(templatesSrc) + .pipe(flatten()) + .pipe(gulp.dest(templatesDest)) + .on('end', done); +}); + diff --git a/package-lock.json b/package-lock.json index 83b95b76c..ecea0ccd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,159 +4,130 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "7zip-bin": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.2.7.tgz", - "integrity": "sha1-ckgCuNa9oL8s/mGkuGqCDvyOzpM=", - "optional": true, - "requires": { - "7zip-bin-linux": "^1.1.0", - "7zip-bin-mac": "^1.0.1", - "7zip-bin-win": "^2.1.1" - } - }, - "7zip-bin-linux": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/7zip-bin-linux/-/7zip-bin-linux-1.3.1.tgz", - "integrity": "sha512-Wv1uEEeHbTiS1+ycpwUxYNuIcyohU6Y6vEqY3NquBkeqy0YhVdsNUGsj0XKSRciHR6LoJSEUuqYUexmws3zH7Q==", - "optional": true - }, - "7zip-bin-mac": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz", - "integrity": "sha1-Pmh3i78JJq3GgVlCcHRQXUdVXAI=", - "optional": true - }, - "7zip-bin-win": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.2.0.tgz", - "integrity": "sha512-uPHXapEmUtlUKTBx4asWMlxtFUWXzEY0KVEgU7QKhgO2LJzzM3kYxM6yOyUZTtYE6mhK4dDn3FDut9SCQWHzgg==", - "optional": true - }, "@angular-devkit/build-optimizer": { "version": "0.0.35", "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.35.tgz", "integrity": "sha512-7JxZZAYFSCc0tP6+NrRn3b2Cd1b9d+a3+OfwVNyNsNd2unelqUMko2hm0KLbC8BXcXt/OILg1E/ZgLAXSS47nw==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "source-map": "^0.5.6", - "typescript": "~2.6.1", - "webpack-sources": "^1.0.1" + "loader-utils": "1.1.0", + "source-map": "0.5.7", + "typescript": "2.6.2", + "webpack-sources": "1.1.0" }, "dependencies": { - "typescript": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@angular/animations": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.9.tgz", - "integrity": "sha1-Ig25+1pSoZPbACPXIbI93SWnV3A=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.10.tgz", + "integrity": "sha512-QNYXqnti8BeFriNaZ/juLnO6l0MVlVNUmLycC9ma+pdTiEJl8rtgZ0WXxgOCjScyKpInkWn2J+m9FI/78SYFpw==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/common": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.0.tgz", - "integrity": "sha1-+W1mpRe5ldG6mygwnxXC41lnWCU=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.10.tgz", + "integrity": "sha512-4zgI/Q6bo/KCvrDPf8gc2IpTJ3PFKgd9RF4jZuh1uc+uEYTAj396tDF8o412AJ/iwtYOHWUx+YgzAvT8dHXZ5Q==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/compiler": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.0.tgz", - "integrity": "sha1-uf+/GMijnYt9rOxHMZOpDiTMK8k=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.10.tgz", + "integrity": "sha512-FI9ip+aWGpKQB+VfNbFQ+wyh0K4Th8Q/MrHxW6CN4BYVAfFtfORRohvyyYk0sRxuQO8JFN3W/FFfdXjuL+cZKw==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/compiler-cli": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.0.tgz", - "integrity": "sha1-Dsu5N9hKT43ZTwwqR7B9LkaUyFM=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.10.tgz", + "integrity": "sha512-RhI26rVALRn3LrU0CAIEj56m60vLyCd8e2Ah79yRP6vlXL8k6SylXytUljTeXIBtiVu2Bi1qKGf2s1X674GzCw==", "requires": { - "chokidar": "^1.4.2", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "tsickle": "^0.24.0" + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.12", + "tsickle": "0.27.5" } }, "@angular/core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.0.tgz", - "integrity": "sha1-T5dqIl993fNJkvLK2CTJVDpG9Mg=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.10.tgz", + "integrity": "sha512-glDuTtHTcAVhfU3NVewxz/W+Iweq5IaeW2tnMa+RKLopYk9fRs8eR5iTixTGvegwKR770vfXg/gR7P6Ii5cYGQ==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/forms": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.0.tgz", - "integrity": "sha1-x/3fo1OWdZrphSkgowzdqMQe0d4=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.10.tgz", + "integrity": "sha512-XQR4cd1Eey9aDT3CxQ6pbBWSBEg1408ZV/EUblKgMgt4k8PfDiuLSbF+MI/TOYAg3UkcVAxN1no4hWtkou8Rpw==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/http": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.0.tgz", - "integrity": "sha1-Byiivgz7sHhyfF64fUyF1T/smlE=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.10.tgz", + "integrity": "sha512-euEJbxpH+pKBAwGUSo7XvNdods/kY6I4s8OUaJPUMtraQkhE6TJ0OMYvnqmGbdLimsg3ZMxqm54jCOjj9saEOQ==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/platform-browser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.0.tgz", - "integrity": "sha1-xwOPfN6AcFtiAUiXIx4YLuyXb+0=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.10.tgz", + "integrity": "sha512-oF1A0BS1wpTlxfv6YytkFCkztvvtVllnh5IUnoyV+siVT3qogKat9ZmzCmcDJ5SvIDYkY+rXBhumyFzBZ5ufFg==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@angular/platform-browser-dynamic": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0.tgz", - "integrity": "sha1-iH4QbIsQOwQVz2FWpCXabYP0yJ0=", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.10.tgz", + "integrity": "sha512-TquhIkyR6uXfmzk6RiEl5+8Kk653Wqe4F+pKn5gFi+Z6cDm4nkDlT9kgT3e6c08JHw9fGGAvNmsalq7oS+PnNg==", "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.2" } }, "@ionic-native/badge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@ionic-native/badge/-/badge-4.6.0.tgz", - "integrity": "sha512-tzPqvETj5OEDdo3nlgMbMaCnuJ9+8RzCat3yOxtpRt3IWfYFgPqr7CrKYgQF68UBg/7S5Gc1l4OmM0f3yQru7w==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/badge/-/badge-4.7.0.tgz", + "integrity": "sha512-WMJXnNcqi7aHihpXiMX0t3eNXmcSa8T1VT8ImwT2ZKWG/BKf4nLXlvkgiAEKyXUfgIlTvz+2cSq/EKxZW4sWNQ==" }, "@ionic-native/camera": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-4.5.2.tgz", - "integrity": "sha512-sHvyGyCq84FvqNklkBXViUMR75twYhxxdN6P2FT3MgNY9bJ7Z1tZvs+YVqPF+nBbedXEXIeGbYYGbIJnUNLNGQ==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-4.7.0.tgz", + "integrity": "sha512-5zVAuWuOggoDSg61qNLRq7FKH0X9SK8jb1gfB/yNeWMMkBgN2HSwd6lpVuLG8ijEx5At3B7AxzQzQw5WCoUxQg==" }, "@ionic-native/clipboard": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/clipboard/-/clipboard-4.5.2.tgz", - "integrity": "sha512-AzYR+tZdrIXLmaifa+pGJesP2oYfzMjZ2IC8JdW6cVdc4mJRRjKv5SZhZJLwywTsbBQtC7Ugd8VyIuE5p7AM0g==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/clipboard/-/clipboard-4.7.0.tgz", + "integrity": "sha512-rvfphVFt25A7hnoMvEYvvXEdZyf4tsvP1gUDMgBrzcDoA+yeNzrotsworn+V7vRltqiXekYdKwM7kKB7jtU1Sw==" }, "@ionic-native/core": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-4.3.0.tgz", - "integrity": "sha1-DWE7tsh3kUaUlRQpnKHAJhHjCKk=" + "integrity": "sha512-Pf0qCzqlVFmIpZpvo35Kl0e+1K8GUgPMcKBnN57gWh+5Ecj3dPcb+MbP4murJo/dnFsIYPYdXRZRf74hjo6gtw==" }, "@ionic-native/device": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-4.6.0.tgz", - "integrity": "sha512-xHXmfoRQ0aAJRiD3ZmHOExfQTbgv4Bgu6aDeGVOQ2vo5ZShIvHR1zvhjZ65Avg0tNf3Bz4ZqRIYpSENj77XI5g==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-4.7.0.tgz", + "integrity": "sha512-jU+PldoDtJtDB7oPHx/OdBODpFBiTrlTLmj6oQ0DF2IxmJA2sy/CPDgnl5HKnd0lbf6JBYtjlXvrGKLffTZPpw==" }, "@ionic-native/file": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-4.5.2.tgz", - "integrity": "sha512-6XmK6oFHpVCbZNAJffX09UWxQvwNcKMTy1qKu6iXzxRoEuhsGEls17B1COA+fr2JuPwitxGm14ZzsBXN5pPLiA==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-4.7.0.tgz", + "integrity": "sha512-W5wHpBHBMns3NBrUYAUNDSN843MzWYWZ72rBX56onNKCDaYXZS4WuFExVHh2P91RWq095hmohQNpPiDB8ElQ8g==" }, "@ionic-native/file-opener": { "version": "4.7.0", @@ -164,24 +135,24 @@ "integrity": "sha512-xaqAl3UJWR0kV/wZcKWmzvBO21iNe+Lk2ef9rQK+DDd/lKrtew7cZRQ7CPQGxPdW13t9ES4DeMiSpfkIgXQzYQ==" }, "@ionic-native/file-transfer": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-4.5.2.tgz", - "integrity": "sha512-DwwuJqWUsyv+zZWMVGhvXLyeYK9J9rVQbJXxl5y0ojD74s/4VsOJXf8EzTgWrKSLzHbNoTHKD76DwzHaf0jt1g==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-4.7.0.tgz", + "integrity": "sha512-GKyKFgr3KoMfFo/19KVDeDVizP1gUA3fyo2Mk9uJx1y7sxUv4EPxJWO/uQamLxsmkOm5QF/kaWPFTelzxcZWPQ==" }, "@ionic-native/globalization": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-4.5.2.tgz", - "integrity": "sha512-KqYfuMgKy4Bc+Fi3Ti/663Yh5tM5zixDch6fDu6rCKCZ+iw04MPYuAwK0tIFyaUBaO4PgA2TyVwLa7AJI6vxpw==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-4.7.0.tgz", + "integrity": "sha512-a1Kc6MBFlO4uqBBSNue0hNX9njL3cHdlOhuo0wTc3Iy2qLAqtXx6pYbQhsUVBovAwWeeNo7/yqLndYLKhdM9Ig==" }, "@ionic-native/in-app-browser": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-4.5.2.tgz", - "integrity": "sha512-GagPWh1rNYLb6gTt/OKI++tPNYqYaGTi5ljEem6v1KVcUpYae71Nl26UY5muAC7jDbMi1+hu/cXeIo6jc85eRA==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-4.7.0.tgz", + "integrity": "sha512-d028yq4CTGBRGgq7cJMG7n9f6MjrpSMr/RTlSRDfO38dAODYfsB7Urw850I19JOMTWB94BMZUrIpK1LevWuHuQ==" }, "@ionic-native/keyboard": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-4.5.2.tgz", - "integrity": "sha512-n+8nYHnmJandmbNfwz8LGMzR5tE58jccQZPuMKF1mqrHSHeav6C2pK5L7yb34x8V66QT4xLsK6UWlUjyr+ujCQ==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-4.7.0.tgz", + "integrity": "sha512-bvJm4gyBn9gQuLx5Q1fjWdOcFXHEWtyJgNTkPGJ8Bv4lL9Yforg1yvuWR/jEspOT5IsNfGYZGDVXWMO3/NImGA==" }, "@ionic-native/local-notifications": { "version": "4.5.2", @@ -189,34 +160,34 @@ "integrity": "sha512-/O2hNsWW6ixlAPY9Tw6wfIIUmNOPmd11DcxCTQ5vR8+oGPyYPj3IXkgUCI/U29Y3hDikSxdWTI19FtCxnzYKNA==" }, "@ionic-native/media-capture": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/media-capture/-/media-capture-4.5.2.tgz", - "integrity": "sha512-WbzU8cVK1Ephk+gSVi1hH/YwbQidvgDyc2Oex+UQO+aVqXoELRmCmL1OZI79xpJnl7qpMaSugDqGYY+zJH4DDQ==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/media-capture/-/media-capture-4.7.0.tgz", + "integrity": "sha512-31iLJFO+3RNs+mA8rLW5uI3SST8wIl9gtrRCEjvbcnuXaPIS145K6hqsaQUgv0V6BzFRemMxT/cAfV2r2k7Nlw==" }, "@ionic-native/network": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/network/-/network-4.5.2.tgz", - "integrity": "sha512-4tChqfuTLe7TJdKMyk0l5mZn6Fyvg8PyI8WvNaFtrTkRN/hFT6LaC6Qe5rSH2WFRzGxuYWZjh+uhCG6KOvwOCg==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/network/-/network-4.7.0.tgz", + "integrity": "sha512-d3c5iuv22Mhd6HH5ZVsz3Y6jvE3iEO3AFGpOLUbDzqp+jFzqxnr6HShwCfD1rPbLusNnKvan3J10R39UsGEYLA==" }, "@ionic-native/push": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@ionic-native/push/-/push-4.6.0.tgz", - "integrity": "sha512-fBVZotifaGD7bJNenLfm1QmPFg4mwUfYfURDskDIEPhxw6tpk6uAw6ZYtpadEP4bMfEa/gmcF75aHblFYfNQSw==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/push/-/push-4.7.0.tgz", + "integrity": "sha512-ynucoNm2Kg30rYAdgOv0h9oGGjVLz+AugL7O1/ng5piMFhC46O/eIUDJPTwkPqyM1USR/d99zbosttRo9aNgLg==" }, "@ionic-native/splash-screen": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-4.3.0.tgz", - "integrity": "sha1-nesHr88QWYByM6p9kNbkQfbss3I=" + "integrity": "sha512-psShN4u3hiLkuva8GaCUqwFuVrd8nizXxM8n0eZyFdXedFHFF3CqBMPzPdH98fcoseyOD7QekOtrm0lV6QlD8w==" }, "@ionic-native/sqlite": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/sqlite/-/sqlite-4.5.2.tgz", - "integrity": "sha512-eYKiNBaXD+pk8gj4i477vWLNfNNFVG3AxT3ZWDrqKS5gNUszw/9O6uSHw1u6WCcczDoTi8eZddbTU8GkLHD+6g==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/sqlite/-/sqlite-4.7.0.tgz", + "integrity": "sha512-VkyBzXMOWxFa/r/SBjmWzDTdfzUfKnWY/HsOhwUG6Kfbr8DOMKbYydl/ytShjhkrW1dn7eSbOhYFbRR5CK11kQ==" }, "@ionic-native/status-bar": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-4.3.0.tgz", - "integrity": "sha1-3bFoYaIscjXAc3uk4OUSfJruSs4=" + "integrity": "sha512-gjS0U2uT6XYshysvzNu98Pf6b5SZ7SGSYkZW1mft19geFn6/MKunX1CJkjpXmiTn14nAD1+FBxF43Oi2OfoM4g==" }, "@ionic-native/web-intent": { "version": "4.7.0", @@ -224,9 +195,9 @@ "integrity": "sha512-G8fcZA7W6gp1GO4HmcpQm9G8QfJiLsl6SYG5OmeYaqn8au6Ggif7Aqv2RWX7o/17BEYRnyCXh5MYMfJFbOWLQw==" }, "@ionic-native/zip": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@ionic-native/zip/-/zip-4.5.2.tgz", - "integrity": "sha512-GIjqQL+MsKphR3Ye0CsTH7ztTMLebc0ctbJR8mvMZA43vuy/shaefV3x7jHS9i4KiaLWCB0BqUL8HcPOGJL4HA==" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@ionic-native/zip/-/zip-4.7.0.tgz", + "integrity": "sha512-yIwegf7/D5sJ2syxPYdHiIbqVbTqo0dbmhUbGw34t4L4FnCW2E9owVYQKcejTRiHQbgCIOTx7viGqr9Bnhq89A==" }, "@ionic/app-scripts": { "version": "3.1.9", @@ -235,39 +206,31 @@ "dev": true, "requires": { "@angular-devkit/build-optimizer": "0.0.35", - "autoprefixer": "^7.1.6", - "chalk": "^2.3.0", - "chokidar": "^1.7.0", - "clean-css": "^4.1.9", - "cross-spawn": "^5.1.0", - "express": "^4.16.2", - "fs-extra": "^4.0.2", - "glob": "^7.1.2", - "json-loader": "^0.5.7", + "autoprefixer": "7.2.6", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-css": "4.1.11", + "cross-spawn": "5.1.0", + "express": "4.16.3", + "fs-extra": "4.0.3", + "glob": "7.1.2", + "json-loader": "0.5.7", "node-sass": "4.7.2", - "os-name": "^2.0.1", - "postcss": "^6.0.13", - "proxy-middleware": "^0.15.0", - "reflect-metadata": "^0.1.10", + "os-name": "2.0.1", + "postcss": "6.0.22", + "proxy-middleware": "0.15.0", + "reflect-metadata": "0.1.12", "rollup": "0.50.0", "rollup-plugin-commonjs": "8.2.6", "rollup-plugin-node-resolve": "3.0.0", - "source-map": "^0.6.1", - "tiny-lr": "^1.0.5", - "tslint": "^5.8.0", - "tslint-eslint-rules": "^4.1.1", + "source-map": "0.6.1", + "tiny-lr": "1.1.1", + "tslint": "5.10.0", + "tslint-eslint-rules": "4.1.1", "uglify-es": "3.2.2", "webpack": "3.8.1", "ws": "3.3.2", - "xml2js": "^0.4.19" - }, - "dependencies": { - "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 - } + "xml2js": "0.4.19" } }, "@ngx-translate/core": { @@ -276,94 +239,9 @@ "integrity": "sha1-dR/WtRLYDzp0jS3o38lt/vopr+A=" }, "@ngx-translate/http-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-2.0.0.tgz", - "integrity": "sha1-nBbQfNBwxnraJwoulAKB64JrP0M=" - }, - "@nodert-win10/windows.applicationmodel": { - "version": "0.2.96", - "resolved": "https://registry.npmjs.org/@nodert-win10/windows.applicationmodel/-/windows.applicationmodel-0.2.96.tgz", - "integrity": "sha1-v5Mh8xkB3kcPcWNKlZFbG1Afjr0=", - "optional": true, - "requires": { - "nan": "latest" - }, - "dependencies": { - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - } - } - }, - "@nodert-win10/windows.data.xml.dom": { - "version": "0.2.96", - "resolved": "https://registry.npmjs.org/@nodert-win10/windows.data.xml.dom/-/windows.data.xml.dom-0.2.96.tgz", - "integrity": "sha1-RfH1BrY3X1hdrltdAsMNYBwC1FQ=", - "optional": true, - "requires": { - "nan": "latest" - }, - "dependencies": { - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - } - } - }, - "@nodert-win10/windows.foundation": { - "version": "0.2.96", - "resolved": "https://registry.npmjs.org/@nodert-win10/windows.foundation/-/windows.foundation-0.2.96.tgz", - "integrity": "sha1-vrIGYdh/s1L5xcfEWJm/PCTXjNA=", - "optional": true, - "requires": { - "nan": "latest" - }, - "dependencies": { - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - } - } - }, - "@nodert-win10/windows.ui.notifications": { - "version": "0.2.96", - "resolved": "https://registry.npmjs.org/@nodert-win10/windows.ui.notifications/-/windows.ui.notifications-0.2.96.tgz", - "integrity": "sha1-CwOeBqDARm7C6PJ6uHyxCQZL0LA=", - "optional": true, - "requires": { - "nan": "latest" - }, - "dependencies": { - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - } - } - }, - "@nodert-win10/windows.ui.startscreen": { - "version": "0.2.96", - "resolved": "https://registry.npmjs.org/@nodert-win10/windows.ui.startscreen/-/windows.ui.startscreen-0.2.96.tgz", - "integrity": "sha1-qukSAniyE3Z7glNP5R6u+GRJHYo=", - "optional": true, - "requires": { - "nan": "latest" - }, - "dependencies": { - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - } - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-2.0.1.tgz", + "integrity": "sha1-qmd4jmS/qGUmkad7Ais7QDEgkRM=" }, "@types/cordova": { "version": "0.0.34", @@ -371,16 +249,19 @@ "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" }, "@types/cordova-plugin-file": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/cordova-plugin-file/-/cordova-plugin-file-0.0.3.tgz", - "integrity": "sha1-HogEIYKUSk4zfbjQ5stA7FeFDKo=" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@types/cordova-plugin-file/-/cordova-plugin-file-4.3.2.tgz", + "integrity": "sha512-kCvVcLxo2M6NxBCngW8JuFlS3YpsqE6VcH9PKnOdWwtpCBTi7WXhQU9kb0h0/TVX5Bp8ab+qLz0mm9wSkcXdXg==", + "requires": { + "cordova-plugin-file": "6.0.1" + } }, "@types/cordova-plugin-file-transfer": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/@types/cordova-plugin-file-transfer/-/cordova-plugin-file-transfer-0.0.3.tgz", "integrity": "sha1-u6d+jQTQejlRR5eiA8JXxbECNoA=", "requires": { - "@types/cordova-plugin-file": "*" + "@types/cordova-plugin-file": "4.3.2" } }, "@types/cordova-plugin-globalization": { @@ -394,19 +275,19 @@ "integrity": "sha1-+iycaufkxX8Tt39pXaTtuzr6oBY=" }, "@types/node": { - "version": "8.0.58", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.58.tgz", - "integrity": "sha512-V746iUU7eHNdzQipoACuguDlVhC7IHK8CES1jSkuFt352wwA84BCWPXaGekBd7R5XdNK5ReHONDVKxlL9IreAw==" + "version": "8.10.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.19.tgz", + "integrity": "sha512-+PU57o6DtOSx0/algmxgCwWrmCiomwC/K+LPfXonT0tQMbNTjHEqVzwL9dFEhFoPmLFIiSWjRorLH6Z0hJMT+Q==" }, "@types/promise.prototype.finally": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/promise.prototype.finally/-/promise.prototype.finally-2.0.2.tgz", - "integrity": "sha1-aP77jw4j8hiTozdAyTHHn0S+NJk=" + "integrity": "sha512-Fs99h+iFQZ4ZY2vO3+uJCrx+5KQnJ4FPerZ3oT/1L5aA7vnmK/d7Z/Ml1yHtNCh9UQcjFTR4Xo/Jss2f39Fgtw==" }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, "accepts": { @@ -415,14 +296,14 @@ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.18", "negotiator": "0.6.1" } }, "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz", + "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==", "dev": true }, "acorn-dynamic-import": { @@ -431,7 +312,7 @@ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", "dev": true, "requires": { - "acorn": "^4.0.3" + "acorn": "4.0.13" }, "dependencies": { "acorn": { @@ -448,10 +329,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -466,9 +347,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -477,6 +358,15 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", @@ -486,6 +376,15 @@ "ansi-wrap": "0.1.0" } }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -496,8 +395,26 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" + }, + "dependencies": { + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "dev": true, + "requires": { + "color-name": "1.1.1" + } + }, + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + } } }, "ansi-wrap": { @@ -509,46 +426,18 @@ "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "archiver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", - "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", @@ -561,16 +450,17 @@ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -578,13 +468,13 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", @@ -619,7 +509,7 @@ "array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true }, "array-uniq": { @@ -645,9 +535,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "assert": { @@ -657,6 +547,23 @@ "dev": true, "requires": { "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, "assert-plus": { @@ -672,11 +579,12 @@ "dev": true }, "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, "requires": { - "lodash": "^4.14.0" + "lodash": "4.17.10" } }, "async-each": { @@ -684,11 +592,6 @@ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha1-i9iwJLDsmxwBzMua+dspvXF9+vM=" - }, "async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", @@ -698,7 +601,7 @@ "async-limiter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", "dev": true }, "asynckit": { @@ -719,12 +622,12 @@ "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", "dev": true, "requires": { - "browserslist": "^2.11.3", - "caniuse-lite": "^1.0.30000805", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^6.0.17", - "postcss-value-parser": "^3.2.3" + "browserslist": "2.11.3", + "caniuse-lite": "1.0.30000852", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.22", + "postcss-value-parser": "3.3.0" } }, "aws-sign2": { @@ -745,9 +648,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -762,11 +665,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -788,13 +691,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -803,7 +706,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -812,7 +715,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -821,7 +724,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -830,9 +733,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -862,7 +765,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "beeper": { @@ -874,7 +777,7 @@ "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "dev": true }, "binary-extensions": { @@ -882,70 +785,19 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" - }, - "bluebird-lst": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz", - "integrity": "sha1-vryDAmt+kqcocaPcWZ4hnL+wAqk=", - "requires": { - "bluebird": "^3.5.1" + "inherits": "2.0.3" } }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", "dev": true }, "body": { @@ -954,10 +806,10 @@ "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", "dev": true, "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" + "continuable-cache": "0.3.1", + "error": "7.0.2", + "raw-body": "1.1.7", + "safe-json-parse": "1.0.1" }, "dependencies": { "bytes": { @@ -972,9 +824,15 @@ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "dev": true, "requires": { - "bytes": "1", - "string_decoder": "0.10" + "bytes": "1.0.0", + "string_decoder": "0.10.31" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -985,15 +843,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", + "depd": "1.1.2", + "http-errors": "1.6.3", "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "~1.6.15" + "type-is": "1.6.16" } }, "boom": { @@ -1002,15 +860,15 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -1019,9 +877,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "brorand": { @@ -1053,12 +911,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-cipher": { @@ -1067,9 +925,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -1078,9 +936,9 @@ "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" } }, "browserify-rsa": { @@ -1089,8 +947,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -1099,22 +957,22 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" } }, "browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "~1.0.5" + "pako": "1.0.6" } }, "browserslist": { @@ -1123,8 +981,8 @@ "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000792", - "electron-to-chromium": "^1.3.30" + "caniuse-lite": "1.0.30000852", + "electron-to-chromium": "1.3.48" } }, "buffer": { @@ -1133,15 +991,15 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" }, "buffer-xor": { "version": "1.0.3", @@ -1149,85 +1007,6 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "builder-util": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-4.2.5.tgz", - "integrity": "sha1-urwZDi8sNoFJdjK1zCdPFUOqkmQ=", - "requires": { - "7zip-bin": "~3.0.0", - "bluebird-lst": "^1.0.5", - "builder-util-runtime": "^4.0.5", - "chalk": "^2.3.0", - "debug": "^3.1.0", - "fs-extra-p": "^4.5.0", - "ini": "^1.3.5", - "is-ci": "^1.1.0", - "js-yaml": "^3.10.0", - "lazy-val": "^1.0.3", - "semver": "^5.5.0", - "source-map-support": "^0.5.3", - "stat-mode": "^0.2.2", - "temp-file": "^3.1.1", - "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "7zip-bin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-3.0.0.tgz", - "integrity": "sha1-F0FtxUL0FRGyapZnuShH117xUP4=" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", - "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", - "requires": { - "source-map": "^0.6.0" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - } - } - }, - "builder-util-runtime": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.2.0.tgz", - "integrity": "sha512-cROCExnJOJvRD58HHcnrrgyRAoDHGZT0hKox0op7vTuuuRC/1JKMXvSR+Hxy7KWy/aEmKu0HfSqMd4znDEqQsA==", - "requires": { - "bluebird-lst": "^1.0.5", - "debug": "^3.1.0", - "fs-extra-p": "^4.5.2", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -1252,15 +1031,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" }, "dependencies": { "isobject": { @@ -1283,14 +1062,14 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "caniuse-lite": { - "version": "1.0.30000846", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000846.tgz", - "integrity": "sha512-qxUOHr5mTaadWH1ap0ueivHd8x42Bnemcn+JutVr7GWmm2bU4zoBhjuv5QdXgALQnnT626lOQros7cCDf8PwCg==", + "version": "1.0.30000852", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000852.tgz", + "integrity": "sha512-NOuitABlrRbIpjtC8HdDnHL9Fi+yH5phDoXlXT7Im++48kll2bUps9dWWdAnBwqT/oEsjobuOLnnJCBjVqadCw==", "dev": true }, "caseless": { @@ -1305,18 +1084,19 @@ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chart.js": { @@ -1324,8 +1104,8 @@ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.2.tgz", "integrity": "sha512-90wl3V9xRZ8tnMvMlpcW+0Yg13BelsGS9P9t0ClaDxv/hdypHDr/YAGf+728m11P5ljwyB0ZHfPKCapZFqSqYA==", "requires": { - "chartjs-color": "^2.1.0", - "moment": "^2.10.2" + "chartjs-color": "2.2.0", + "moment": "2.22.2" } }, "chartjs-color": { @@ -1333,15 +1113,8 @@ "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz", "integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=", "requires": { - "chartjs-color-string": "^0.5.0", - "color-convert": "^0.5.3" - }, - "dependencies": { - "color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" - } + "chartjs-color-string": "0.5.0", + "color-convert": "0.5.3" } }, "chartjs-color-string": { @@ -1349,7 +1122,7 @@ "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz", "integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==", "requires": { - "color-name": "^1.0.0" + "color-name": "1.1.3" } }, "chokidar": { @@ -1357,30 +1130,25 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" } }, - "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==" - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "class-utils": { @@ -1389,10 +1157,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -1401,7 +1169,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { @@ -1418,7 +1186,15 @@ "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", "dev": true, "requires": { - "source-map": "0.5.x" + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "cliui": { @@ -1427,15 +1203,15 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, "clone-stats": { @@ -1462,30 +1238,33 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", - "requires": { - "color-name": "^1.1.1" - } + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, "combined-stream": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -1500,17 +1279,6 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, - "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", - "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1522,7 +1290,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "^0.1.4" + "date-now": "0.1.4" } }, "console-control-strings": { @@ -1546,7 +1314,7 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "continuable-cache": { @@ -1573,6 +1341,11 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "cordova-plugin-file": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-6.0.1.tgz", + "integrity": "sha1-SWBrjBWlaI1HKPkuSnMloGHeB/U=" + }, "core-js": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", @@ -1583,28 +1356,14 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "crc": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", - "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=" - }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" - } - }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "bn.js": "4.11.8", + "elliptic": "6.4.0" } }, "create-hash": { @@ -1613,11 +1372,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { @@ -1626,12 +1385,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "cross-spawn": { @@ -1640,9 +1399,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "cryptiles": { @@ -1651,26 +1410,26 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.x.x" + "boom": "2.10.1" } }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "currently-unhandled": { @@ -1679,7 +1438,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -1688,7 +1447,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -1697,7 +1456,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -1724,6 +1483,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -1746,7 +1506,7 @@ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { - "clone": "^1.0.2" + "clone": "1.0.4" } }, "define-properties": { @@ -1754,8 +1514,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.11" } }, "define-property": { @@ -1764,8 +1524,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -1774,7 +1534,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -1783,7 +1543,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -1792,9 +1552,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -1841,8 +1601,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "destroy": { @@ -1852,13 +1612,10 @@ "dev": true }, "detect-file": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", - "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", - "dev": true, - "requires": { - "fs-exists-sync": "^0.1.0" - } + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true }, "diff": { "version": "3.5.0", @@ -1872,9 +1629,9 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "doctrine": { @@ -1883,7 +1640,7 @@ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { - "esutils": "^1.1.6", + "esutils": "1.1.6", "isarray": "0.0.1" }, "dependencies": { @@ -1913,7 +1670,7 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" }, "dependencies": { "isarray": { @@ -1928,10 +1685,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -1949,7 +1706,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ee-first": { @@ -1958,55 +1715,25 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "electron-builder-squirrel-windows": { - "version": "19.56.0", - "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-19.56.0.tgz", - "integrity": "sha1-E5AVvk0CZ5WIJEbVxSbWv1JDkco=", - "requires": { - "7zip-bin": "~2.2.7", - "archiver": "^2.1.1", - "bluebird-lst": "^1.0.5", - "builder-util": "^4.2.2", - "fs-extra-p": "^4.5.0", - "sanitize-filename": "^1.6.1" - } - }, "electron-to-chromium": { "version": "1.3.48", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz", "integrity": "sha1-07DYWTgUBE4JLs4hCPw6ya6kuQA=", "dev": true }, - "electron-windows-notifications": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/electron-windows-notifications/-/electron-windows-notifications-1.1.16.tgz", - "integrity": "sha1-zB8DnT2lBM0rwIkrSitg6FPi51M=", - "requires": { - "@nodert-win10/windows.applicationmodel": "^0.2.95", - "@nodert-win10/windows.data.xml.dom": "^0.2.95", - "@nodert-win10/windows.foundation": "^0.2.95", - "@nodert-win10/windows.ui.notifications": "^0.2.95", - "@nodert-win10/windows.ui.startscreen": "^0.2.95", - "debug": "^2.5.1", - "is-electron-renderer": "^2.0.1", - "sanitize-xml-string": "^1.1.0", - "uuid": "^3.0.0", - "xml-escape": "^1.1.0" - } - }, "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.4", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "emojis-list": { @@ -2022,11 +1749,23 @@ "dev": true }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, "requires": { - "once": "^1.4.0" + "once": "1.3.3" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + } } }, "enhanced-resolve": { @@ -2035,10 +1774,10 @@ "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" } }, "errno": { @@ -2047,7 +1786,7 @@ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error": { @@ -2056,8 +1795,8 @@ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", "dev": true, "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" + "string-template": "0.2.1", + "xtend": "4.0.1" } }, "error-ex": { @@ -2066,19 +1805,19 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", - "integrity": "sha1-Hss2wZeEKgDY7kwt/YZGu5fWCGQ=", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.3", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -2086,20 +1825,20 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { - "version": "0.10.43", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.43.tgz", - "integrity": "sha512-cZd1vezWuTM5qMlasKWqQFioFKwO352nVBzhOTMUf/pKQl5Gcq5EdJzqtSNXKnFQSCJDiQZjCYlYbnzFB657OA==", + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -2108,9 +1847,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -2119,12 +1858,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-promise": { @@ -2138,11 +1877,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -2151,8 +1890,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -2161,10 +1900,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escape-html": { @@ -2176,7 +1915,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escope": { "version": "3.6.0", @@ -2184,16 +1924,17 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true }, "esrecurse": { "version": "4.2.1", @@ -2201,7 +1942,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -2234,8 +1975,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "events": { @@ -2247,11 +1988,11 @@ "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" } }, "execa": { @@ -2260,13 +2001,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -2274,7 +2015,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -2282,16 +2023,16 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" } }, "expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "os-homedir": "^1.0.1" + "homedir-polyfill": "1.0.1" } }, "express": { @@ -2300,36 +2041,36 @@ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", + "proxy-addr": "2.0.3", "qs": "6.5.1", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "statuses": "1.4.0", + "type-is": "1.6.16", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "path-to-regexp": { @@ -2337,6 +2078,12 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true } } }, @@ -2352,8 +2099,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -2362,7 +2109,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -2372,7 +2119,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extsprintf": { @@ -2382,13 +2129,14 @@ "dev": true }, "fancy-log": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.1.tgz", - "integrity": "sha1-xKNGK6FK3137q3lzH9OESiBpy7s=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "dev": true, "requires": { - "ansi-gray": "^0.1.1", - "time-stamp": "^1.0.0" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -2409,7 +2157,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } }, "filename-regex": { @@ -2418,15 +2166,15 @@ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "finalhandler": { @@ -2436,12 +2184,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" } }, "find-index": { @@ -2456,20 +2204,311 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "dev": true, "requires": { - "detect-file": "^0.1.0", - "is-glob": "^2.0.1", - "micromatch": "^2.3.7", - "resolve-dir": "^0.1.0" + "detect-file": "1.0.0", + "is-glob": "3.1.0", + "micromatch": "3.1.10", + "resolve-dir": "1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } } }, "fined": { @@ -2478,22 +2517,11 @@ "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", "dev": true, "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - }, - "dependencies": { - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - } + "expand-tilde": "2.0.2", + "is-plain-object": "2.0.4", + "object.defaults": "1.1.0", + "object.pick": "1.3.0", + "parse-filepath": "1.0.2" } }, "first-chunk-stream": { @@ -2503,9 +2531,9 @@ "dev": true }, "flagged-respawn": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", - "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", + "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", "dev": true }, "font-awesome": { @@ -2523,7 +2551,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -2543,9 +2571,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, "forwarded": { @@ -2560,7 +2588,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fresh": { @@ -2569,949 +2597,482 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true - }, "fs-extra": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-extra-p": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.5.2.tgz", - "integrity": "sha512-ZYqFpBdy9w7PsK+vB30j+TnHOyWHm/CJbUq1qqoE8tb71m6qgk5Wa7gp3MYQdlGFxb9vfznF+yD4jcl8l+y91A==", - "requires": { - "bluebird-lst": "^1.0.5", - "fs-extra": "^5.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.39" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "version": "1.1.1", + "bundled": true, "optional": true }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "optional": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "bundled": true }, "aproba": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "version": "1.2.0", + "bundled": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "optional": true - }, "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "~2.0.0" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "requires": { - "hoek": "2.x.x" - } + "version": "1.0.0", + "bundled": true }, "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "version": "1.1.11", + "bundled": true, "requires": { - "balanced-match": "^0.4.1", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "optional": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "chownr": { + "version": "1.0.1", + "bundled": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "requires": { - "delayed-stream": "~1.0.0" - } + "bundled": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "bundled": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "requires": { - "boom": "2.x.x" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } + "bundled": true, + "optional": true }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "2.6.9", + "bundled": true, "optional": true, "requires": { "ms": "2.0.0" } }, "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "version": "0.5.1", + "bundled": true, "optional": true }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "optional": true }, "detect-libc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", - "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", + "version": "1.0.3", + "bundled": true, "optional": true }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "fs-minipass": { + "version": "1.2.5", + "bundled": true, "optional": true, "requires": { - "jsbn": "~0.1.0" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "optional": true, - "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" - } + "bundled": true, + "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "bundled": true, "optional": true, "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "optional": true }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "iconv-lite": { + "version": "0.4.21", + "bundled": true, "optional": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, + "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true }, "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "version": "1.3.5", + "bundled": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "optional": true - }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "bundled": true, "optional": true }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "optional": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" - }, - "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", - "requires": { - "mime-db": "~1.27.0" - } - }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "bundled": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "optional": true }, - "node-pre-gyp": { - "version": "0.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", + "needle": { + "version": "2.2.0", + "bundled": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "hawk": "3.1.3", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "request": "2.81.0", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^2.2.1", - "tar-pack": "^3.4.0" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "version": "4.1.2", + "bundled": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "optional": true }, "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "version": "0.1.5", + "bundled": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "bundled": true, "optional": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "version": "2.0.0", + "bundled": true, "optional": true }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.7", + "bundled": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "optional": true } } }, "readable-stream": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", - "requires": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "version": "2.3.6", + "bundled": true, "optional": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "bundled": true, + "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + "version": "5.1.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "version": "5.5.0", + "bundled": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "optional": true }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "requires": { - "hoek": "2.x.x" - } - }, - "sshpk": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", + "string_decoder": { + "version": "1.1.1", + "bundled": true, "optional": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } + "safe-buffer": "5.1.1" } }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "optional": true - }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "optional": true }, "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "tar-pack": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", + "version": "4.4.1", + "bundled": true, "optional": true, "requires": { - "debug": "^2.2.0", - "fstream": "^1.0.10", - "fstream-ignore": "^1.0.5", - "once": "^1.3.3", - "readable-stream": "^2.1.4", - "rimraf": "^2.5.1", - "tar": "^2.2.1", - "uid-number": "^0.0.6" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "optional": true, - "requires": { - "punycode": "^1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "optional": true - }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "bundled": true, "optional": true }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true } } }, @@ -3521,16 +3082,16 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "gauge": { "version": "2.7.4", @@ -3538,14 +3099,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "gaze": { @@ -3554,7 +3115,7 @@ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "^1.0.0" + "globule": "1.2.1" } }, "generate-function": { @@ -3569,7 +3130,7 @@ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true, "requires": { - "is-property": "^1.0.0" + "is-property": "1.0.2" } }, "get-caller-file": { @@ -3602,7 +3163,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -3616,14 +3177,15 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -3631,8 +3193,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -3640,7 +3202,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "glob-stream": { @@ -3649,12 +3211,12 @@ "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", "dev": true, "requires": { - "glob": "^4.3.1", - "glob2base": "^0.0.12", - "minimatch": "^2.0.1", - "ordered-read-streams": "^0.1.0", - "through2": "^0.6.1", - "unique-stream": "^1.0.0" + "glob": "4.5.3", + "glob2base": "0.0.12", + "minimatch": "2.0.10", + "ordered-read-streams": "0.1.0", + "through2": "0.6.5", + "unique-stream": "1.0.0" }, "dependencies": { "glob": { @@ -3663,10 +3225,10 @@ "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^2.0.1", - "once": "^1.3.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0" } }, "isarray": { @@ -3681,7 +3243,7 @@ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", "dev": true, "requires": { - "brace-expansion": "^1.0.0" + "brace-expansion": "1.1.11" } }, "readable-stream": { @@ -3690,10 +3252,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -3708,8 +3270,8 @@ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" + "readable-stream": "1.0.34", + "xtend": "4.0.1" } } } @@ -3720,7 +3282,7 @@ "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", "dev": true, "requires": { - "gaze": "^0.5.1" + "gaze": "0.5.2" }, "dependencies": { "gaze": { @@ -3729,7 +3291,7 @@ "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", "dev": true, "requires": { - "globule": "~0.1.0" + "globule": "0.1.0" } }, "glob": { @@ -3738,9 +3300,9 @@ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", "dev": true, "requires": { - "graceful-fs": "~1.2.0", - "inherits": "1", - "minimatch": "~0.2.11" + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" } }, "globule": { @@ -3749,9 +3311,9 @@ "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", "dev": true, "requires": { - "glob": "~3.1.21", - "lodash": "~1.0.1", - "minimatch": "~0.2.11" + "glob": "3.1.21", + "lodash": "1.0.2", + "minimatch": "0.2.14" } }, "graceful-fs": { @@ -3784,8 +3346,8 @@ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", "dev": true, "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" + "lru-cache": "2.7.3", + "sigmund": "1.0.1" } } } @@ -3796,49 +3358,51 @@ "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", "dev": true, "requires": { - "find-index": "^0.1.1" + "find-index": "0.1.1" } }, "global-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { - "global-prefix": "^0.1.4", - "is-windows": "^0.2.0" + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" } }, "global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { - "homedir-polyfill": "^1.0.0", - "ini": "^1.3.4", - "is-windows": "^0.2.0", - "which": "^1.2.12" + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.1" } }, "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.4", - "minimatch": "~3.0.2" + "glob": "7.1.2", + "lodash": "4.17.10", + "minimatch": "3.0.4" } }, "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", "dev": true, "requires": { - "sparkles": "^1.0.0" + "sparkles": "1.0.1" } }, "graceful-fs": { @@ -3852,19 +3416,19 @@ "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", "dev": true, "requires": { - "archy": "^1.0.0", - "chalk": "^1.0.0", - "deprecated": "^0.0.1", - "gulp-util": "^3.0.0", - "interpret": "^1.0.0", - "liftoff": "^2.1.0", - "minimist": "^1.1.0", - "orchestrator": "^0.3.0", - "pretty-hrtime": "^1.0.0", - "semver": "^4.1.0", - "tildify": "^1.0.0", - "v8flags": "^2.0.2", - "vinyl-fs": "^0.3.0" + "archy": "1.0.0", + "chalk": "1.1.3", + "deprecated": "0.0.1", + "gulp-util": "3.0.8", + "interpret": "1.1.0", + "liftoff": "2.5.0", + "minimist": "1.2.0", + "orchestrator": "0.3.8", + "pretty-hrtime": "1.0.3", + "semver": "4.3.6", + "tildify": "1.2.0", + "v8flags": "2.1.1", + "vinyl-fs": "0.3.14" }, "dependencies": { "ansi-styles": { @@ -3879,11 +3443,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "semver": { @@ -3906,13 +3470,23 @@ "integrity": "sha1-vumATiU7vaVc+8Em6NuuZDPtzMg=", "dev": true, "requires": { - "through2": "~2.0.1" + "through2": "2.0.3" + } + }, + "gulp-flatten": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/gulp-flatten/-/gulp-flatten-0.4.0.tgz", + "integrity": "sha512-eg4spVTAiv1xXmugyaCxWne1oPtNG0UHEtABx5W8ScLiqAYceyYm6GYA36x0Qh8KOIXmAZV97L2aYGnKREG3Sg==", + "dev": true, + "requires": { + "plugin-error": "0.1.2", + "through2": "2.0.3" } }, "gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.3.0.tgz", + "integrity": "sha512-nEuZB7/9i0IZ8AXORTizl2QLP9tcC9uWc/s329zElBLJw1CfOhmMXBxwVlCRKjDyrWuhVP0uBKl61KeQ32TiCg==", "dev": true }, "gulp-slash": { @@ -3921,8 +3495,8 @@ "integrity": "sha1-8VUhrCOxeNtE5VHjDi/Lykv2/h0=", "dev": true, "requires": { - "slash": "~0.1.3", - "through2": "~0.5.1" + "slash": "0.1.3", + "through2": "0.5.1" }, "dependencies": { "isarray": { @@ -3937,10 +3511,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -3955,8 +3529,8 @@ "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", "dev": true, "requires": { - "readable-stream": "~1.0.17", - "xtend": "~3.0.0" + "readable-stream": "1.0.34", + "xtend": "3.0.0" } }, "xtend": { @@ -3973,24 +3547,24 @@ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.2.0", + "fancy-log": "1.3.2", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" + "through2": "2.0.3", + "vinyl": "0.5.3" }, "dependencies": { "ansi-styles": { @@ -4005,11 +3579,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "object-assign": { @@ -4032,7 +3606,7 @@ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "dev": true, "requires": { - "glogg": "^1.0.0" + "glogg": "1.0.1" } }, "har-validator": { @@ -4041,10 +3615,10 @@ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" + "chalk": "1.1.3", + "commander": "2.15.1", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" }, "dependencies": { "ansi-styles": { @@ -4059,11 +3633,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -4075,11 +3649,11 @@ } }, "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { - "function-bind": "^1.0.2" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4088,13 +3662,14 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-gulplog": { "version": "0.1.0", @@ -4102,7 +3677,7 @@ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", "dev": true, "requires": { - "sparkles": "^1.0.0" + "sparkles": "1.0.1" } }, "has-unicode": { @@ -4117,9 +3692,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -4136,8 +3711,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -4146,7 +3721,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4155,7 +3730,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4166,7 +3741,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4177,18 +3752,18 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.4.tgz", + "integrity": "sha512-A6RlQvvZEtFS5fLU43IDu0QUmBy+fDO9VMdTXvufKwIkt/rFfvICAViCax5fbDO4zdNzaC3/27ZhKUok5bAJyw==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "hawk": { @@ -4197,10 +3772,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "hmac-drbg": { @@ -4209,9 +3784,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "1.1.4", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "hoek": { @@ -4226,7 +3801,7 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "^1.0.0" + "parse-passwd": "1.0.0" } }, "hosted-git-info": { @@ -4241,10 +3816,10 @@ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.4.0" } }, "http-parser-js": { @@ -4259,9 +3834,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "https-browserify": { @@ -4273,13 +3848,13 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true }, "ieee754": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", - "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", "dev": true }, "immediate": { @@ -4299,7 +3874,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "indexof": { @@ -4312,9 +3887,10 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4325,7 +3901,8 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true }, "interpret": { "version": "1.1.0", @@ -4342,7 +3919,7 @@ "ionic-angular": { "version": "3.9.2", "resolved": "https://registry.npmjs.org/ionic-angular/-/ionic-angular-3.9.2.tgz", - "integrity": "sha1-dQU+SkIqqufXzWaMySz9XLKdOMw=" + "integrity": "sha512-BEZ6magY1i5GwM9ki/MOpszUz62+g518HsGICtw9TE1D4v9Eb6n/o7e+X0vtvpK4TdouFjQ8r5XA9VPAKW9/+Q==" }, "ionicons": { "version": "3.0.0", @@ -4356,13 +3933,13 @@ "dev": true }, "is-absolute": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", - "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, "requires": { - "is-relative": "^0.2.1", - "is-windows": "^0.2.0" + "is-relative": "1.0.0", + "is-windows": "1.0.2" } }, "is-accessor-descriptor": { @@ -4371,7 +3948,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -4385,13 +3962,13 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -4399,7 +3976,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -4407,21 +3984,13 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" }, - "is-ci": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", - "requires": { - "ci-info": "^1.0.0" - } - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-date-object": { @@ -4435,9 +4004,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -4453,17 +4022,12 @@ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" }, - "is-electron-renderer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-electron-renderer/-/is-electron-renderer-2.0.1.tgz", - "integrity": "sha1-pGnQVvl1aXxYyYxgI+sKp5r4laI=" - }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -4482,7 +4046,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -4491,7 +4055,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -4499,7 +4063,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-module": { @@ -4520,11 +4084,11 @@ "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", "dev": true, "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" } }, "is-number": { @@ -4532,7 +4096,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -4541,7 +4105,7 @@ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -4555,10 +4119,10 @@ "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -4590,16 +4154,16 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-relative": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", - "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "requires": { - "is-unc-path": "^0.1.1" + "is-unc-path": "1.0.0" } }, "is-stream": { @@ -4620,12 +4184,12 @@ "dev": true }, "is-unc-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", - "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "requires": { - "unc-path-regex": "^0.1.0" + "unc-path-regex": "0.1.2" } }, "is-utf8": { @@ -4635,9 +4199,9 @@ "dev": true }, "is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { @@ -4678,12 +4242,13 @@ "dev": true }, "js-yaml": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", - "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "jsbn": { @@ -4696,7 +4261,7 @@ "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", "dev": true }, "json-schema": { @@ -4727,8 +4292,9 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonpointer": { @@ -4760,26 +4326,31 @@ "jszip": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha1-48KmxtcGrG5gMxQDbUPNQL7v3zc=", + "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" + "core-js": "2.3.0", + "es6-promise": "3.0.2", + "lie": "3.1.1", + "pako": "1.0.6", + "readable-stream": "2.0.6" }, "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -4794,7 +4365,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -4803,26 +4374,13 @@ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true }, - "lazy-val": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz", - "integrity": "sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg==" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "lie": { @@ -4830,24 +4388,23 @@ "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", "requires": { - "immediate": "~3.0.5" + "immediate": "3.0.6" } }, "liftoff": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", - "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", "dev": true, "requires": { - "extend": "^3.0.0", - "findup-sync": "^0.4.2", - "fined": "^1.0.1", - "flagged-respawn": "^0.3.2", - "lodash.isplainobject": "^4.0.4", - "lodash.isstring": "^4.0.1", - "lodash.mapvalues": "^4.4.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" + "extend": "3.0.1", + "findup-sync": "2.0.0", + "fined": "1.1.0", + "flagged-respawn": "1.0.0", + "is-plain-object": "2.0.4", + "object.map": "1.0.1", + "rechoir": "0.6.2", + "resolve": "1.7.1" } }, "livereload-js": { @@ -4862,11 +4419,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "loader-runner": { @@ -4881,9 +4438,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, "locate-path": { @@ -4892,8 +4449,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -4905,9 +4462,10 @@ } }, "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true }, "lodash._basecopy": { "version": "3.0.1", @@ -4981,7 +4539,7 @@ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "dev": true, "requires": { - "lodash._root": "^3.0.0" + "lodash._root": "3.0.1" } }, "lodash.isarguments": { @@ -4996,35 +4554,17 @@ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", "dev": true }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "dev": true, "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" } }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", @@ -5043,15 +4583,15 @@ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" } }, "lodash.templatesettings": { @@ -5060,8 +4600,8 @@ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" } }, "longest": { @@ -5076,8 +4616,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lru-cache": { @@ -5086,14 +4626,14 @@ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "macos-release": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", - "integrity": "sha1-gxlF4pNltHCqhySwqzbI+JWdEPs=", + "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==", "dev": true }, "magic-string": { @@ -5102,7 +4642,24 @@ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "dev": true, "requires": { - "vlq": "^0.2.2" + "vlq": "0.2.3" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } } }, "map-cache": { @@ -5123,17 +4680,22 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "media-typer": { @@ -5148,7 +4710,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "memory-fs": { @@ -5157,8 +4719,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "errno": "0.1.7", + "readable-stream": "2.3.6" } }, "meow": { @@ -5167,16 +4729,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" } }, "merge-descriptors": { @@ -5196,35 +4758,35 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "dev": true }, "mime-db": { @@ -5239,7 +4801,7 @@ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -5263,9 +4825,9 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -5279,8 +4841,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -5289,7 +4851,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5310,14 +4872,15 @@ } }, "moment": { - "version": "2.19.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.4.tgz", - "integrity": "sha512-1xFTAknSLfc47DIxHDUbnJWC+UwgWxATmymaxIPQpmMh7LBm7ZbwVEsuushqwL2GYZU0jie4xO+TK44hJPjNSQ==" + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multipipe": { "version": "0.1.2", @@ -5329,9 +4892,9 @@ } }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" }, "nanomatch": { "version": "1.2.9", @@ -5339,18 +4902,18 @@ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -5365,12 +4928,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -5380,9 +4937,9 @@ } }, "natives": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", - "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz", + "integrity": "sha512-Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==", "dev": true }, "negotiator": { @@ -5404,24 +4961,23 @@ "dev": true }, "node-gyp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", - "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz", + "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "2", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.79.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" }, "dependencies": { "semver": { @@ -5435,43 +4991,32 @@ "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", + "url": "0.11.0", + "util": "0.10.4", "vm-browserify": "0.0.4" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "node-sass": { @@ -5480,25 +5025,25 @@ "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.3.2", - "node-gyp": "^3.3.1", - "npmlog": "^4.0.0", - "request": "~2.79.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.7.0", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -5513,11 +5058,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "cross-spawn": { @@ -5526,8 +5071,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "supports-color": { @@ -5544,19 +5089,19 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1.1.1" } }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -5564,7 +5109,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-range": { @@ -5579,19 +5124,19 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "num2fraction": { @@ -5624,9 +5169,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -5635,7 +5180,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -5651,7 +5196,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5668,10 +5213,10 @@ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", "dev": true, "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" + "array-each": "1.0.1", + "array-slice": "1.1.0", + "for-own": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "for-own": { @@ -5680,7 +5225,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "isobject": { @@ -5691,13 +5236,34 @@ } } }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "1.0.0", + "make-iterator": "1.0.1" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + } + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -5706,7 +5272,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5730,8 +5296,9 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "orchestrator": { @@ -5740,29 +5307,9 @@ "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", "dev": true, "requires": { - "end-of-stream": "~0.1.5", - "sequencify": "~0.0.7", - "stream-consume": "~0.1.0" - }, - "dependencies": { - "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", - "dev": true, - "requires": { - "once": "~1.3.0" - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1" - } - } + "end-of-stream": "0.1.5", + "sequencify": "0.0.7", + "stream-consume": "0.1.1" } }, "ordered-read-streams": { @@ -5789,7 +5336,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-name": { @@ -5798,8 +5345,8 @@ "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", "dev": true, "requires": { - "macos-release": "^1.0.0", - "win-release": "^1.0.0" + "macos-release": "1.1.0", + "win-release": "1.1.1" } }, "os-tmpdir": { @@ -5814,8 +5361,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "p-finally": { @@ -5825,12 +5372,12 @@ "dev": true }, "p-limit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -5839,7 +5386,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -5851,7 +5398,7 @@ "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=" + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" }, "parse-asn1": { "version": "5.1.1", @@ -5859,22 +5406,22 @@ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" } }, "parse-filepath": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz", - "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", "dev": true, "requires": { - "is-absolute": "^0.2.3", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" + "is-absolute": "1.0.0", + "map-cache": "0.2.2", + "path-root": "0.1.1" } }, "parse-glob": { @@ -5882,10 +5429,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -5894,7 +5441,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "parse-passwd": { @@ -5933,7 +5480,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -5959,7 +5506,7 @@ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "dev": true, "requires": { - "path-root-regex": "^0.1.0" + "path-root-regex": "0.1.2" } }, "path-root-regex": { @@ -5989,9 +5536,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pbkdf2": { @@ -6000,11 +5547,11 @@ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "pify": { @@ -6025,7 +5572,59 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" + } + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + } } }, "posix-character-classes": { @@ -6040,37 +5639,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.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 - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" } }, "postcss-value-parser": { @@ -6097,18 +5668,18 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "promise.prototype.finally": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz", - "integrity": "sha1-ZvFhsWQ2NuUOfPIB3BuEqFfzhk4=", + "integrity": "sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ==", "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.9.0", - "function-bind": "^1.1.1" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1" } }, "proxy-addr": { @@ -6117,7 +5688,7 @@ "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.6.0" } }, @@ -6145,11 +5716,11 @@ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" } }, "punycode": { @@ -6161,7 +5732,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true }, "querystring": { @@ -6177,39 +5748,24 @@ "dev": true }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, @@ -6219,7 +5775,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.2" } }, "randomfill": { @@ -6228,8 +5784,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "range-parser": { @@ -6265,7 +5821,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "statuses": "1.4.0" } }, "setprototypeof": { @@ -6282,9 +5838,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -6293,32 +5849,22 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -6326,10 +5872,10 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "rechoir": { @@ -6338,7 +5884,7 @@ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "resolve": "^1.1.6" + "resolve": "1.7.1" } }, "redent": { @@ -6347,21 +5893,21 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, "reflect-metadata": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.10.tgz", - "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz", + "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==" }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -6370,8 +5916,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "remove-trailing-separator": { @@ -6395,7 +5941,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "replace-ext": { @@ -6410,26 +5956,26 @@ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "qs": "~6.3.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "~0.4.1", - "uuid": "^3.0.0" + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3", + "uuid": "3.2.1" }, "dependencies": { "qs": { @@ -6453,22 +5999,22 @@ "dev": true }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } }, "resolve-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", - "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "expand-tilde": "^1.2.2", - "global-modules": "^0.2.3" + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" } }, "resolve-url": { @@ -6489,16 +6035,16 @@ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "ripemd160": { @@ -6507,27 +6053,27 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "rollup": { "version": "0.50.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", - "integrity": "sha1-TBWPTngObLM/8Nv8GEpSzFjNXzs=", + "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", "dev": true }, "rollup-plugin-commonjs": { "version": "8.2.6", "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.6.tgz", - "integrity": "sha1-J+W5Bp/5QAW7AeAbtGoeSHN4Rnc=", + "integrity": "sha512-qK0+uhktmnAgZkHkqFuajNmPw93fjrO7+CysDaxWE5jrUR9XSlSvuao5ZJP+XizxA8weakhgYYBtbVz9SGBpjA==", "dev": true, "requires": { - "acorn": "^5.2.1", - "estree-walker": "^0.5.0", - "magic-string": "^0.22.4", - "resolve": "^1.4.0", - "rollup-pluginutils": "^2.0.1" + "acorn": "5.6.2", + "estree-walker": "0.5.2", + "magic-string": "0.22.5", + "resolve": "1.7.1", + "rollup-pluginutils": "2.3.0" } }, "rollup-plugin-node-resolve": { @@ -6536,10 +6082,10 @@ "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", "dev": true, "requires": { - "browser-resolve": "^1.11.0", - "builtin-modules": "^1.1.0", - "is-module": "^1.0.0", - "resolve": "^1.1.6" + "browser-resolve": "1.11.2", + "builtin-modules": "1.1.1", + "is-module": "1.0.0", + "resolve": "1.7.1" } }, "rollup-pluginutils": { @@ -6548,22 +6094,22 @@ "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==", "dev": true, "requires": { - "estree-walker": "^0.5.2", - "micromatch": "^2.3.11" + "estree-walker": "0.5.2", + "micromatch": "2.3.11" } }, "rxjs": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", - "integrity": "sha1-KNQD8AcRIZZ/GK1mVWMlXVQjasM=", + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", "requires": { - "symbol-observable": "^1.0.1" + "symbol-observable": "1.0.1" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-json-parse": { "version": "1.0.1", @@ -6577,21 +6123,14 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, - "sanitize-filename": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", - "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sanitize-xml-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/sanitize-xml-string/-/sanitize-xml-string-1.1.0.tgz", - "integrity": "sha1-3YZoYGnOECtJVJEtnHmCA3uSh2g=" + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "sass-graph": { "version": "2.2.4", @@ -6599,16 +6138,17 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" + "glob": "7.1.2", + "lodash": "4.17.10", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" } }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true }, "scss-tokenizer": { "version": "0.2.3", @@ -6616,8 +6156,8 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" + "js-base64": "2.4.5", + "source-map": "0.4.4" }, "dependencies": { "source-map": { @@ -6626,7 +6166,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6634,7 +6174,8 @@ "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true }, "send": { "version": "0.16.2", @@ -6643,18 +6184,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" } }, "sequencify": { @@ -6669,9 +6210,9 @@ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -6697,10 +6238,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -6709,7 +6250,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6723,7 +6264,7 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, "sha.js": { @@ -6732,8 +6273,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "shebang-command": { @@ -6742,7 +6283,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -6775,14 +6316,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "define-property": { @@ -6791,7 +6332,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -6800,8 +6341,14 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -6811,9 +6358,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -6822,7 +6369,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -6831,7 +6378,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -6840,7 +6387,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -6849,9 +6396,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -6874,7 +6421,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "sntp": { @@ -6883,19 +6430,19 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-resolve": { "version": "0.5.2", @@ -6903,19 +6450,20 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "requires": { - "source-map": "^0.5.6" + "buffer-from": "1.1.0", + "source-map": "0.6.1" } }, "source-map-url": { @@ -6925,9 +6473,9 @@ "dev": true }, "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "dev": true }, "spdx-correct": { @@ -6936,8 +6484,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -6952,8 +6500,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -6968,28 +6516,30 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" }, "dependencies": { "assert-plus": { @@ -7000,19 +6550,14 @@ } } }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=" - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -7021,7 +6566,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -7038,7 +6583,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" } }, "stream-browserify": { @@ -7047,59 +6592,35 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "stream-consume": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", - "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", "dev": true }, "stream-http": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.2.tgz", - "integrity": "sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" } }, "string-template": { @@ -7114,17 +6635,11 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, "stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", @@ -7137,7 +6652,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -7146,7 +6661,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -7161,15 +6676,16 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "sw-toolbox": { @@ -7177,14 +6693,14 @@ "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", "requires": { - "path-to-regexp": "^1.0.1", - "serviceworker-cache-polyfill": "^4.0.0" + "path-to-regexp": "1.7.0", + "serviceworker-cache-polyfill": "4.0.0" } }, "symbol-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", - "integrity": "sha1-XGj9jVQRXZ37cqhHIFSSIujbmzI=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" }, "tapable": { "version": "0.2.8", @@ -7198,31 +6714,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha1-XK2Ed59FyDsfJQjZawnYjHIYr1U=", - "requires": { - "bl": "^1.0.0", - "end-of-stream": "^1.0.0", - "readable-stream": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "temp-file": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.1.tgz", - "integrity": "sha512-W/6SJgtg2SE/5rxgwUwoDhdSXrvUWQBpgKJglaAe6S7mk1kLkI+LUbY/jPZBu3UhydDJZstNNd7AJhnZ0UZHtw==", - "requires": { - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.5", - "fs-extra-p": "^4.5.0", - "lazy-val": "^1.0.3" + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" } }, "through": { @@ -7237,8 +6731,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "tildify": { @@ -7247,7 +6741,7 @@ "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", "dev": true, "requires": { - "os-homedir": "^1.0.0" + "os-homedir": "1.0.2" } }, "time-stamp": { @@ -7262,7 +6756,7 @@ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "^1.0.4" + "setimmediate": "1.0.5" } }, "tiny-lr": { @@ -7271,12 +6765,12 @@ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, "requires": { - "body": "^5.1.0", - "debug": "^3.1.0", - "faye-websocket": "~0.10.0", - "livereload-js": "^2.3.0", - "object-assign": "^4.1.0", - "qs": "^6.4.0" + "body": "5.1.0", + "debug": "3.1.0", + "faye-websocket": "0.10.0", + "livereload-js": "2.3.0", + "object-assign": "4.1.1", + "qs": "6.5.1" }, "dependencies": { "debug": { @@ -7302,7 +6796,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -7311,10 +6805,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -7323,8 +6817,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { @@ -7333,7 +6827,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } @@ -7344,7 +6838,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "trim-newlines": { @@ -7359,7 +6853,7 @@ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", "dev": true, "requires": { - "glob": "^6.0.4" + "glob": "6.0.4" }, "dependencies": { "glob": { @@ -7368,43 +6862,35 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, "ts-md5": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-1.2.2.tgz", - "integrity": "sha512-rTjX9/xTOvAcKC7TIsahiSdeyXgMtKa4wd6iClduCWeVoj41Q/HX5oYLkJzHQktW/DHbBjUatoFj0Q481N/Idw==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/ts-md5/-/ts-md5-1.2.4.tgz", + "integrity": "sha512-oW+rNjc9CAhalPFzbPWsLqPLzdNcJ8iSm+OXO+Uv+99r3PzCJuM5sVc0bO1eS+4LD2xv+nfU7ylBdwoemUV9Yw==" }, "tsickle": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", - "integrity": "sha1-A5NDsgW/UXozOwcDl4iS+Ap9hI4=", + "version": "0.27.5", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.27.5.tgz", + "integrity": "sha512-NP+CjM1EXza/M8mOXBLH3vkFEJiu1zfEAlC5WdJxHPn8l96QPz5eooP6uAgYtw1CcKfuSyIiheNUdKxtDWCNeg==", "requires": { - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.6", - "source-map-support": "^0.4.2" + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.6.1", + "source-map-support": "0.5.6" } }, "tslib": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", - "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw=" + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz", + "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw==" }, "tslint": { "version": "5.10.0", @@ -7412,18 +6898,18 @@ "integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=", "dev": true, "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.12.1" + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.1", + "commander": "2.15.1", + "diff": "3.5.0", + "glob": "7.1.2", + "js-yaml": "3.12.0", + "minimatch": "3.0.4", + "resolve": "1.7.1", + "semver": "5.5.0", + "tslib": "1.9.2", + "tsutils": "2.27.1" } }, "tslint-eslint-rules": { @@ -7432,9 +6918,9 @@ "integrity": "sha1-fDDniC8mvCdr/5HSOEl1xp2viLo=", "dev": true, "requires": { - "doctrine": "^0.7.2", - "tslib": "^1.0.0", - "tsutils": "^1.4.0" + "doctrine": "0.7.2", + "tslib": "1.9.2", + "tsutils": "1.9.1" }, "dependencies": { "tsutils": { @@ -7451,7 +6937,7 @@ "integrity": "sha512-AE/7uzp32MmaHvNNFES85hhUDHFdFZp6OAiZcd6y4ZKKIg6orJTm8keYWBhIhrJQH3a4LzNKat7ZPXZt5aTf6w==", "dev": true, "requires": { - "tslib": "^1.8.1" + "tslib": "1.9.2" } }, "tty-browserify": { @@ -7480,23 +6966,23 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "2.1.18" } }, "typescript": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", - "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", "dev": true }, "uglify-es": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.2.tgz", - "integrity": "sha1-FcYrd3UALIG3mHocSezT8SbKznM=", + "integrity": "sha512-l+s5VLzFwGJfS+fbqaGf/Dfwo1MF13jLOF2ekL0PytzqEqQ6cVppvHf4jquqFok+35USMpKjqkYxy6pQyUcuug==", "dev": true, "requires": { - "commander": "~2.12.1", - "source-map": "~0.6.1" + "commander": "2.12.2", + "source-map": "0.6.1" }, "dependencies": { "commander": { @@ -7504,12 +6990,6 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", "dev": true - }, - "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 } } }, @@ -7526,9 +7006,9 @@ "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "dev": true, "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" }, "dependencies": { "camelcase": { @@ -7543,20 +7023,26 @@ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" } }, "yargs": { @@ -7565,9 +7051,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -7576,7 +7062,7 @@ "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, "unc-path-regex": { @@ -7591,10 +7077,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -7603,7 +7089,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -7612,10 +7098,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -7629,7 +7115,8 @@ "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true }, "unpipe": { "version": "1.0.0", @@ -7643,8 +7130,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -7653,9 +7140,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -7719,7 +7206,7 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -7736,26 +7223,13 @@ "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", "dev": true }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" - }, "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } + "inherits": "2.0.3" } }, "util-deprecate": { @@ -7772,7 +7246,8 @@ "uuid": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true }, "v8flags": { "version": "2.1.1", @@ -7780,7 +7255,7 @@ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "dev": true, "requires": { - "user-home": "^1.1.1" + "user-home": "1.1.1" } }, "validate-npm-package-license": { @@ -7789,8 +7264,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "vary": { @@ -7805,9 +7280,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" }, "dependencies": { "assert-plus": { @@ -7824,8 +7299,8 @@ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "dev": true, "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", + "clone": "1.0.4", + "clone-stats": "0.0.1", "replace-ext": "0.0.1" } }, @@ -7835,14 +7310,14 @@ "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", "dev": true, "requires": { - "defaults": "^1.0.0", - "glob-stream": "^3.1.5", - "glob-watcher": "^0.0.6", - "graceful-fs": "^3.0.0", - "mkdirp": "^0.5.0", - "strip-bom": "^1.0.0", - "through2": "^0.6.1", - "vinyl": "^0.4.0" + "defaults": "1.0.3", + "glob-stream": "3.1.18", + "glob-watcher": "0.0.6", + "graceful-fs": "3.0.11", + "mkdirp": "0.5.1", + "strip-bom": "1.0.0", + "through2": "0.6.5", + "vinyl": "0.4.6" }, "dependencies": { "clone": { @@ -7857,7 +7332,7 @@ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "dev": true, "requires": { - "natives": "^1.1.0" + "natives": "1.1.4" } }, "isarray": { @@ -7872,10 +7347,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -7890,8 +7365,8 @@ "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", "dev": true, "requires": { - "first-chunk-stream": "^1.0.0", - "is-utf8": "^0.2.0" + "first-chunk-stream": "1.0.0", + "is-utf8": "0.2.1" } }, "through2": { @@ -7900,8 +7375,8 @@ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" + "readable-stream": "1.0.34", + "xtend": "4.0.1" } }, "vinyl": { @@ -7910,8 +7385,8 @@ "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", "dev": true, "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" + "clone": "0.2.0", + "clone-stats": "0.0.1" } } } @@ -7919,7 +7394,7 @@ "vlq": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha1-jz5DKM9jsVQMDWfhsneDhviXWyY=", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", "dev": true }, "vm-browserify": { @@ -7937,9 +7412,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "chokidar": "2.0.3", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" }, "dependencies": { "anymatch": { @@ -7948,8 +7423,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" } }, "arr-diff": { @@ -7970,16 +7445,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -7988,7 +7463,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7999,18 +7474,18 @@ "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.1.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.0" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" } }, "expand-brackets": { @@ -8019,13 +7494,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8034,7 +7509,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8043,7 +7518,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8052,7 +7527,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8061,7 +7536,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8072,7 +7547,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8081,7 +7556,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8092,9 +7567,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -8111,14 +7586,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8127,7 +7602,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8136,7 +7611,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8147,10 +7622,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8159,7 +7634,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8170,8 +7645,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -8180,7 +7655,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -8191,7 +7666,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8200,7 +7675,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8209,9 +7684,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-extglob": { @@ -8226,7 +7701,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-number": { @@ -8235,7 +7710,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8244,7 +7719,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8267,19 +7742,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -8290,28 +7765,28 @@ "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^5.1.5", - "ajv-keywords": "^2.0.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" + "acorn": "5.6.2", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "async": "2.6.1", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" }, "dependencies": { "ansi-regex": { @@ -8332,7 +7807,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "has-flag": { @@ -8353,10 +7828,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "os-locale": { @@ -8365,9 +7840,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -8376,7 +7851,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -8385,9 +7860,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -8396,18 +7871,24 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -8416,7 +7897,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -8431,7 +7912,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } }, "which-module": { @@ -8446,19 +7927,19 @@ "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -8467,7 +7948,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -8475,28 +7956,20 @@ "webpack-merge": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", - "integrity": "sha1-XTct3dPh5fiHT1v1qOkp2wn+shY=", + "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", "dev": true, "requires": { - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "webpack-sources": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "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-list-map": "2.0.0", + "source-map": "0.6.1" } }, "websocket-driver": { @@ -8505,23 +7978,23 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" + "http-parser-js": "0.4.13", + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -8536,7 +8009,7 @@ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "win-release": { @@ -8545,7 +8018,7 @@ "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", "dev": true, "requires": { - "semver": "^5.0.1" + "semver": "5.5.0" } }, "window-size": { @@ -8566,39 +8039,35 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "ws": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", - "integrity": "sha1-lsHQiz/v2h1cHjNwDTv6qb4tVgg=", + "integrity": "sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==", "dev": true, "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } }, - "xml-escape": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz", - "integrity": "sha1-OQTBQ/qOs6ADDsZG0pAqLxtwbEQ=" - }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "dev": true, "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "sax": "1.2.4", + "xmlbuilder": "9.0.7" } }, "xmlbuilder": { @@ -8610,7 +8079,8 @@ "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true }, "y18n": { "version": "3.2.1", @@ -8630,19 +8100,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" }, "dependencies": { "camelcase": { @@ -8659,7 +8129,7 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" }, "dependencies": { "camelcase": { @@ -8670,21 +8140,10 @@ } } }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" - } - }, "zone.js": { - "version": "0.8.18", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.18.tgz", - "integrity": "sha1-jOyzl3/NGzCQVi/0Vw4oR+dStI0=" + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.26.tgz", + "integrity": "sha512-W9Nj+UmBJG251wkCacIkETgra4QgBo/vgoEkb4a2uoLzpQG7qF9nzwoLXWU5xj3Fg2mxGvEDh47mg24vXccYjA==" } } } diff --git a/package.json b/package.json index f694305bc..c82f02d62 100644 --- a/package.json +++ b/package.json @@ -27,21 +27,23 @@ "clean": "ionic-app-scripts clean", "build": "ionic-app-scripts build", "lint": "ionic-app-scripts lint", - "ionic:build": "ionic-app-scripts build", + "ionic:build": "node --max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build", "ionic:serve": "gulp watch | ionic-app-scripts serve", "ionic:build:before": "gulp", - "ionic:watch:before": "gulp" + "ionic:watch:before": "gulp", + "ionic:build:after": "gulp copy-component-templates", + "postionic:build": "gulp copy-component-templates" }, "dependencies": { - "@angular/animations": "^5.2.5", - "@angular/common": "5.0.0", - "@angular/compiler": "5.0.0", - "@angular/compiler-cli": "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/animations": "5.2.10", + "@angular/common": "5.2.10", + "@angular/compiler": "5.2.10", + "@angular/compiler-cli": "5.2.10", + "@angular/core": "5.2.10", + "@angular/forms": "5.2.10", + "@angular/http": "5.2.10", + "@angular/platform-browser": "5.2.10", + "@angular/platform-browser-dynamic": "5.2.10", "@ionic-native/badge": "^4.5.3", "@ionic-native/camera": "^4.5.2", "@ionic-native/clipboard": "^4.3.2", @@ -71,27 +73,26 @@ "@types/node": "^8.0.47", "@types/promise.prototype.finally": "^2.0.2", "chart.js": "^2.7.2", - "electron-builder-squirrel-windows": "^19.3.0", - "electron-windows-notifications": "^1.1.13", "font-awesome": "4.7.0", "ionic-angular": "^3.9.2", "ionicons": "3.0.0", "jszip": "^3.1.4", "moment": "^2.19.1", "promise.prototype.finally": "^3.0.1", - "rxjs": "5.5.2", + "rxjs": "5.5.11", "sw-toolbox": "3.6.0", "ts-md5": "^1.2.2", - "zone.js": "0.8.18" + "zone.js": "0.8.26" }, "devDependencies": { "@ionic/app-scripts": "3.1.9", "gulp": "^3.9.1", "gulp-clip-empty-files": "^0.1.2", + "gulp-flatten": "^0.4.0", "gulp-rename": "^1.2.2", "gulp-slash": "^1.1.3", "through": "^2.3.8", - "typescript": "2.4.2", + "typescript": "~2.6.2", "webpack-merge": "^4.1.2" }, "browser": { diff --git a/src/addon/badges/badges.module.ts b/src/addon/badges/badges.module.ts index 3116a7880..380fe0046 100644 --- a/src/addon/badges/badges.module.ts +++ b/src/addon/badges/badges.module.ts @@ -30,11 +30,12 @@ export const ADDON_BADGES_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_BADGES_PROVIDERS.concat([ + providers: [ + AddonBadgesProvider, AddonBadgesUserHandler, AddonBadgesMyBadgesLinkHandler, AddonBadgesBadgeLinkHandler - ]) + ] }) export class AddonBadgesModule { constructor(userDelegate: CoreUserDelegate, userHandler: AddonBadgesUserHandler, diff --git a/src/addon/calendar/calendar.module.ts b/src/addon/calendar/calendar.module.ts index 0866ee171..6269c08b5 100644 --- a/src/addon/calendar/calendar.module.ts +++ b/src/addon/calendar/calendar.module.ts @@ -33,9 +33,11 @@ export const ADDON_CALENDAR_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_CALENDAR_PROVIDERS.concat([ + providers: [ + AddonCalendarProvider, + AddonCalendarHelperProvider, AddonCalendarMainMenuHandler - ]) + ] }) export class AddonCalendarModule { constructor(mainMenuDelegate: CoreMainMenuDelegate, calendarHandler: AddonCalendarMainMenuHandler, diff --git a/src/addon/competency/competency.module.ts b/src/addon/competency/competency.module.ts index c6072bab1..c321e8a20 100644 --- a/src/addon/competency/competency.module.ts +++ b/src/addon/competency/competency.module.ts @@ -35,11 +35,13 @@ export const ADDON_COMPETENCY_PROVIDERS: any[] = [ imports: [ AddonCompetencyComponentsModule ], - providers: ADDON_COMPETENCY_PROVIDERS.concat([ + providers: [ + AddonCompetencyProvider, + AddonCompetencyHelperProvider, AddonCompetencyCourseOptionHandler, AddonCompetencyMainMenuHandler, AddonCompetencyUserHandler - ]) + ] }) export class AddonCompetencyModule { constructor(mainMenuDelegate: CoreMainMenuDelegate, mainMenuHandler: AddonCompetencyMainMenuHandler, diff --git a/src/addon/competency/components/course/course.html b/src/addon/competency/components/course/addon-competency-course.html similarity index 100% rename from src/addon/competency/components/course/course.html rename to src/addon/competency/components/course/addon-competency-course.html diff --git a/src/addon/competency/components/course/course.ts b/src/addon/competency/components/course/course.ts index 66617b0e3..65cdb0643 100644 --- a/src/addon/competency/components/course/course.ts +++ b/src/addon/competency/components/course/course.ts @@ -24,7 +24,7 @@ import { AddonCompetencyHelperProvider } from '../../providers/helper'; */ @Component({ selector: 'addon-competency-course', - templateUrl: 'course.html', + templateUrl: 'addon-competency-course.html', }) export class AddonCompetencyCourseComponent { @ViewChild(Content) content: Content; diff --git a/src/addon/files/files.module.ts b/src/addon/files/files.module.ts index be727b94b..f87e1344b 100644 --- a/src/addon/files/files.module.ts +++ b/src/addon/files/files.module.ts @@ -29,9 +29,11 @@ export const ADDON_FILES_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_FILES_PROVIDERS.concat([ + providers: [ + AddonFilesProvider, + AddonFilesHelperProvider, AddonFilesMainMenuHandler - ]) + ] }) export class AddonFilesModule { constructor(mainMenuDelegate: CoreMainMenuDelegate, filesHandler: AddonFilesMainMenuHandler) { diff --git a/src/addon/messageoutput/messageoutput.module.ts b/src/addon/messageoutput/messageoutput.module.ts index 7cf2e0a58..283f5d0a7 100644 --- a/src/addon/messageoutput/messageoutput.module.ts +++ b/src/addon/messageoutput/messageoutput.module.ts @@ -25,6 +25,8 @@ export const ADDON_MESSAGEOUTPUT_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_MESSAGEOUTPUT_PROVIDERS + providers: [ + AddonMessageOutputDelegate + ] }) export class AddonMessageOutputModule {} diff --git a/src/addon/messages/components/contacts/contacts.html b/src/addon/messages/components/contacts/addon-messages-contacts.html similarity index 100% rename from src/addon/messages/components/contacts/contacts.html rename to src/addon/messages/components/contacts/addon-messages-contacts.html diff --git a/src/addon/messages/components/contacts/contacts.ts b/src/addon/messages/components/contacts/contacts.ts index 273fa80a6..4a23cc2d7 100644 --- a/src/addon/messages/components/contacts/contacts.ts +++ b/src/addon/messages/components/contacts/contacts.ts @@ -26,7 +26,7 @@ import { CoreEventsProvider } from '@providers/events'; */ @Component({ selector: 'addon-messages-contacts', - templateUrl: 'contacts.html', + templateUrl: 'addon-messages-contacts.html', }) export class AddonMessagesContactsComponent { diff --git a/src/addon/messages/components/discussions/discussions.html b/src/addon/messages/components/discussions/addon-messages-discussions.html similarity index 100% rename from src/addon/messages/components/discussions/discussions.html rename to src/addon/messages/components/discussions/addon-messages-discussions.html diff --git a/src/addon/messages/components/discussions/discussions.ts b/src/addon/messages/components/discussions/discussions.ts index 8738cf76b..a0241e2a1 100644 --- a/src/addon/messages/components/discussions/discussions.ts +++ b/src/addon/messages/components/discussions/discussions.ts @@ -28,7 +28,7 @@ import { AddonPushNotificationsDelegate } from '@addon/pushnotifications/provide */ @Component({ selector: 'addon-messages-discussions', - templateUrl: 'discussions.html', + templateUrl: 'addon-messages-discussions.html', }) export class AddonMessagesDiscussionsComponent implements OnDestroy { protected newMessagesObserver: any; diff --git a/src/addon/messages/messages.module.ts b/src/addon/messages/messages.module.ts index 0a202a894..db6c558fa 100644 --- a/src/addon/messages/messages.module.ts +++ b/src/addon/messages/messages.module.ts @@ -50,7 +50,10 @@ export const ADDON_MESSAGES_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_MESSAGES_PROVIDERS.concat([ + providers: [ + AddonMessagesProvider, + AddonMessagesOfflineProvider, + AddonMessagesSyncProvider, AddonMessagesMainMenuHandler, AddonMessagesSendMessageUserHandler, AddonMessagesAddContactUserHandler, @@ -59,7 +62,7 @@ export const ADDON_MESSAGES_PROVIDERS: any[] = [ AddonMessagesIndexLinkHandler, AddonMessagesSyncCronHandler, AddonMessagesSettingsHandler - ]) + ] }) export class AddonMessagesModule { constructor(mainMenuDelegate: CoreMainMenuDelegate, mainmenuHandler: AddonMessagesMainMenuHandler, diff --git a/src/addon/mod/assign/assign.module.ts b/src/addon/mod/assign/assign.module.ts index 5a8045af7..bcc6087f1 100644 --- a/src/addon/mod/assign/assign.module.ts +++ b/src/addon/mod/assign/assign.module.ts @@ -48,13 +48,19 @@ export const ADDON_MOD_ASSIGN_PROVIDERS: any[] = [ AddonModAssignSubmissionModule, AddonModAssignFeedbackModule ], - providers: ADDON_MOD_ASSIGN_PROVIDERS.concat([ + providers: [ + AddonModAssignProvider, + AddonModAssignOfflineProvider, + AddonModAssignSyncProvider, + AddonModAssignHelperProvider, + AddonModAssignFeedbackDelegate, + AddonModAssignSubmissionDelegate, AddonModAssignDefaultFeedbackHandler, AddonModAssignDefaultSubmissionHandler, AddonModAssignModuleHandler, AddonModAssignPrefetchHandler, AddonModAssignSyncCronHandler - ]) + ] }) export class AddonModAssignModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModAssignModuleHandler, diff --git a/src/addon/mod/assign/classes/base-feedback-handler.ts b/src/addon/mod/assign/classes/base-feedback-handler.ts new file mode 100644 index 000000000..61b9addbc --- /dev/null +++ b/src/addon/mod/assign/classes/base-feedback-handler.ts @@ -0,0 +1,178 @@ +// (C) Copyright 2015 Martin Dougiamas +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Injector } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { AddonModAssignFeedbackHandler } from '../providers/feedback-delegate'; + +/** + * Base handler for feedback plugins. + * + * This class is needed because parent classes cannot have @Injectable in Angular v6, so the default handler cannot be a + * parent class. + */ +export class AddonModAssignBaseFeedbackHandler implements AddonModAssignFeedbackHandler { + name = 'AddonModAssignBaseFeedbackHandler'; + type = 'base'; + + constructor(protected translate: TranslateService) { } + + /** + * Discard the draft data of the feedback plugin. + * + * @param {number} assignId The assignment ID. + * @param {number} userId User ID. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + discardDraft(assignId: number, userId: number, siteId?: string): void | Promise { + // Nothing to do. + } + + /** + * Return the Component to use to display the plugin data. + * It's recommended to return the class of the component, but you can also return an instance of the component. + * + * @param {Injector} injector Injector. + * @param {any} plugin The plugin object. + * @return {any|Promise} The component (or promise resolved with component) to use, undefined if not found. + */ + getComponent(injector: Injector, plugin: any): any | Promise { + // Nothing to do. + } + + /** + * Return the draft saved data of the feedback plugin. + * + * @param {number} assignId The assignment ID. + * @param {number} userId User ID. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {any|Promise} Data (or promise resolved with the data). + */ + getDraft(assignId: number, userId: number, siteId?: string): any | Promise { + // Nothing to do. + } + + /** + * Get files used by this plugin. + * The files returned by this function will be prefetched when the user prefetches the assign. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {any[]|Promise} The files (or promise resolved with the files). + */ + getPluginFiles(assign: any, submission: any, plugin: any, siteId?: string): any[] | Promise { + return []; + } + + /** + * Get a readable name to use for the plugin. + * + * @param {any} plugin The plugin object. + * @return {string} The plugin name. + */ + getPluginName(plugin: any): string { + // Check if there's a translated string for the plugin. + const translationId = 'addon.mod_assign_feedback_' + plugin.type + '.pluginname', + translation = this.translate.instant(translationId); + + if (translationId != translation) { + // Translation found, use it. + return translation; + } + + // Fallback to WS string. + if (plugin.name) { + return plugin.name; + } + } + + /** + * Check if the feedback data has changed for this plugin. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {any} inputData Data entered by the user for the feedback. + * @return {boolean|Promise} Boolean (or promise resolved with boolean): whether the data has changed. + */ + hasDataChanged(assign: any, submission: any, plugin: any, inputData: any): boolean | Promise { + return false; + } + + /** + * Check whether the plugin has draft data stored. + * + * @param {number} assignId The assignment ID. + * @param {number} userId User ID. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {boolean|Promise} Boolean or promise resolved with boolean: whether the plugin has draft data. + */ + hasDraftData(assignId: number, userId: number, siteId?: string): boolean | Promise { + return false; + } + + /** + * Whether or not the handler is enabled on a site level. + * + * @return {boolean|Promise} True or promise resolved with true if enabled. + */ + isEnabled(): boolean | Promise { + return true; + } + + /** + * Prefetch any required data for the plugin. + * This should NOT prefetch files. Files to be prefetched should be returned by the getPluginFiles function. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved when done. + */ + prefetch(assign: any, submission: any, plugin: any, siteId?: string): Promise { + return Promise.resolve(); + } + + /** + * Prepare and add to pluginData the data to send to the server based on the draft data saved. + * + * @param {number} assignId The assignment ID. + * @param {number} userId User ID. + * @param {any} plugin The plugin object. + * @param {any} pluginData Object where to store the data to send. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + prepareFeedbackData(assignId: number, userId: number, plugin: any, pluginData: any, siteId?: string): void | Promise { + // Nothing to do. + } + + /** + * Save draft data of the feedback plugin. + * + * @param {number} assignId The assignment ID. + * @param {number} userId User ID. + * @param {any} plugin The plugin object. + * @param {any} data The data to save. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + saveDraft(assignId: number, userId: number, plugin: any, data: any, siteId?: string): void | Promise { + // Nothing to do. + } +} diff --git a/src/addon/mod/assign/classes/base-submission-handler.ts b/src/addon/mod/assign/classes/base-submission-handler.ts new file mode 100644 index 000000000..7f3d52bdf --- /dev/null +++ b/src/addon/mod/assign/classes/base-submission-handler.ts @@ -0,0 +1,235 @@ +// (C) Copyright 2015 Martin Dougiamas +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Injector } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { AddonModAssignSubmissionHandler } from '../providers/submission-delegate'; + +/** + * Base handler for submission plugins. + * + * This class is needed because parent classes cannot have @Injectable in Angular v6, so the default handler cannot be a + * parent class. + */ +export class AddonModAssignBaseSubmissionHandler implements AddonModAssignSubmissionHandler { + name = 'AddonModAssignBaseSubmissionHandler'; + type = 'base'; + + constructor(protected translate: TranslateService) { } + + /** + * Whether the plugin can be edited in offline for existing submissions. In general, this should return false if the + * plugin uses Moodle filters. The reason is that the app only prefetches filtered data, and the user should edit + * unfiltered data. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @return {boolean|Promise} Boolean or promise resolved with boolean: whether it can be edited in offline. + */ + canEditOffline(assign: any, submission: any, plugin: any): boolean | Promise { + return false; + } + + /** + * Should clear temporary data for a cancelled submission. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {any} inputData Data entered by the user for the submission. + */ + clearTmpData(assign: any, submission: any, plugin: any, inputData: any): void { + // Nothing to do. + } + + /** + * This function will be called when the user wants to create a new submission based on the previous one. + * It should add to pluginData the data to send to server based in the data in plugin (previous attempt). + * + * @param {any} assign The assignment. + * @param {any} plugin The plugin object. + * @param {any} pluginData Object where to store the data to send. + * @param {number} [userId] User ID. If not defined, site's current user. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + copySubmissionData(assign: any, plugin: any, pluginData: any, userId?: number, siteId?: string): void | Promise { + // Nothing to do. + } + + /** + * Delete any stored data for the plugin and submission. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {any} offlineData Offline data stored. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + deleteOfflineData(assign: any, submission: any, plugin: any, offlineData: any, siteId?: string): void | Promise { + // Nothing to do. + } + + /** + * Return the Component to use to display the plugin data, either in read or in edit mode. + * It's recommended to return the class of the component, but you can also return an instance of the component. + * + * @param {Injector} injector Injector. + * @param {any} plugin The plugin object. + * @param {boolean} [edit] Whether the user is editing. + * @return {any|Promise} The component (or promise resolved with component) to use, undefined if not found. + */ + getComponent(injector: Injector, plugin: any, edit?: boolean): any | Promise { + // Nothing to do. + } + + /** + * Get files used by this plugin. + * The files returned by this function will be prefetched when the user prefetches the assign. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {any[]|Promise} The files (or promise resolved with the files). + */ + getPluginFiles(assign: any, submission: any, plugin: any, siteId?: string): any[] | Promise { + return []; + } + + /** + * Get a readable name to use for the plugin. + * + * @param {any} plugin The plugin object. + * @return {string} The plugin name. + */ + getPluginName(plugin: any): string { + // Check if there's a translated string for the plugin. + const translationId = 'addon.mod_assign_submission_' + plugin.type + '.pluginname', + translation = this.translate.instant(translationId); + + if (translationId != translation) { + // Translation found, use it. + return translation; + } + + // Fallback to WS string. + if (plugin.name) { + return plugin.name; + } + } + + /** + * Get the size of data (in bytes) this plugin will send to copy a previous submission. + * + * @param {any} assign The assignment. + * @param {any} plugin The plugin object. + * @return {number|Promise} The size (or promise resolved with size). + */ + getSizeForCopy(assign: any, plugin: any): number | Promise { + return 0; + } + + /** + * Get the size of data (in bytes) this plugin will send to add or edit a submission. + * + * @param {any} assign The assignment. + * @param {any} plugin The plugin object. + * @return {number|Promise} The size (or promise resolved with size). + */ + getSizeForEdit(assign: any, plugin: any): number | Promise { + return 0; + } + + /** + * Check if the submission data has changed for this plugin. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {any} inputData Data entered by the user for the submission. + * @return {boolean|Promise} Boolean (or promise resolved with boolean): whether the data has changed. + */ + hasDataChanged(assign: any, submission: any, plugin: any, inputData: any): boolean | Promise { + return false; + } + + /** + * Whether or not the handler is enabled on a site level. + * + * @return {boolean|Promise} True or promise resolved with true if enabled. + */ + isEnabled(): boolean | Promise { + return true; + } + + /** + * Whether or not the handler is enabled for edit on a site level. + * @return {boolean|Promise} Whether or not the handler is enabled for edit on a site level. + */ + isEnabledForEdit(): boolean | Promise { + return false; + } + + /** + * Prefetch any required data for the plugin. + * This should NOT prefetch files. Files to be prefetched should be returned by the getPluginFiles function. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved when done. + */ + prefetch(assign: any, submission: any, plugin: any, siteId?: string): Promise { + return Promise.resolve(); + } + + /** + * Prepare and add to pluginData the data to send to the server based on the input data. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {any} inputData Data entered by the user for the submission. + * @param {any} pluginData Object where to store the data to send. + * @param {boolean} [offline] Whether the user is editing in offline. + * @param {number} [userId] User ID. If not defined, site's current user. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + prepareSubmissionData?(assign: any, submission: any, plugin: any, inputData: any, pluginData: any, offline?: boolean, + userId?: number, siteId?: string): void | Promise { + // Nothing to do. + } + + /** + * Prepare and add to pluginData the data to send to the server based on the offline data stored. + * This will be used when performing a synchronization. + * + * @param {any} assign The assignment. + * @param {any} submission The submission. + * @param {any} plugin The plugin object. + * @param {any} offlineData Offline data stored. + * @param {any} pluginData Object where to store the data to send. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} If the function is async, it should return a Promise resolved when done. + */ + prepareSyncData?(assign: any, submission: any, plugin: any, offlineData: any, pluginData: any, siteId?: string) + : void | Promise { + // Nothing to do. + } +} diff --git a/src/addon/mod/assign/components/feedback-plugin/feedback-plugin.html b/src/addon/mod/assign/components/feedback-plugin/addon-mod-assign-feedback-plugin.html similarity index 100% rename from src/addon/mod/assign/components/feedback-plugin/feedback-plugin.html rename to src/addon/mod/assign/components/feedback-plugin/addon-mod-assign-feedback-plugin.html diff --git a/src/addon/mod/assign/components/feedback-plugin/feedback-plugin.ts b/src/addon/mod/assign/components/feedback-plugin/feedback-plugin.ts index efc561c4b..82b9511bb 100644 --- a/src/addon/mod/assign/components/feedback-plugin/feedback-plugin.ts +++ b/src/addon/mod/assign/components/feedback-plugin/feedback-plugin.ts @@ -23,7 +23,7 @@ import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-comp */ @Component({ selector: 'addon-mod-assign-feedback-plugin', - templateUrl: 'feedback-plugin.html', + templateUrl: 'addon-mod-assign-feedback-plugin.html', }) export class AddonModAssignFeedbackPluginComponent implements OnInit { @ViewChild(CoreDynamicComponent) dynamicComponent: CoreDynamicComponent; diff --git a/src/addon/mod/assign/components/index/index.html b/src/addon/mod/assign/components/index/addon-mod-assign-index.html similarity index 100% rename from src/addon/mod/assign/components/index/index.html rename to src/addon/mod/assign/components/index/addon-mod-assign-index.html diff --git a/src/addon/mod/assign/components/index/index.ts b/src/addon/mod/assign/components/index/index.ts index 08c9b44e4..22b9888f8 100644 --- a/src/addon/mod/assign/components/index/index.ts +++ b/src/addon/mod/assign/components/index/index.ts @@ -29,7 +29,7 @@ import { AddonModAssignSubmissionComponent } from '../submission/submission'; */ @Component({ selector: 'addon-mod-assign-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-assign-index.html', }) export class AddonModAssignIndexComponent extends CoreCourseModuleMainActivityComponent { @ViewChild(AddonModAssignSubmissionComponent) submissionComponent: AddonModAssignSubmissionComponent; diff --git a/src/addon/mod/assign/components/submission-plugin/submission-plugin.html b/src/addon/mod/assign/components/submission-plugin/addon-mod-assign-submission-plugin.html similarity index 100% rename from src/addon/mod/assign/components/submission-plugin/submission-plugin.html rename to src/addon/mod/assign/components/submission-plugin/addon-mod-assign-submission-plugin.html diff --git a/src/addon/mod/assign/components/submission-plugin/submission-plugin.ts b/src/addon/mod/assign/components/submission-plugin/submission-plugin.ts index b2f186a00..3d4d0dba5 100644 --- a/src/addon/mod/assign/components/submission-plugin/submission-plugin.ts +++ b/src/addon/mod/assign/components/submission-plugin/submission-plugin.ts @@ -23,7 +23,7 @@ import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-comp */ @Component({ selector: 'addon-mod-assign-submission-plugin', - templateUrl: 'submission-plugin.html', + templateUrl: 'addon-mod-assign-submission-plugin.html', }) export class AddonModAssignSubmissionPluginComponent implements OnInit { @ViewChild(CoreDynamicComponent) dynamicComponent: CoreDynamicComponent; diff --git a/src/addon/mod/assign/components/submission/submission.html b/src/addon/mod/assign/components/submission/addon-mod-assign-submission.html similarity index 100% rename from src/addon/mod/assign/components/submission/submission.html rename to src/addon/mod/assign/components/submission/addon-mod-assign-submission.html diff --git a/src/addon/mod/assign/components/submission/submission.ts b/src/addon/mod/assign/components/submission/submission.ts index f24ebfb12..14aebdaad 100644 --- a/src/addon/mod/assign/components/submission/submission.ts +++ b/src/addon/mod/assign/components/submission/submission.ts @@ -42,7 +42,7 @@ import { AddonModAssignSubmissionPluginComponent } from '../submission-plugin/su */ @Component({ selector: 'addon-mod-assign-submission', - templateUrl: 'submission.html', + templateUrl: 'addon-mod-assign-submission.html', }) export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy { @ViewChild(CoreTabsComponent) tabs: CoreTabsComponent; diff --git a/src/addon/mod/assign/feedback/comments/component/comments.html b/src/addon/mod/assign/feedback/comments/component/addon-mod-assign-feedback-comments.html similarity index 100% rename from src/addon/mod/assign/feedback/comments/component/comments.html rename to src/addon/mod/assign/feedback/comments/component/addon-mod-assign-feedback-comments.html diff --git a/src/addon/mod/assign/feedback/comments/component/comments.ts b/src/addon/mod/assign/feedback/comments/component/comments.ts index 5c821ce09..9d1715c1c 100644 --- a/src/addon/mod/assign/feedback/comments/component/comments.ts +++ b/src/addon/mod/assign/feedback/comments/component/comments.ts @@ -28,7 +28,7 @@ import { AddonModAssignFeedbackCommentsHandler } from '../providers/handler'; */ @Component({ selector: 'addon-mod-assign-feedback-comments', - templateUrl: 'comments.html' + templateUrl: 'addon-mod-assign-feedback-comments.html' }) export class AddonModAssignFeedbackCommentsComponent extends AddonModAssignFeedbackPluginComponentBase implements OnInit { diff --git a/src/addon/mod/assign/feedback/editpdf/component/editpdf.html b/src/addon/mod/assign/feedback/editpdf/component/addon-mod-assign-feedback-editpdf.html similarity index 100% rename from src/addon/mod/assign/feedback/editpdf/component/editpdf.html rename to src/addon/mod/assign/feedback/editpdf/component/addon-mod-assign-feedback-editpdf.html diff --git a/src/addon/mod/assign/feedback/editpdf/component/editpdf.ts b/src/addon/mod/assign/feedback/editpdf/component/editpdf.ts index 32b6f81cb..8b86a6015 100644 --- a/src/addon/mod/assign/feedback/editpdf/component/editpdf.ts +++ b/src/addon/mod/assign/feedback/editpdf/component/editpdf.ts @@ -22,7 +22,7 @@ import { AddonModAssignFeedbackPluginComponentBase } from '../../../classes/feed */ @Component({ selector: 'addon-mod-assign-feedback-edit-pdf', - templateUrl: 'editpdf.html' + templateUrl: 'addon-mod-assign-feedback-editpdf.html' }) export class AddonModAssignFeedbackEditPdfComponent extends AddonModAssignFeedbackPluginComponentBase implements OnInit { diff --git a/src/addon/mod/assign/feedback/file/component/file.html b/src/addon/mod/assign/feedback/file/component/addon-mod-assign-feedback-file.html similarity index 100% rename from src/addon/mod/assign/feedback/file/component/file.html rename to src/addon/mod/assign/feedback/file/component/addon-mod-assign-feedback-file.html diff --git a/src/addon/mod/assign/feedback/file/component/file.ts b/src/addon/mod/assign/feedback/file/component/file.ts index d9456ff28..f6a51b58f 100644 --- a/src/addon/mod/assign/feedback/file/component/file.ts +++ b/src/addon/mod/assign/feedback/file/component/file.ts @@ -22,7 +22,7 @@ import { AddonModAssignFeedbackPluginComponentBase } from '../../../classes/feed */ @Component({ selector: 'addon-mod-assign-feedback-file', - templateUrl: 'file.html' + templateUrl: 'addon-mod-assign-feedback-file.html' }) export class AddonModAssignFeedbackFileComponent extends AddonModAssignFeedbackPluginComponentBase implements OnInit { diff --git a/src/addon/mod/assign/providers/default-feedback-handler.ts b/src/addon/mod/assign/providers/default-feedback-handler.ts index 0c3d03852..cbc95c88a 100644 --- a/src/addon/mod/assign/providers/default-feedback-handler.ts +++ b/src/addon/mod/assign/providers/default-feedback-handler.ts @@ -12,165 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Injectable, Injector } from '@angular/core'; +import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { AddonModAssignFeedbackHandler } from './feedback-delegate'; +import { AddonModAssignBaseFeedbackHandler } from '../classes/base-feedback-handler'; /** * Default handler used when a feedback plugin doesn't have a specific implementation. */ @Injectable() -export class AddonModAssignDefaultFeedbackHandler implements AddonModAssignFeedbackHandler { +export class AddonModAssignDefaultFeedbackHandler extends AddonModAssignBaseFeedbackHandler { name = 'AddonModAssignDefaultFeedbackHandler'; type = 'default'; - constructor(protected translate: TranslateService) { } - - /** - * Discard the draft data of the feedback plugin. - * - * @param {number} assignId The assignment ID. - * @param {number} userId User ID. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - discardDraft(assignId: number, userId: number, siteId?: string): void | Promise { - // Nothing to do. - } - - /** - * Return the Component to use to display the plugin data. - * It's recommended to return the class of the component, but you can also return an instance of the component. - * - * @param {Injector} injector Injector. - * @param {any} plugin The plugin object. - * @return {any|Promise} The component (or promise resolved with component) to use, undefined if not found. - */ - getComponent(injector: Injector, plugin: any): any | Promise { - // Nothing to do. - } - - /** - * Return the draft saved data of the feedback plugin. - * - * @param {number} assignId The assignment ID. - * @param {number} userId User ID. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {any|Promise} Data (or promise resolved with the data). - */ - getDraft(assignId: number, userId: number, siteId?: string): any | Promise { - // Nothing to do. - } - - /** - * Get files used by this plugin. - * The files returned by this function will be prefetched when the user prefetches the assign. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {any[]|Promise} The files (or promise resolved with the files). - */ - getPluginFiles(assign: any, submission: any, plugin: any, siteId?: string): any[] | Promise { - return []; - } - - /** - * Get a readable name to use for the plugin. - * - * @param {any} plugin The plugin object. - * @return {string} The plugin name. - */ - getPluginName(plugin: any): string { - // Check if there's a translated string for the plugin. - const translationId = 'addon.mod_assign_feedback_' + plugin.type + '.pluginname', - translation = this.translate.instant(translationId); - - if (translationId != translation) { - // Translation found, use it. - return translation; - } - - // Fallback to WS string. - if (plugin.name) { - return plugin.name; - } - } - - /** - * Check if the feedback data has changed for this plugin. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {any} inputData Data entered by the user for the feedback. - * @return {boolean|Promise} Boolean (or promise resolved with boolean): whether the data has changed. - */ - hasDataChanged(assign: any, submission: any, plugin: any, inputData: any): boolean | Promise { - return false; - } - - /** - * Check whether the plugin has draft data stored. - * - * @param {number} assignId The assignment ID. - * @param {number} userId User ID. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {boolean|Promise} Boolean or promise resolved with boolean: whether the plugin has draft data. - */ - hasDraftData(assignId: number, userId: number, siteId?: string): boolean | Promise { - return false; - } - - /** - * Whether or not the handler is enabled on a site level. - * - * @return {boolean|Promise} True or promise resolved with true if enabled. - */ - isEnabled(): boolean | Promise { - return true; - } - - /** - * Prefetch any required data for the plugin. - * This should NOT prefetch files. Files to be prefetched should be returned by the getPluginFiles function. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {Promise} Promise resolved when done. - */ - prefetch(assign: any, submission: any, plugin: any, siteId?: string): Promise { - return Promise.resolve(); - } - - /** - * Prepare and add to pluginData the data to send to the server based on the draft data saved. - * - * @param {number} assignId The assignment ID. - * @param {number} userId User ID. - * @param {any} plugin The plugin object. - * @param {any} pluginData Object where to store the data to send. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - prepareFeedbackData(assignId: number, userId: number, plugin: any, pluginData: any, siteId?: string): void | Promise { - // Nothing to do. - } - - /** - * Save draft data of the feedback plugin. - * - * @param {number} assignId The assignment ID. - * @param {number} userId User ID. - * @param {any} plugin The plugin object. - * @param {any} data The data to save. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - saveDraft(assignId: number, userId: number, plugin: any, data: any, siteId?: string): void | Promise { - // Nothing to do. + constructor(protected translate: TranslateService) { + super(translate); } } diff --git a/src/addon/mod/assign/providers/default-submission-handler.ts b/src/addon/mod/assign/providers/default-submission-handler.ts index aa1f84056..c18c71982 100644 --- a/src/addon/mod/assign/providers/default-submission-handler.ts +++ b/src/addon/mod/assign/providers/default-submission-handler.ts @@ -12,222 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Injectable, Injector } from '@angular/core'; +import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { AddonModAssignSubmissionHandler } from './submission-delegate'; +import { AddonModAssignBaseSubmissionHandler } from '../classes/base-submission-handler'; /** * Default handler used when a submission plugin doesn't have a specific implementation. */ @Injectable() -export class AddonModAssignDefaultSubmissionHandler implements AddonModAssignSubmissionHandler { +export class AddonModAssignDefaultSubmissionHandler extends AddonModAssignBaseSubmissionHandler { name = 'AddonModAssignDefaultSubmissionHandler'; type = 'default'; - constructor(protected translate: TranslateService) { } - - /** - * Whether the plugin can be edited in offline for existing submissions. In general, this should return false if the - * plugin uses Moodle filters. The reason is that the app only prefetches filtered data, and the user should edit - * unfiltered data. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @return {boolean|Promise} Boolean or promise resolved with boolean: whether it can be edited in offline. - */ - canEditOffline(assign: any, submission: any, plugin: any): boolean | Promise { - return false; - } - - /** - * Should clear temporary data for a cancelled submission. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {any} inputData Data entered by the user for the submission. - */ - clearTmpData(assign: any, submission: any, plugin: any, inputData: any): void { - // Nothing to do. - } - - /** - * This function will be called when the user wants to create a new submission based on the previous one. - * It should add to pluginData the data to send to server based in the data in plugin (previous attempt). - * - * @param {any} assign The assignment. - * @param {any} plugin The plugin object. - * @param {any} pluginData Object where to store the data to send. - * @param {number} [userId] User ID. If not defined, site's current user. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - copySubmissionData(assign: any, plugin: any, pluginData: any, userId?: number, siteId?: string): void | Promise { - // Nothing to do. - } - - /** - * Delete any stored data for the plugin and submission. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {any} offlineData Offline data stored. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - deleteOfflineData(assign: any, submission: any, plugin: any, offlineData: any, siteId?: string): void | Promise { - // Nothing to do. - } - - /** - * Return the Component to use to display the plugin data, either in read or in edit mode. - * It's recommended to return the class of the component, but you can also return an instance of the component. - * - * @param {Injector} injector Injector. - * @param {any} plugin The plugin object. - * @param {boolean} [edit] Whether the user is editing. - * @return {any|Promise} The component (or promise resolved with component) to use, undefined if not found. - */ - getComponent(injector: Injector, plugin: any, edit?: boolean): any | Promise { - // Nothing to do. - } - - /** - * Get files used by this plugin. - * The files returned by this function will be prefetched when the user prefetches the assign. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {any[]|Promise} The files (or promise resolved with the files). - */ - getPluginFiles(assign: any, submission: any, plugin: any, siteId?: string): any[] | Promise { - return []; - } - - /** - * Get a readable name to use for the plugin. - * - * @param {any} plugin The plugin object. - * @return {string} The plugin name. - */ - getPluginName(plugin: any): string { - // Check if there's a translated string for the plugin. - const translationId = 'addon.mod_assign_submission_' + plugin.type + '.pluginname', - translation = this.translate.instant(translationId); - - if (translationId != translation) { - // Translation found, use it. - return translation; - } - - // Fallback to WS string. - if (plugin.name) { - return plugin.name; - } - } - - /** - * Get the size of data (in bytes) this plugin will send to copy a previous submission. - * - * @param {any} assign The assignment. - * @param {any} plugin The plugin object. - * @return {number|Promise} The size (or promise resolved with size). - */ - getSizeForCopy(assign: any, plugin: any): number | Promise { - return 0; - } - - /** - * Get the size of data (in bytes) this plugin will send to add or edit a submission. - * - * @param {any} assign The assignment. - * @param {any} plugin The plugin object. - * @return {number|Promise} The size (or promise resolved with size). - */ - getSizeForEdit(assign: any, plugin: any): number | Promise { - return 0; - } - - /** - * Check if the submission data has changed for this plugin. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {any} inputData Data entered by the user for the submission. - * @return {boolean|Promise} Boolean (or promise resolved with boolean): whether the data has changed. - */ - hasDataChanged(assign: any, submission: any, plugin: any, inputData: any): boolean | Promise { - return false; - } - - /** - * Whether or not the handler is enabled on a site level. - * - * @return {boolean|Promise} True or promise resolved with true if enabled. - */ - isEnabled(): boolean | Promise { - return true; - } - - /** - * Whether or not the handler is enabled for edit on a site level. - * @return {boolean|Promise} Whether or not the handler is enabled for edit on a site level. - */ - isEnabledForEdit(): boolean | Promise { - return false; - } - - /** - * Prefetch any required data for the plugin. - * This should NOT prefetch files. Files to be prefetched should be returned by the getPluginFiles function. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {Promise} Promise resolved when done. - */ - prefetch(assign: any, submission: any, plugin: any, siteId?: string): Promise { - return Promise.resolve(); - } - - /** - * Prepare and add to pluginData the data to send to the server based on the input data. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {any} inputData Data entered by the user for the submission. - * @param {any} pluginData Object where to store the data to send. - * @param {boolean} [offline] Whether the user is editing in offline. - * @param {number} [userId] User ID. If not defined, site's current user. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - prepareSubmissionData?(assign: any, submission: any, plugin: any, inputData: any, pluginData: any, offline?: boolean, - userId?: number, siteId?: string): void | Promise { - // Nothing to do. - } - - /** - * Prepare and add to pluginData the data to send to the server based on the offline data stored. - * This will be used when performing a synchronization. - * - * @param {any} assign The assignment. - * @param {any} submission The submission. - * @param {any} plugin The plugin object. - * @param {any} offlineData Offline data stored. - * @param {any} pluginData Object where to store the data to send. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} If the function is async, it should return a Promise resolved when done. - */ - prepareSyncData?(assign: any, submission: any, plugin: any, offlineData: any, pluginData: any, siteId?: string) - : void | Promise { - // Nothing to do. - } + constructor(protected translate: TranslateService) { + super(translate); + } // Nothing to do. } diff --git a/src/addon/mod/assign/submission/comments/component/comments.html b/src/addon/mod/assign/submission/comments/component/addon-mod-assign-submission-comments.html similarity index 100% rename from src/addon/mod/assign/submission/comments/component/comments.html rename to src/addon/mod/assign/submission/comments/component/addon-mod-assign-submission-comments.html diff --git a/src/addon/mod/assign/submission/comments/component/comments.ts b/src/addon/mod/assign/submission/comments/component/comments.ts index c27751bcc..31f62de86 100644 --- a/src/addon/mod/assign/submission/comments/component/comments.ts +++ b/src/addon/mod/assign/submission/comments/component/comments.ts @@ -22,7 +22,7 @@ import { AddonModAssignSubmissionPluginComponent } from '../../../classes/submis */ @Component({ selector: 'addon-mod-assign-submission-comments', - templateUrl: 'comments.html' + templateUrl: 'addon-mod-assign-submission-comments.html' }) export class AddonModAssignSubmissionCommentsComponent extends AddonModAssignSubmissionPluginComponent { @ViewChild(CoreCommentsCommentsComponent) commentsComponent: CoreCommentsCommentsComponent; diff --git a/src/addon/mod/assign/submission/file/component/file.html b/src/addon/mod/assign/submission/file/component/addon-mod-assign-submission-file.html similarity index 100% rename from src/addon/mod/assign/submission/file/component/file.html rename to src/addon/mod/assign/submission/file/component/addon-mod-assign-submission-file.html diff --git a/src/addon/mod/assign/submission/file/component/file.ts b/src/addon/mod/assign/submission/file/component/file.ts index a25ac1bbb..fec798d8c 100644 --- a/src/addon/mod/assign/submission/file/component/file.ts +++ b/src/addon/mod/assign/submission/file/component/file.ts @@ -26,7 +26,7 @@ import { AddonModAssignSubmissionPluginComponent } from '../../../classes/submis */ @Component({ selector: 'addon-mod-assign-submission-file', - templateUrl: 'file.html' + templateUrl: 'addon-mod-assign-submission-file.html' }) export class AddonModAssignSubmissionFileComponent extends AddonModAssignSubmissionPluginComponent implements OnInit { diff --git a/src/addon/mod/assign/submission/onlinetext/component/onlinetext.html b/src/addon/mod/assign/submission/onlinetext/component/addon-mod-assign-submission-onlinetext.html similarity index 100% rename from src/addon/mod/assign/submission/onlinetext/component/onlinetext.html rename to src/addon/mod/assign/submission/onlinetext/component/addon-mod-assign-submission-onlinetext.html diff --git a/src/addon/mod/assign/submission/onlinetext/component/onlinetext.ts b/src/addon/mod/assign/submission/onlinetext/component/onlinetext.ts index b2c96f266..8e9e98633 100644 --- a/src/addon/mod/assign/submission/onlinetext/component/onlinetext.ts +++ b/src/addon/mod/assign/submission/onlinetext/component/onlinetext.ts @@ -25,7 +25,7 @@ import { AddonModAssignSubmissionPluginComponent } from '../../../classes/submis */ @Component({ selector: 'addon-mod-assign-submission-online-text', - templateUrl: 'onlinetext.html' + templateUrl: 'addon-mod-assign-submission-onlinetext.html' }) export class AddonModAssignSubmissionOnlineTextComponent extends AddonModAssignSubmissionPluginComponent implements OnInit { diff --git a/src/addon/mod/book/book.module.ts b/src/addon/mod/book/book.module.ts index bdd9ead55..8fd036e53 100644 --- a/src/addon/mod/book/book.module.ts +++ b/src/addon/mod/book/book.module.ts @@ -33,11 +33,12 @@ export const ADDON_MOD_BOOK_PROVIDERS: any[] = [ imports: [ AddonModBookComponentsModule ], - providers: ADDON_MOD_BOOK_PROVIDERS.concat([ + providers: [ + AddonModBookProvider, AddonModBookModuleHandler, AddonModBookLinkHandler, AddonModBookPrefetchHandler - ]) + ] }) export class AddonModBookModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModBookModuleHandler, diff --git a/src/addon/mod/book/components/index/index.html b/src/addon/mod/book/components/index/addon-mod-assign-submission-index.html similarity index 100% rename from src/addon/mod/book/components/index/index.html rename to src/addon/mod/book/components/index/addon-mod-assign-submission-index.html diff --git a/src/addon/mod/book/components/index/index.ts b/src/addon/mod/book/components/index/index.ts index 92f43bc98..368d1192f 100644 --- a/src/addon/mod/book/components/index/index.ts +++ b/src/addon/mod/book/components/index/index.ts @@ -26,7 +26,7 @@ import { AddonModBookTocPopoverComponent } from '../../components/toc-popover/to */ @Component({ selector: 'addon-mod-book-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-assign-submission-index.html', }) export class AddonModBookIndexComponent extends CoreCourseModuleMainResourceComponent { component = AddonModBookProvider.COMPONENT; diff --git a/src/addon/mod/book/components/navigation-arrows/navigation-arrows.html b/src/addon/mod/book/components/navigation-arrows/addon-mod-assign-submission-navigation-arrows.html similarity index 100% rename from src/addon/mod/book/components/navigation-arrows/navigation-arrows.html rename to src/addon/mod/book/components/navigation-arrows/addon-mod-assign-submission-navigation-arrows.html diff --git a/src/addon/mod/book/components/navigation-arrows/navigation-arrows.ts b/src/addon/mod/book/components/navigation-arrows/navigation-arrows.ts index acb60d156..64a103f84 100644 --- a/src/addon/mod/book/components/navigation-arrows/navigation-arrows.ts +++ b/src/addon/mod/book/components/navigation-arrows/navigation-arrows.ts @@ -19,7 +19,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core'; */ @Component({ selector: 'addon-mod-book-navigation-arrows', - templateUrl: 'navigation-arrows.html' + templateUrl: 'addon-mod-assign-submission-navigation-arrows.html' }) export class AddonModBookNavigationArrowsComponent { @Input() previous?: string; // Previous chapter ID. diff --git a/src/addon/mod/book/components/toc-popover/toc-popover.html b/src/addon/mod/book/components/toc-popover/addon-mod-assign-submission-toc-popover.html similarity index 100% rename from src/addon/mod/book/components/toc-popover/toc-popover.html rename to src/addon/mod/book/components/toc-popover/addon-mod-assign-submission-toc-popover.html diff --git a/src/addon/mod/book/components/toc-popover/toc-popover.ts b/src/addon/mod/book/components/toc-popover/toc-popover.ts index 01ce767ab..416044a3f 100644 --- a/src/addon/mod/book/components/toc-popover/toc-popover.ts +++ b/src/addon/mod/book/components/toc-popover/toc-popover.ts @@ -21,7 +21,7 @@ import { AddonModBookTocChapter } from '../../providers/book'; */ @Component({ selector: 'addon-mod-book-toc-popover', - templateUrl: 'toc-popover.html' + templateUrl: 'addon-mod-assign-submission-toc-popover.html' }) export class AddonModBookTocPopoverComponent { chapters: AddonModBookTocChapter[]; diff --git a/src/addon/mod/chat/chat.module.ts b/src/addon/mod/chat/chat.module.ts index d61cf9154..bcda38f20 100644 --- a/src/addon/mod/chat/chat.module.ts +++ b/src/addon/mod/chat/chat.module.ts @@ -31,10 +31,11 @@ export const ADDON_MOD_CHAT_PROVIDERS: any[] = [ imports: [ AddonModChatComponentsModule ], - providers: ADDON_MOD_CHAT_PROVIDERS.concat([ + providers: [ + AddonModChatProvider, AddonModChatLinkHandler, AddonModChatModuleHandler, - ]) + ] }) export class AddonModChatModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModChatModuleHandler, diff --git a/src/addon/mod/chat/components/index/index.html b/src/addon/mod/chat/components/index/addon-mod-assign-submission-index.html similarity index 100% rename from src/addon/mod/chat/components/index/index.html rename to src/addon/mod/chat/components/index/addon-mod-assign-submission-index.html diff --git a/src/addon/mod/chat/components/index/index.ts b/src/addon/mod/chat/components/index/index.ts index 62ed9dd85..a3da0d043 100644 --- a/src/addon/mod/chat/components/index/index.ts +++ b/src/addon/mod/chat/components/index/index.ts @@ -24,7 +24,7 @@ import * as moment from 'moment'; */ @Component({ selector: 'addon-mod-chat-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-assign-submission-index.html', }) export class AddonModChatIndexComponent extends CoreCourseModuleMainActivityComponent { component = AddonModChatProvider.COMPONENT; diff --git a/src/addon/mod/choice/choice.module.ts b/src/addon/mod/choice/choice.module.ts index 16f54b7ed..501f10bfa 100644 --- a/src/addon/mod/choice/choice.module.ts +++ b/src/addon/mod/choice/choice.module.ts @@ -40,12 +40,15 @@ export const ADDON_MOD_CHOICE_PROVIDERS: any[] = [ imports: [ AddonModChoiceComponentsModule ], - providers: ADDON_MOD_CHOICE_PROVIDERS.concat([ + providers: [ + AddonModChoiceProvider, + AddonModChoiceSyncProvider, + AddonModChoiceOfflineProvider, AddonModChoiceModuleHandler, AddonModChoicePrefetchHandler, AddonModChoiceLinkHandler, AddonModChoiceSyncCronHandler - ]) + ] }) export class AddonModChoiceModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModChoiceModuleHandler, diff --git a/src/addon/mod/choice/components/index/index.html b/src/addon/mod/choice/components/index/addon-mod-choice-index.html similarity index 100% rename from src/addon/mod/choice/components/index/index.html rename to src/addon/mod/choice/components/index/addon-mod-choice-index.html diff --git a/src/addon/mod/choice/components/index/index.ts b/src/addon/mod/choice/components/index/index.ts index 3691ca893..1465be6ff 100644 --- a/src/addon/mod/choice/components/index/index.ts +++ b/src/addon/mod/choice/components/index/index.ts @@ -25,7 +25,7 @@ import * as moment from 'moment'; */ @Component({ selector: 'addon-mod-choice-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-choice-index.html', }) export class AddonModChoiceIndexComponent extends CoreCourseModuleMainActivityComponent { component = AddonModChoiceProvider.COMPONENT; diff --git a/src/addon/mod/data/components/action/action.ts b/src/addon/mod/data/components/action/action.ts index 0cdb76f45..dab8a35d0 100644 --- a/src/addon/mod/data/components/action/action.ts +++ b/src/addon/mod/data/components/action/action.ts @@ -23,7 +23,7 @@ import { CoreUserProvider } from '@core/user/providers/user'; */ @Component({ selector: 'addon-mod-data-action', - templateUrl: 'action.html', + templateUrl: 'addon-mod-data-action.html', }) export class AddonModDataActionComponent implements OnInit { @Input() mode: string; // The render mode. diff --git a/src/addon/mod/data/components/action/action.html b/src/addon/mod/data/components/action/addon-mod-data-action.html similarity index 100% rename from src/addon/mod/data/components/action/action.html rename to src/addon/mod/data/components/action/addon-mod-data-action.html diff --git a/src/addon/mod/data/components/field-plugin/field-plugin.html b/src/addon/mod/data/components/field-plugin/addon-mod-data-field-plugin.html similarity index 100% rename from src/addon/mod/data/components/field-plugin/field-plugin.html rename to src/addon/mod/data/components/field-plugin/addon-mod-data-field-plugin.html diff --git a/src/addon/mod/data/components/field-plugin/field-plugin.ts b/src/addon/mod/data/components/field-plugin/field-plugin.ts index c2ae6751f..cf08b715e 100644 --- a/src/addon/mod/data/components/field-plugin/field-plugin.ts +++ b/src/addon/mod/data/components/field-plugin/field-plugin.ts @@ -22,7 +22,7 @@ import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-comp */ @Component({ selector: 'addon-mod-data-field-plugin', - templateUrl: 'field-plugin.html', + templateUrl: 'addon-mod-data-field-plugin.html', }) export class AddonModDataFieldPluginComponent implements OnInit, OnChanges { @ViewChild(CoreDynamicComponent) dynamicComponent: CoreDynamicComponent; diff --git a/src/addon/mod/data/components/index/index.html b/src/addon/mod/data/components/index/addon-mod-data-index.html similarity index 100% rename from src/addon/mod/data/components/index/index.html rename to src/addon/mod/data/components/index/addon-mod-data-index.html diff --git a/src/addon/mod/data/components/index/index.ts b/src/addon/mod/data/components/index/index.ts index 409bf230f..f7cfca607 100644 --- a/src/addon/mod/data/components/index/index.ts +++ b/src/addon/mod/data/components/index/index.ts @@ -31,7 +31,7 @@ import * as moment from 'moment'; */ @Component({ selector: 'addon-mod-data-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-data-index.html', }) export class AddonModDataIndexComponent extends CoreCourseModuleMainActivityComponent { diff --git a/src/addon/mod/data/data.module.ts b/src/addon/mod/data/data.module.ts index 110991b0f..6ddb96d55 100644 --- a/src/addon/mod/data/data.module.ts +++ b/src/addon/mod/data/data.module.ts @@ -51,7 +51,12 @@ export const ADDON_MOD_DATA_PROVIDERS: any[] = [ AddonModDataComponentsModule, AddonModDataFieldModule ], - providers: ADDON_MOD_DATA_PROVIDERS.concat([ + providers: [ + AddonModDataProvider, + AddonModDataHelperProvider, + AddonModDataSyncProvider, + AddonModDataOfflineProvider, + AddonModDataFieldsDelegate, AddonModDataModuleHandler, AddonModDataPrefetchHandler, AddonModDataLinkHandler, @@ -61,7 +66,7 @@ export const ADDON_MOD_DATA_PROVIDERS: any[] = [ AddonModDataEditLinkHandler, AddonModDataSyncCronHandler, AddonModDataDefaultFieldHandler - ]) + ] }) export class AddonModDataModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModDataModuleHandler, diff --git a/src/addon/mod/data/fields/checkbox/component/checkbox.html b/src/addon/mod/data/fields/checkbox/component/addon-mod-data-field-checkbox.html similarity index 100% rename from src/addon/mod/data/fields/checkbox/component/checkbox.html rename to src/addon/mod/data/fields/checkbox/component/addon-mod-data-field-checkbox.html diff --git a/src/addon/mod/data/fields/checkbox/component/checkbox.ts b/src/addon/mod/data/fields/checkbox/component/checkbox.ts index 5d0ef6f35..98cbe5cc7 100644 --- a/src/addon/mod/data/fields/checkbox/component/checkbox.ts +++ b/src/addon/mod/data/fields/checkbox/component/checkbox.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-checkbox', - templateUrl: 'checkbox.html' + templateUrl: 'addon-mod-data-field-checkbox.html' }) export class AddonModDataFieldCheckboxComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/date/component/date.html b/src/addon/mod/data/fields/date/component/addon-mod-data-field-date.html similarity index 100% rename from src/addon/mod/data/fields/date/component/date.html rename to src/addon/mod/data/fields/date/component/addon-mod-data-field-date.html diff --git a/src/addon/mod/data/fields/date/component/date.ts b/src/addon/mod/data/fields/date/component/date.ts index c2c368be8..d160933cf 100644 --- a/src/addon/mod/data/fields/date/component/date.ts +++ b/src/addon/mod/data/fields/date/component/date.ts @@ -21,7 +21,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-date', - templateUrl: 'date.html' + templateUrl: 'addon-mod-data-field-date.html' }) export class AddonModDataFieldDateComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/file/component/file.html b/src/addon/mod/data/fields/file/component/addon-mod-data-field-file.html similarity index 100% rename from src/addon/mod/data/fields/file/component/file.html rename to src/addon/mod/data/fields/file/component/addon-mod-data-field-file.html diff --git a/src/addon/mod/data/fields/file/component/file.ts b/src/addon/mod/data/fields/file/component/file.ts index e39faafe5..3522076fc 100644 --- a/src/addon/mod/data/fields/file/component/file.ts +++ b/src/addon/mod/data/fields/file/component/file.ts @@ -22,7 +22,7 @@ import { AddonModDataProvider } from '../../../providers/data'; */ @Component({ selector: 'addon-mod-data-field-file', - templateUrl: 'file.html' + templateUrl: 'addon-mod-data-field-file.html' }) export class AddonModDataFieldFileComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/latlong/component/latlong.html b/src/addon/mod/data/fields/latlong/component/addon-mod-data-field-latlong.html similarity index 100% rename from src/addon/mod/data/fields/latlong/component/latlong.html rename to src/addon/mod/data/fields/latlong/component/addon-mod-data-field-latlong.html diff --git a/src/addon/mod/data/fields/latlong/component/latlong.ts b/src/addon/mod/data/fields/latlong/component/latlong.ts index 2b7fda2be..bef58067f 100644 --- a/src/addon/mod/data/fields/latlong/component/latlong.ts +++ b/src/addon/mod/data/fields/latlong/component/latlong.ts @@ -21,7 +21,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-latlong', - templateUrl: 'latlong.html' + templateUrl: 'addon-mod-data-field-latlong.html' }) export class AddonModDataFieldLatlongComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/menu/component/menu.html b/src/addon/mod/data/fields/menu/component/addon-mod-data-field-menu.html similarity index 100% rename from src/addon/mod/data/fields/menu/component/menu.html rename to src/addon/mod/data/fields/menu/component/addon-mod-data-field-menu.html diff --git a/src/addon/mod/data/fields/menu/component/menu.ts b/src/addon/mod/data/fields/menu/component/menu.ts index e722375ef..7362cb6f6 100644 --- a/src/addon/mod/data/fields/menu/component/menu.ts +++ b/src/addon/mod/data/fields/menu/component/menu.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-menu', - templateUrl: 'menu.html' + templateUrl: 'addon-mod-data-field-menu.html' }) export class AddonModDataFieldMenuComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/multimenu/component/multimenu.html b/src/addon/mod/data/fields/multimenu/component/addon-mod-data-field-multimenu.html similarity index 100% rename from src/addon/mod/data/fields/multimenu/component/multimenu.html rename to src/addon/mod/data/fields/multimenu/component/addon-mod-data-field-multimenu.html diff --git a/src/addon/mod/data/fields/multimenu/component/multimenu.ts b/src/addon/mod/data/fields/multimenu/component/multimenu.ts index a93ee67d5..c642895f9 100644 --- a/src/addon/mod/data/fields/multimenu/component/multimenu.ts +++ b/src/addon/mod/data/fields/multimenu/component/multimenu.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-multimenu', - templateUrl: 'multimenu.html' + templateUrl: 'addon-mod-data-field-multimenu.html' }) export class AddonModDataFieldMultimenuComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/number/component/number.html b/src/addon/mod/data/fields/number/component/addon-mod-data-field-number.html similarity index 100% rename from src/addon/mod/data/fields/number/component/number.html rename to src/addon/mod/data/fields/number/component/addon-mod-data-field-number.html diff --git a/src/addon/mod/data/fields/number/component/number.ts b/src/addon/mod/data/fields/number/component/number.ts index c7dcb1127..73823be14 100644 --- a/src/addon/mod/data/fields/number/component/number.ts +++ b/src/addon/mod/data/fields/number/component/number.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-number', - templateUrl: 'number.html' + templateUrl: 'addon-mod-data-field-number.html' }) export class AddonModDataFieldNumberComponent extends AddonModDataFieldPluginComponent{ diff --git a/src/addon/mod/data/fields/picture/component/picture.html b/src/addon/mod/data/fields/picture/component/addon-mod-data-field-picture.html similarity index 100% rename from src/addon/mod/data/fields/picture/component/picture.html rename to src/addon/mod/data/fields/picture/component/addon-mod-data-field-picture.html diff --git a/src/addon/mod/data/fields/picture/component/picture.ts b/src/addon/mod/data/fields/picture/component/picture.ts index 5c6796d90..a0431b197 100644 --- a/src/addon/mod/data/fields/picture/component/picture.ts +++ b/src/addon/mod/data/fields/picture/component/picture.ts @@ -22,7 +22,7 @@ import { AddonModDataProvider } from '../../../providers/data'; */ @Component({ selector: 'addon-mod-data-field-picture', - templateUrl: 'picture.html' + templateUrl: 'addon-mod-data-field-picture.html' }) export class AddonModDataFieldPictureComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/radiobutton/component/radiobutton.html b/src/addon/mod/data/fields/radiobutton/component/addon-mod-data-field-radiobutton.html similarity index 100% rename from src/addon/mod/data/fields/radiobutton/component/radiobutton.html rename to src/addon/mod/data/fields/radiobutton/component/addon-mod-data-field-radiobutton.html diff --git a/src/addon/mod/data/fields/radiobutton/component/radiobutton.ts b/src/addon/mod/data/fields/radiobutton/component/radiobutton.ts index e2b64425b..3e4122174 100644 --- a/src/addon/mod/data/fields/radiobutton/component/radiobutton.ts +++ b/src/addon/mod/data/fields/radiobutton/component/radiobutton.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-radiobutton', - templateUrl: 'radiobutton.html' + templateUrl: 'addon-mod-data-field-radiobutton.html' }) export class AddonModDataFieldRadiobuttonComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/text/component/text.html b/src/addon/mod/data/fields/text/component/addon-mod-data-field-text.html similarity index 100% rename from src/addon/mod/data/fields/text/component/text.html rename to src/addon/mod/data/fields/text/component/addon-mod-data-field-text.html diff --git a/src/addon/mod/data/fields/text/component/text.ts b/src/addon/mod/data/fields/text/component/text.ts index 1d9523d51..9429a4d73 100644 --- a/src/addon/mod/data/fields/text/component/text.ts +++ b/src/addon/mod/data/fields/text/component/text.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-text', - templateUrl: 'text.html' + templateUrl: 'addon-mod-data-field-text.html' }) export class AddonModDataFieldTextComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/textarea/component/textarea.html b/src/addon/mod/data/fields/textarea/component/addon-mod-data-field-textarea.html similarity index 100% rename from src/addon/mod/data/fields/textarea/component/textarea.html rename to src/addon/mod/data/fields/textarea/component/addon-mod-data-field-textarea.html diff --git a/src/addon/mod/data/fields/textarea/component/textarea.ts b/src/addon/mod/data/fields/textarea/component/textarea.ts index 532d762fa..a988de521 100644 --- a/src/addon/mod/data/fields/textarea/component/textarea.ts +++ b/src/addon/mod/data/fields/textarea/component/textarea.ts @@ -22,7 +22,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-textarea', - templateUrl: 'textarea.html' + templateUrl: 'addon-mod-data-field-textarea.html' }) export class AddonModDataFieldTextareaComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/data/fields/url/component/url.html b/src/addon/mod/data/fields/url/component/addon-mod-data-field-url.html similarity index 100% rename from src/addon/mod/data/fields/url/component/url.html rename to src/addon/mod/data/fields/url/component/addon-mod-data-field-url.html diff --git a/src/addon/mod/data/fields/url/component/url.ts b/src/addon/mod/data/fields/url/component/url.ts index f6d2a8450..767f1e212 100644 --- a/src/addon/mod/data/fields/url/component/url.ts +++ b/src/addon/mod/data/fields/url/component/url.ts @@ -20,7 +20,7 @@ import { AddonModDataFieldPluginComponent } from '../../../classes/field-plugin- */ @Component({ selector: 'addon-mod-data-field-url', - templateUrl: 'url.html' + templateUrl: 'addon-mod-data-field-url.html' }) export class AddonModDataFieldUrlComponent extends AddonModDataFieldPluginComponent { diff --git a/src/addon/mod/feedback/components/index/index.html b/src/addon/mod/feedback/components/index/addon-mod-feedback-index.html similarity index 100% rename from src/addon/mod/feedback/components/index/index.html rename to src/addon/mod/feedback/components/index/addon-mod-feedback-index.html diff --git a/src/addon/mod/feedback/components/index/index.ts b/src/addon/mod/feedback/components/index/index.ts index cd90d9d65..904b4d799 100644 --- a/src/addon/mod/feedback/components/index/index.ts +++ b/src/addon/mod/feedback/components/index/index.ts @@ -27,7 +27,7 @@ import * as moment from 'moment'; */ @Component({ selector: 'addon-mod-feedback-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-feedback-index.html', }) export class AddonModFeedbackIndexComponent extends CoreCourseModuleMainActivityComponent { @Input() tab = 'overview'; diff --git a/src/addon/mod/feedback/feedback.module.ts b/src/addon/mod/feedback/feedback.module.ts index 8ebb52c4d..ce5673747 100644 --- a/src/addon/mod/feedback/feedback.module.ts +++ b/src/addon/mod/feedback/feedback.module.ts @@ -47,7 +47,11 @@ export const ADDON_MOD_FEEDBACK_PROVIDERS: any[] = [ imports: [ AddonModFeedbackComponentsModule ], - providers: ADDON_MOD_FEEDBACK_PROVIDERS.concat([ + providers: [ + AddonModFeedbackProvider, + AddonModFeedbackHelperProvider, + AddonModFeedbackSyncProvider, + AddonModFeedbackOfflineProvider, AddonModFeedbackModuleHandler, AddonModFeedbackPrefetchHandler, AddonModFeedbackLinkHandler, @@ -57,7 +61,7 @@ export const ADDON_MOD_FEEDBACK_PROVIDERS: any[] = [ AddonModFeedbackCompleteLinkHandler, AddonModFeedbackPrintLinkHandler, AddonModFeedbackSyncCronHandler - ]) + ] }) export class AddonModFeedbackModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModFeedbackModuleHandler, diff --git a/src/addon/mod/folder/components/index/index.html b/src/addon/mod/folder/components/index/addon-mod-folder-index.html similarity index 100% rename from src/addon/mod/folder/components/index/index.html rename to src/addon/mod/folder/components/index/addon-mod-folder-index.html diff --git a/src/addon/mod/folder/components/index/index.ts b/src/addon/mod/folder/components/index/index.ts index 269f25641..290867043 100644 --- a/src/addon/mod/folder/components/index/index.ts +++ b/src/addon/mod/folder/components/index/index.ts @@ -26,7 +26,7 @@ import { AddonModFolderHelperProvider } from '../../providers/helper'; */ @Component({ selector: 'addon-mod-folder-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-folder-index.html', }) export class AddonModFolderIndexComponent extends CoreCourseModuleMainResourceComponent { @Input() path: string; // For subfolders. Use the path instead of a boolean so Angular detects them as different states. diff --git a/src/addon/mod/folder/folder.module.ts b/src/addon/mod/folder/folder.module.ts index defbc4ad4..d597318f9 100644 --- a/src/addon/mod/folder/folder.module.ts +++ b/src/addon/mod/folder/folder.module.ts @@ -37,12 +37,14 @@ export const ADDON_MOD_FOLDER_PROVIDERS: any[] = [ imports: [ AddonModFolderComponentsModule ], - providers: ADDON_MOD_FOLDER_PROVIDERS.concat([ + providers: [ + AddonModFolderProvider, + AddonModFolderHelperProvider, AddonModFolderModuleHandler, AddonModFolderPrefetchHandler, AddonModFolderLinkHandler, AddonModFolderPluginFileHandler - ]) + ] }) export class AddonModFolderModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModFolderModuleHandler, diff --git a/src/addon/mod/forum/components/index/index.html b/src/addon/mod/forum/components/index/addon-mod-forum-index.html similarity index 100% rename from src/addon/mod/forum/components/index/index.html rename to src/addon/mod/forum/components/index/addon-mod-forum-index.html diff --git a/src/addon/mod/forum/components/index/index.ts b/src/addon/mod/forum/components/index/index.ts index caae5c8d7..4755aa87c 100644 --- a/src/addon/mod/forum/components/index/index.ts +++ b/src/addon/mod/forum/components/index/index.ts @@ -30,7 +30,7 @@ import { AddonModForumPrefetchHandler } from '../../providers/prefetch-handler'; */ @Component({ selector: 'addon-mod-forum-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-forum-index.html', }) export class AddonModForumIndexComponent extends CoreCourseModuleMainActivityComponent { @ViewChild(CoreSplitViewComponent) splitviewCtrl: CoreSplitViewComponent; diff --git a/src/addon/mod/forum/components/post/post.html b/src/addon/mod/forum/components/post/addon-mod-forum-post.html similarity index 100% rename from src/addon/mod/forum/components/post/post.html rename to src/addon/mod/forum/components/post/addon-mod-forum-post.html diff --git a/src/addon/mod/forum/components/post/post.ts b/src/addon/mod/forum/components/post/post.ts index 528b10974..7bee5df7c 100644 --- a/src/addon/mod/forum/components/post/post.ts +++ b/src/addon/mod/forum/components/post/post.ts @@ -31,7 +31,7 @@ import { AddonModForumSyncProvider } from '../../providers/sync'; */ @Component({ selector: 'addon-mod-forum-post', - templateUrl: 'post.html', + templateUrl: 'addon-mod-forum-post.html', }) export class AddonModForumPostComponent implements OnInit, OnDestroy { diff --git a/src/addon/mod/forum/forum.module.ts b/src/addon/mod/forum/forum.module.ts index 1aa82db95..c0455cefd 100644 --- a/src/addon/mod/forum/forum.module.ts +++ b/src/addon/mod/forum/forum.module.ts @@ -43,13 +43,17 @@ export const ADDON_MOD_FORUM_PROVIDERS: any[] = [ imports: [ AddonModForumComponentsModule, ], - providers: ADDON_MOD_FORUM_PROVIDERS.concat([ + providers: [ + AddonModForumProvider, + AddonModForumOfflineProvider, + AddonModForumHelperProvider, + AddonModForumSyncProvider, AddonModForumModuleHandler, AddonModForumPrefetchHandler, AddonModForumSyncCronHandler, AddonModForumIndexLinkHandler, AddonModForumDiscussionLinkHandler - ]) + ] }) export class AddonModForumModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModForumModuleHandler, diff --git a/src/addon/mod/glossary/components/index/index.html b/src/addon/mod/glossary/components/index/addon-mod-glossary-index.html similarity index 100% rename from src/addon/mod/glossary/components/index/index.html rename to src/addon/mod/glossary/components/index/addon-mod-glossary-index.html diff --git a/src/addon/mod/glossary/components/index/index.ts b/src/addon/mod/glossary/components/index/index.ts index 618b642ca..446b6f919 100644 --- a/src/addon/mod/glossary/components/index/index.ts +++ b/src/addon/mod/glossary/components/index/index.ts @@ -28,7 +28,7 @@ type FetchMode = 'author_all' | 'cat_all' | 'newest_first' | 'recently_updated' */ @Component({ selector: 'addon-mod-glossary-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-glossary-index.html', }) export class AddonModGlossaryIndexComponent extends CoreCourseModuleMainActivityComponent { @ViewChild(CoreSplitViewComponent) splitviewCtrl: CoreSplitViewComponent; diff --git a/src/addon/mod/glossary/components/mode-picker/mode-picker.html b/src/addon/mod/glossary/components/mode-picker/addon-mod-glossary-mode-picker.html similarity index 100% rename from src/addon/mod/glossary/components/mode-picker/mode-picker.html rename to src/addon/mod/glossary/components/mode-picker/addon-mod-glossary-mode-picker.html diff --git a/src/addon/mod/glossary/components/mode-picker/mode-picker.ts b/src/addon/mod/glossary/components/mode-picker/mode-picker.ts index f85118cef..1881670c4 100644 --- a/src/addon/mod/glossary/components/mode-picker/mode-picker.ts +++ b/src/addon/mod/glossary/components/mode-picker/mode-picker.ts @@ -20,7 +20,7 @@ import { NavParams, ViewController } from 'ionic-angular'; */ @Component({ selector: 'addon-mod-glossary-mode-picker-popover', - templateUrl: 'mode-picker.html' + templateUrl: 'addon-mod-glossary-mode-picker.html' }) export class AddonModGlossaryModePickerPopoverComponent { modes = []; diff --git a/src/addon/mod/glossary/glossary.module.ts b/src/addon/mod/glossary/glossary.module.ts index 148311664..78da46557 100644 --- a/src/addon/mod/glossary/glossary.module.ts +++ b/src/addon/mod/glossary/glossary.module.ts @@ -43,13 +43,17 @@ export const ADDON_MOD_GLOSSARY_PROVIDERS: any[] = [ imports: [ AddonModGlossaryComponentsModule, ], - providers: ADDON_MOD_GLOSSARY_PROVIDERS.concat([ + providers: [ + AddonModGlossaryProvider, + AddonModGlossaryOfflineProvider, + AddonModGlossaryHelperProvider, + AddonModGlossarySyncProvider, AddonModGlossaryModuleHandler, AddonModGlossaryPrefetchHandler, AddonModGlossarySyncCronHandler, AddonModGlossaryIndexLinkHandler, AddonModGlossaryEntryLinkHandler, - ]) + ] }) export class AddonModGlossaryModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModGlossaryModuleHandler, diff --git a/src/addon/mod/imscp/components/index/index.html b/src/addon/mod/imscp/components/index/addon-mod-imscp-index.html similarity index 100% rename from src/addon/mod/imscp/components/index/index.html rename to src/addon/mod/imscp/components/index/addon-mod-imscp-index.html diff --git a/src/addon/mod/imscp/components/index/index.ts b/src/addon/mod/imscp/components/index/index.ts index cf57417d1..8572ea5cc 100644 --- a/src/addon/mod/imscp/components/index/index.ts +++ b/src/addon/mod/imscp/components/index/index.ts @@ -26,7 +26,7 @@ import { AddonModImscpTocPopoverComponent } from '../../components/toc-popover/t */ @Component({ selector: 'addon-mod-imscp-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-imscp-index.html', }) export class AddonModImscpIndexComponent extends CoreCourseModuleMainResourceComponent { component = AddonModImscpProvider.COMPONENT; diff --git a/src/addon/mod/imscp/components/toc-popover/toc-popover.html b/src/addon/mod/imscp/components/toc-popover/addon-mod-imscp-toc-popover.html similarity index 100% rename from src/addon/mod/imscp/components/toc-popover/toc-popover.html rename to src/addon/mod/imscp/components/toc-popover/addon-mod-imscp-toc-popover.html diff --git a/src/addon/mod/imscp/components/toc-popover/toc-popover.ts b/src/addon/mod/imscp/components/toc-popover/toc-popover.ts index ab88dec0e..115c1241f 100644 --- a/src/addon/mod/imscp/components/toc-popover/toc-popover.ts +++ b/src/addon/mod/imscp/components/toc-popover/toc-popover.ts @@ -20,7 +20,7 @@ import { NavParams, ViewController } from 'ionic-angular'; */ @Component({ selector: 'addon-mod-imscp-toc-popover', - templateUrl: 'toc-popover.html' + templateUrl: 'addon-mod-imscp-toc-popover.html' }) export class AddonModImscpTocPopoverComponent { items = []; diff --git a/src/addon/mod/imscp/imscp.module.ts b/src/addon/mod/imscp/imscp.module.ts index 2f5df6c07..68ac3865c 100644 --- a/src/addon/mod/imscp/imscp.module.ts +++ b/src/addon/mod/imscp/imscp.module.ts @@ -35,12 +35,13 @@ export const ADDON_MOD_IMSCP_PROVIDERS: any[] = [ imports: [ AddonModImscpComponentsModule ], - providers: ADDON_MOD_IMSCP_PROVIDERS.concat([ + providers: [ + AddonModImscpProvider, AddonModImscpModuleHandler, AddonModImscpPrefetchHandler, AddonModImscpLinkHandler, AddonModImscpPluginFileHandler - ]) + ] }) export class AddonModImscpModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModImscpModuleHandler, diff --git a/src/addon/mod/lesson/components/index/index.html b/src/addon/mod/lesson/components/index/addon-mod-lesson-index.html similarity index 100% rename from src/addon/mod/lesson/components/index/index.html rename to src/addon/mod/lesson/components/index/addon-mod-lesson-index.html diff --git a/src/addon/mod/lesson/components/index/index.ts b/src/addon/mod/lesson/components/index/index.ts index 59178364b..9eb698e04 100644 --- a/src/addon/mod/lesson/components/index/index.ts +++ b/src/addon/mod/lesson/components/index/index.ts @@ -30,7 +30,7 @@ import { CoreConstants } from '@core/constants'; */ @Component({ selector: 'addon-mod-lesson-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-lesson-index.html', }) export class AddonModLessonIndexComponent extends CoreCourseModuleMainActivityComponent { @Input() group: number; // The group to display. diff --git a/src/addon/mod/lesson/lesson.module.ts b/src/addon/mod/lesson/lesson.module.ts index dc5078ae7..be991cc50 100644 --- a/src/addon/mod/lesson/lesson.module.ts +++ b/src/addon/mod/lesson/lesson.module.ts @@ -44,14 +44,18 @@ export const ADDON_MOD_LESSON_PROVIDERS: any[] = [ imports: [ AddonModLessonComponentsModule ], - providers: ADDON_MOD_LESSON_PROVIDERS.concat([ + providers: [ + AddonModLessonProvider, + AddonModLessonOfflineProvider, + AddonModLessonSyncProvider, + AddonModLessonHelperProvider, AddonModLessonModuleHandler, AddonModLessonPrefetchHandler, AddonModLessonSyncCronHandler, AddonModLessonIndexLinkHandler, AddonModLessonGradeLinkHandler, AddonModLessonReportLinkHandler - ]) + ] }) export class AddonModLessonModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModLessonModuleHandler, diff --git a/src/addon/mod/lesson/providers/lesson.ts b/src/addon/mod/lesson/providers/lesson.ts index 64eac2a9f..a3eac51c5 100644 --- a/src/addon/mod/lesson/providers/lesson.ts +++ b/src/addon/mod/lesson/providers/lesson.ts @@ -776,7 +776,6 @@ export class AddonModLessonProvider { useRegExp = pageData.page.qoption; let expectedAnswer = answer.answer, isMatch = false, - markIt = false, ignoreCase; if (useRegExp) { @@ -826,7 +825,6 @@ export class AddonModLessonProvider { // 2- Check for code for marking wrong strings (coded by initial '++'). case '++': expectedAnswer = expectedAnswer.substr(2); - markIt = true; // Check for one or several matches. const matches = studentAnswer.match(new RegExp(expectedAnswer, 'g' + ignoreCase)); diff --git a/src/addon/mod/lti/components/index/index.html b/src/addon/mod/lti/components/index/addon-mod-lti-index.html similarity index 100% rename from src/addon/mod/lti/components/index/index.html rename to src/addon/mod/lti/components/index/addon-mod-lti-index.html diff --git a/src/addon/mod/lti/components/index/index.ts b/src/addon/mod/lti/components/index/index.ts index 8f0168a99..d2520d35b 100644 --- a/src/addon/mod/lti/components/index/index.ts +++ b/src/addon/mod/lti/components/index/index.ts @@ -22,7 +22,7 @@ import { AddonModLtiProvider } from '../../providers/lti'; */ @Component({ selector: 'addon-mod-lti-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-lti-index.html', }) export class AddonModLtiIndexComponent extends CoreCourseModuleMainActivityComponent { component = AddonModLtiProvider.COMPONENT; diff --git a/src/addon/mod/lti/lti.module.ts b/src/addon/mod/lti/lti.module.ts index bf20a9a38..52a5487b5 100644 --- a/src/addon/mod/lti/lti.module.ts +++ b/src/addon/mod/lti/lti.module.ts @@ -31,10 +31,11 @@ export const ADDON_MOD_LTI_PROVIDERS: any[] = [ imports: [ AddonModLtiComponentsModule ], - providers: ADDON_MOD_LTI_PROVIDERS.concat([ + providers: [ + AddonModLtiProvider, AddonModLtiModuleHandler, AddonModLtiLinkHandler - ]) + ] }) export class AddonModLtiModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModLtiModuleHandler, diff --git a/src/addon/mod/page/components/index/index.html b/src/addon/mod/page/components/index/addon-mod-page-index.html similarity index 100% rename from src/addon/mod/page/components/index/index.html rename to src/addon/mod/page/components/index/addon-mod-page-index.html diff --git a/src/addon/mod/page/components/index/index.ts b/src/addon/mod/page/components/index/index.ts index 78a5b2788..f22e907f4 100644 --- a/src/addon/mod/page/components/index/index.ts +++ b/src/addon/mod/page/components/index/index.ts @@ -25,7 +25,7 @@ import { AddonModPagePrefetchHandler } from '../../providers/prefetch-handler'; */ @Component({ selector: 'addon-mod-page-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-page-index.html', }) export class AddonModPageIndexComponent extends CoreCourseModuleMainResourceComponent { component = AddonModPageProvider.COMPONENT; diff --git a/src/addon/mod/page/page.module.ts b/src/addon/mod/page/page.module.ts index 5fcc6c41a..abdb0889c 100644 --- a/src/addon/mod/page/page.module.ts +++ b/src/addon/mod/page/page.module.ts @@ -37,12 +37,14 @@ export const ADDON_MOD_PAGE_PROVIDERS: any[] = [ imports: [ AddonModPageComponentsModule ], - providers: ADDON_MOD_PAGE_PROVIDERS.concat([ + providers: [ + AddonModPageProvider, + AddonModPageHelperProvider, AddonModPageModuleHandler, AddonModPagePrefetchHandler, AddonModPageLinkHandler, AddonModPagePluginFileHandler - ]) + ] }) export class AddonModPageModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModPageModuleHandler, diff --git a/src/addon/mod/quiz/accessrules/offlineattempts/component/offlineattempts.html b/src/addon/mod/quiz/accessrules/offlineattempts/component/addon-mod-quiz-access-offline-attempts.html similarity index 100% rename from src/addon/mod/quiz/accessrules/offlineattempts/component/offlineattempts.html rename to src/addon/mod/quiz/accessrules/offlineattempts/component/addon-mod-quiz-access-offline-attempts.html diff --git a/src/addon/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts b/src/addon/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts index f271fbff5..0e77aa893 100644 --- a/src/addon/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts +++ b/src/addon/mod/quiz/accessrules/offlineattempts/component/offlineattempts.ts @@ -19,8 +19,8 @@ import { FormGroup, FormBuilder } from '@angular/forms'; * Component to render the preflight for offline attempts. */ @Component({ - selector: 'addon-mod-quiz-acess-offline-attempts', - templateUrl: 'offlineattempts.html' + selector: 'addon-mod-quiz-access-offline-attempts', + templateUrl: 'addon-mod-quiz-access-offline-attempts.html' }) export class AddonModQuizAccessOfflineAttemptsComponent implements OnInit { diff --git a/src/addon/mod/quiz/accessrules/password/component/password.html b/src/addon/mod/quiz/accessrules/password/component/addon-mod-quiz-access-password.html similarity index 100% rename from src/addon/mod/quiz/accessrules/password/component/password.html rename to src/addon/mod/quiz/accessrules/password/component/addon-mod-quiz-access-password.html diff --git a/src/addon/mod/quiz/accessrules/password/component/password.ts b/src/addon/mod/quiz/accessrules/password/component/password.ts index 00816c8f7..8bf5bed9b 100644 --- a/src/addon/mod/quiz/accessrules/password/component/password.ts +++ b/src/addon/mod/quiz/accessrules/password/component/password.ts @@ -19,8 +19,8 @@ import { FormGroup, FormBuilder } from '@angular/forms'; * Component to render the preflight for password. */ @Component({ - selector: 'addon-mod-quiz-acess-password', - templateUrl: 'password.html' + selector: 'addon-mod-quiz-access-password', + templateUrl: 'addon-mod-quiz-access-password.html' }) export class AddonModQuizAccessPasswordComponent implements OnInit { diff --git a/src/addon/mod/quiz/accessrules/timelimit/component/timelimit.html b/src/addon/mod/quiz/accessrules/timelimit/component/addon-mod-quiz-access-time-limit.html similarity index 100% rename from src/addon/mod/quiz/accessrules/timelimit/component/timelimit.html rename to src/addon/mod/quiz/accessrules/timelimit/component/addon-mod-quiz-access-time-limit.html diff --git a/src/addon/mod/quiz/accessrules/timelimit/component/timelimit.ts b/src/addon/mod/quiz/accessrules/timelimit/component/timelimit.ts index de23402d3..26c9f2f57 100644 --- a/src/addon/mod/quiz/accessrules/timelimit/component/timelimit.ts +++ b/src/addon/mod/quiz/accessrules/timelimit/component/timelimit.ts @@ -19,8 +19,8 @@ import { FormGroup } from '@angular/forms'; * Component to render the preflight for time limit. */ @Component({ - selector: 'addon-mod-quiz-acess-time-limit', - templateUrl: 'timelimit.html' + selector: 'addon-mod-quiz-access-time-limit', + templateUrl: 'addon-mod-quiz-access-time-limit.html' }) export class AddonModQuizAccessTimeLimitComponent { diff --git a/src/addon/mod/quiz/components/index/index.html b/src/addon/mod/quiz/components/index/addon-mod-quiz-index.html similarity index 100% rename from src/addon/mod/quiz/components/index/index.html rename to src/addon/mod/quiz/components/index/addon-mod-quiz-index.html diff --git a/src/addon/mod/quiz/components/index/index.ts b/src/addon/mod/quiz/components/index/index.ts index d43378381..8b77bc82f 100644 --- a/src/addon/mod/quiz/components/index/index.ts +++ b/src/addon/mod/quiz/components/index/index.ts @@ -28,7 +28,7 @@ import { CoreConstants } from '@core/constants'; */ @Component({ selector: 'addon-mod-quiz-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-quiz-index.html', }) export class AddonModQuizIndexComponent extends CoreCourseModuleMainActivityComponent { component = AddonModQuizProvider.COMPONENT; diff --git a/src/addon/mod/quiz/quiz.module.ts b/src/addon/mod/quiz/quiz.module.ts index e76c4776d..e1b652c7e 100644 --- a/src/addon/mod/quiz/quiz.module.ts +++ b/src/addon/mod/quiz/quiz.module.ts @@ -66,14 +66,19 @@ export const ADDON_MOD_QUIZ_PROVIDERS: any[] = [ AddonModQuizAccessSecureWindowModule, AddonModQuizAccessTimeLimitModule ], - providers: ADDON_MOD_QUIZ_PROVIDERS.concat([ + providers: [ + AddonModQuizAccessRuleDelegate, + AddonModQuizProvider, + AddonModQuizOfflineProvider, + AddonModQuizHelperProvider, + AddonModQuizSyncProvider, AddonModQuizModuleHandler, AddonModQuizPrefetchHandler, AddonModQuizSyncCronHandler, AddonModQuizIndexLinkHandler, AddonModQuizGradeLinkHandler, AddonModQuizReviewLinkHandler - ]) + ] }) export class AddonModQuizModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModQuizModuleHandler, diff --git a/src/addon/mod/resource/components/index/index.html b/src/addon/mod/resource/components/index/addon-mod-resource-index.html similarity index 100% rename from src/addon/mod/resource/components/index/index.html rename to src/addon/mod/resource/components/index/addon-mod-resource-index.html diff --git a/src/addon/mod/resource/components/index/index.ts b/src/addon/mod/resource/components/index/index.ts index 68a388a82..9bdb7243b 100644 --- a/src/addon/mod/resource/components/index/index.ts +++ b/src/addon/mod/resource/components/index/index.ts @@ -25,7 +25,7 @@ import { AddonModResourceHelperProvider } from '../../providers/helper'; */ @Component({ selector: 'addon-mod-resource-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-resource-index.html', }) export class AddonModResourceIndexComponent extends CoreCourseModuleMainResourceComponent { component = AddonModResourceProvider.COMPONENT; diff --git a/src/addon/mod/resource/resource.module.ts b/src/addon/mod/resource/resource.module.ts index b40c21000..528e383e7 100644 --- a/src/addon/mod/resource/resource.module.ts +++ b/src/addon/mod/resource/resource.module.ts @@ -36,13 +36,14 @@ export const ADDON_MOD_RESOURCE_PROVIDERS: any[] = [ imports: [ AddonModResourceComponentsModule ], - providers: ADDON_MOD_RESOURCE_PROVIDERS.concat([ + providers: [ + AddonModResourceProvider, AddonModResourceModuleHandler, AddonModResourceHelperProvider, AddonModResourcePrefetchHandler, AddonModResourceLinkHandler, AddonModResourcePluginFileHandler - ]) + ] }) export class AddonModResourceModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModResourceModuleHandler, diff --git a/src/addon/mod/scorm/components/index/index.html b/src/addon/mod/scorm/components/index/addon-mod-scorm-index.html similarity index 100% rename from src/addon/mod/scorm/components/index/index.html rename to src/addon/mod/scorm/components/index/addon-mod-scorm-index.html diff --git a/src/addon/mod/scorm/components/index/index.ts b/src/addon/mod/scorm/components/index/index.ts index 6a18cc836..3ccebfbb2 100644 --- a/src/addon/mod/scorm/components/index/index.ts +++ b/src/addon/mod/scorm/components/index/index.ts @@ -29,7 +29,7 @@ import { CoreConstants } from '@core/constants'; */ @Component({ selector: 'addon-mod-scorm-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-scorm-index.html', }) export class AddonModScormIndexComponent extends CoreCourseModuleMainActivityComponent { component = AddonModScormProvider.COMPONENT; diff --git a/src/addon/mod/scorm/components/toc-popover/toc-popover.html b/src/addon/mod/scorm/components/toc-popover/addon-mod-scorm-toc-popover.html similarity index 100% rename from src/addon/mod/scorm/components/toc-popover/toc-popover.html rename to src/addon/mod/scorm/components/toc-popover/addon-mod-scorm-toc-popover.html diff --git a/src/addon/mod/scorm/components/toc-popover/toc-popover.ts b/src/addon/mod/scorm/components/toc-popover/toc-popover.ts index aaa3aea88..7a8b51fb1 100644 --- a/src/addon/mod/scorm/components/toc-popover/toc-popover.ts +++ b/src/addon/mod/scorm/components/toc-popover/toc-popover.ts @@ -21,7 +21,7 @@ import { AddonModScormProvider } from '../../providers/scorm'; */ @Component({ selector: 'addon-mod-scorm-toc-popover', - templateUrl: 'toc-popover.html' + templateUrl: 'addon-mod-scorm-toc-popover.html' }) export class AddonModScormTocPopoverComponent { toc: any[]; diff --git a/src/addon/mod/scorm/scorm.module.ts b/src/addon/mod/scorm/scorm.module.ts index ba1fda848..eae867ecb 100644 --- a/src/addon/mod/scorm/scorm.module.ts +++ b/src/addon/mod/scorm/scorm.module.ts @@ -43,13 +43,17 @@ export const ADDON_MOD_SCORM_PROVIDERS: any[] = [ imports: [ AddonModScormComponentsModule ], - providers: ADDON_MOD_SCORM_PROVIDERS.concat([ + providers: [ + AddonModScormProvider, + AddonModScormOfflineProvider, + AddonModScormHelperProvider, + AddonModScormSyncProvider, AddonModScormModuleHandler, AddonModScormPrefetchHandler, AddonModScormSyncCronHandler, AddonModScormIndexLinkHandler, AddonModScormGradeLinkHandler - ]) + ] }) export class AddonModScormModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModScormModuleHandler, diff --git a/src/addon/mod/survey/components/index/index.html b/src/addon/mod/survey/components/index/addon-mod-survey-index.html similarity index 100% rename from src/addon/mod/survey/components/index/index.html rename to src/addon/mod/survey/components/index/addon-mod-survey-index.html diff --git a/src/addon/mod/survey/components/index/index.ts b/src/addon/mod/survey/components/index/index.ts index 9197331e3..ba18bbcff 100644 --- a/src/addon/mod/survey/components/index/index.ts +++ b/src/addon/mod/survey/components/index/index.ts @@ -25,7 +25,7 @@ import { AddonModSurveySyncProvider } from '../../providers/sync'; */ @Component({ selector: 'addon-mod-survey-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-survey-index.html', }) export class AddonModSurveyIndexComponent extends CoreCourseModuleMainActivityComponent { component = AddonModSurveyProvider.COMPONENT; diff --git a/src/addon/mod/survey/survey.module.ts b/src/addon/mod/survey/survey.module.ts index 0762e6154..eba73d4a0 100644 --- a/src/addon/mod/survey/survey.module.ts +++ b/src/addon/mod/survey/survey.module.ts @@ -42,12 +42,16 @@ export const ADDON_MOD_SURVEY_PROVIDERS: any[] = [ imports: [ AddonModSurveyComponentsModule ], - providers: ADDON_MOD_SURVEY_PROVIDERS.concat([ + providers: [ + AddonModSurveyProvider, + AddonModSurveyHelperProvider, + AddonModSurveySyncProvider, + AddonModSurveyOfflineProvider, AddonModSurveyModuleHandler, AddonModSurveyPrefetchHandler, AddonModSurveyLinkHandler, AddonModSurveySyncCronHandler - ]) + ] }) export class AddonModSurveyModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModSurveyModuleHandler, diff --git a/src/addon/mod/url/components/index/index.html b/src/addon/mod/url/components/index/addon-mod-url-index.html similarity index 100% rename from src/addon/mod/url/components/index/index.html rename to src/addon/mod/url/components/index/addon-mod-url-index.html diff --git a/src/addon/mod/url/components/index/index.ts b/src/addon/mod/url/components/index/index.ts index d774c55fc..308dd3380 100644 --- a/src/addon/mod/url/components/index/index.ts +++ b/src/addon/mod/url/components/index/index.ts @@ -23,7 +23,7 @@ import { AddonModUrlHelperProvider } from '../../providers/helper'; */ @Component({ selector: 'addon-mod-url-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-url-index.html', }) export class AddonModUrlIndexComponent extends CoreCourseModuleMainResourceComponent { component = AddonModUrlProvider.COMPONENT; diff --git a/src/addon/mod/url/url.module.ts b/src/addon/mod/url/url.module.ts index c1115c578..967025119 100644 --- a/src/addon/mod/url/url.module.ts +++ b/src/addon/mod/url/url.module.ts @@ -33,10 +33,12 @@ export const ADDON_MOD_URL_PROVIDERS: any[] = [ imports: [ AddonModUrlComponentsModule ], - providers: ADDON_MOD_URL_PROVIDERS.concat([ + providers: [ + AddonModUrlProvider, + AddonModUrlHelperProvider, AddonModUrlModuleHandler, AddonModUrlLinkHandler - ]) + ] }) export class AddonModUrlModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModUrlModuleHandler, diff --git a/src/addon/mod/wiki/components/index/index.html b/src/addon/mod/wiki/components/index/addon-mod-wiki-index.html similarity index 100% rename from src/addon/mod/wiki/components/index/index.html rename to src/addon/mod/wiki/components/index/addon-mod-wiki-index.html diff --git a/src/addon/mod/wiki/components/index/index.ts b/src/addon/mod/wiki/components/index/index.ts index 6ba317c27..d29510433 100644 --- a/src/addon/mod/wiki/components/index/index.ts +++ b/src/addon/mod/wiki/components/index/index.ts @@ -29,7 +29,7 @@ import { AddonModWikiSubwikiPickerComponent } from '../../components/subwiki-pic */ @Component({ selector: 'addon-mod-wiki-index', - templateUrl: 'index.html', + templateUrl: 'addon-mod-wiki-index.html', }) export class AddonModWikiIndexComponent extends CoreCourseModuleMainActivityComponent { @ViewChild(CoreTabsComponent) tabs: CoreTabsComponent; diff --git a/src/addon/mod/wiki/components/subwiki-picker/subwiki-picker.html b/src/addon/mod/wiki/components/subwiki-picker/addon-mod-wiki-subwiki-picker.html similarity index 100% rename from src/addon/mod/wiki/components/subwiki-picker/subwiki-picker.html rename to src/addon/mod/wiki/components/subwiki-picker/addon-mod-wiki-subwiki-picker.html diff --git a/src/addon/mod/wiki/components/subwiki-picker/subwiki-picker.ts b/src/addon/mod/wiki/components/subwiki-picker/subwiki-picker.ts index 31a6978e6..56a149bd6 100644 --- a/src/addon/mod/wiki/components/subwiki-picker/subwiki-picker.ts +++ b/src/addon/mod/wiki/components/subwiki-picker/subwiki-picker.ts @@ -20,7 +20,7 @@ import { NavParams, ViewController } from 'ionic-angular'; */ @Component({ selector: 'addon-mod-wiki-subwiki-picker', - templateUrl: 'subwiki-picker.html' + templateUrl: 'addon-mod-wiki-subwiki-picker.html' }) export class AddonModWikiSubwikiPickerComponent { subwikis: any[]; diff --git a/src/addon/mod/wiki/wiki.module.ts b/src/addon/mod/wiki/wiki.module.ts index c62188863..e8a8582c1 100644 --- a/src/addon/mod/wiki/wiki.module.ts +++ b/src/addon/mod/wiki/wiki.module.ts @@ -43,7 +43,10 @@ export const ADDON_MOD_WIKI_PROVIDERS: any[] = [ imports: [ AddonModWikiComponentsModule ], - providers: ADDON_MOD_WIKI_PROVIDERS.concat([ + providers: [ + AddonModWikiProvider, + AddonModWikiOfflineProvider, + AddonModWikiSyncProvider, AddonModWikiModuleHandler, AddonModWikiPrefetchHandler, AddonModWikiSyncCronHandler, @@ -51,7 +54,7 @@ export const ADDON_MOD_WIKI_PROVIDERS: any[] = [ AddonModWikiPageOrMapLinkHandler, AddonModWikiCreateLinkHandler, AddonModWikiEditLinkHandler - ]) + ] }) export class AddonModWikiModule { constructor(moduleDelegate: CoreCourseModuleDelegate, moduleHandler: AddonModWikiModuleHandler, diff --git a/src/addon/notes/components/list/list.html b/src/addon/notes/components/list/addon-notes-list.html similarity index 100% rename from src/addon/notes/components/list/list.html rename to src/addon/notes/components/list/addon-notes-list.html diff --git a/src/addon/notes/components/list/list.ts b/src/addon/notes/components/list/list.ts index f41af7dec..65734650d 100644 --- a/src/addon/notes/components/list/list.ts +++ b/src/addon/notes/components/list/list.ts @@ -26,7 +26,7 @@ import { AddonNotesSyncProvider } from '../../providers/notes-sync'; */ @Component({ selector: 'addon-notes-list', - templateUrl: 'list.html', + templateUrl: 'addon-notes-list.html', }) export class AddonNotesListComponent implements OnInit, OnDestroy { @Input() courseId: number; diff --git a/src/addon/notes/notes.module.ts b/src/addon/notes/notes.module.ts index 259c7cbf5..425766440 100644 --- a/src/addon/notes/notes.module.ts +++ b/src/addon/notes/notes.module.ts @@ -38,11 +38,14 @@ export const ADDON_NOTES_PROVIDERS: any[] = [ imports: [ AddonNotesComponentsModule ], - providers: ADDON_NOTES_PROVIDERS.concat([ + providers: [ + AddonNotesProvider, + AddonNotesOfflineProvider, + AddonNotesSyncProvider, AddonNotesCourseOptionHandler, AddonNotesSyncCronHandler, AddonNotesUserHandler - ]) + ] }) export class AddonNotesModule { constructor(courseOptionsDelegate: CoreCourseOptionsDelegate, courseOptionHandler: AddonNotesCourseOptionHandler, diff --git a/src/addon/notifications/components/actions/actions.ts b/src/addon/notifications/components/actions/actions.ts index b72a529c9..459ebdb8c 100644 --- a/src/addon/notifications/components/actions/actions.ts +++ b/src/addon/notifications/components/actions/actions.ts @@ -20,7 +20,7 @@ import { CoreContentLinksDelegate, CoreContentLinksAction } from '@core/contentl */ @Component({ selector: 'addon-notifications-actions', - templateUrl: 'actions.html', + templateUrl: 'addon-notifications-actions.html', }) export class AddonNotificationsActionsComponent implements OnInit { @Input() contextUrl: string; diff --git a/src/addon/notifications/components/actions/actions.html b/src/addon/notifications/components/actions/addon-notifications-actions.html similarity index 100% rename from src/addon/notifications/components/actions/actions.html rename to src/addon/notifications/components/actions/addon-notifications-actions.html diff --git a/src/addon/notifications/notifications.module.ts b/src/addon/notifications/notifications.module.ts index e194cc0f0..5359e1e35 100644 --- a/src/addon/notifications/notifications.module.ts +++ b/src/addon/notifications/notifications.module.ts @@ -37,11 +37,12 @@ export const ADDON_NOTIFICATIONS_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_NOTIFICATIONS_PROVIDERS.concat([ + providers: [ + AddonNotificationsProvider, AddonNotificationsMainMenuHandler, AddonNotificationsSettingsHandler, AddonNotificationsCronHandler, - ]) + ] }) export class AddonNotificationsModule { constructor(mainMenuDelegate: CoreMainMenuDelegate, mainMenuHandler: AddonNotificationsMainMenuHandler, diff --git a/src/addon/pushnotifications/pushnotifications.module.ts b/src/addon/pushnotifications/pushnotifications.module.ts index a212c0c80..78b9966b6 100644 --- a/src/addon/pushnotifications/pushnotifications.module.ts +++ b/src/addon/pushnotifications/pushnotifications.module.ts @@ -32,7 +32,10 @@ export const ADDON_PUSHNOTIFICATIONS_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_PUSHNOTIFICATIONS_PROVIDERS + providers: [ + AddonPushNotificationsProvider, + AddonPushNotificationsDelegate + ] }) export class AddonPushNotificationsModule { constructor(platform: Platform, pushNotificationsProvider: AddonPushNotificationsProvider, eventsProvider: CoreEventsProvider, diff --git a/src/addon/qbehaviour/deferredcbm/component/deferredcbm.html b/src/addon/qbehaviour/deferredcbm/component/addon-qbehaviour-deferredcbm.html similarity index 100% rename from src/addon/qbehaviour/deferredcbm/component/deferredcbm.html rename to src/addon/qbehaviour/deferredcbm/component/addon-qbehaviour-deferredcbm.html diff --git a/src/addon/qbehaviour/deferredcbm/component/deferredcbm.ts b/src/addon/qbehaviour/deferredcbm/component/deferredcbm.ts index ad204e3a0..5aff68539 100644 --- a/src/addon/qbehaviour/deferredcbm/component/deferredcbm.ts +++ b/src/addon/qbehaviour/deferredcbm/component/deferredcbm.ts @@ -19,7 +19,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core'; */ @Component({ selector: 'addon-qbehaviour-deferredcbm', - templateUrl: 'deferredcbm.html' + templateUrl: 'addon-qbehaviour-deferredcbm.html' }) export class AddonQbehaviourDeferredCBMComponent { @Input() question: any; // The question. diff --git a/src/addon/qbehaviour/informationitem/component/informationitem.html b/src/addon/qbehaviour/informationitem/component/addon-qbehaviour-informationitem.html similarity index 100% rename from src/addon/qbehaviour/informationitem/component/informationitem.html rename to src/addon/qbehaviour/informationitem/component/addon-qbehaviour-informationitem.html diff --git a/src/addon/qbehaviour/informationitem/component/informationitem.ts b/src/addon/qbehaviour/informationitem/component/informationitem.ts index e29339cff..057761bdb 100644 --- a/src/addon/qbehaviour/informationitem/component/informationitem.ts +++ b/src/addon/qbehaviour/informationitem/component/informationitem.ts @@ -19,7 +19,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core'; */ @Component({ selector: 'addon-qbehaviour-informationitem', - templateUrl: 'informationitem.html' + templateUrl: 'addon-qbehaviour-informationitem.html' }) export class AddonQbehaviourInformationItemComponent { @Input() question: any; // The question. diff --git a/src/addon/qtype/calculated/component/calculated.html b/src/addon/qtype/calculated/component/addon-qtype-calculated.html similarity index 100% rename from src/addon/qtype/calculated/component/calculated.html rename to src/addon/qtype/calculated/component/addon-qtype-calculated.html diff --git a/src/addon/qtype/calculated/component/calculated.ts b/src/addon/qtype/calculated/component/calculated.ts index e42c6625c..c44cbdd56 100644 --- a/src/addon/qtype/calculated/component/calculated.ts +++ b/src/addon/qtype/calculated/component/calculated.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-calculated', - templateUrl: 'calculated.html' + templateUrl: 'addon-qtype-calculated.html' }) export class AddonQtypeCalculatedComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/ddimageortext/component/ddimageortext.html b/src/addon/qtype/ddimageortext/component/addon-qtype-ddimageortext.html similarity index 100% rename from src/addon/qtype/ddimageortext/component/ddimageortext.html rename to src/addon/qtype/ddimageortext/component/addon-qtype-ddimageortext.html diff --git a/src/addon/qtype/ddimageortext/component/ddimageortext.ts b/src/addon/qtype/ddimageortext/component/ddimageortext.ts index cc927fbc9..907a5875b 100644 --- a/src/addon/qtype/ddimageortext/component/ddimageortext.ts +++ b/src/addon/qtype/ddimageortext/component/ddimageortext.ts @@ -22,7 +22,7 @@ import { AddonQtypeDdImageOrTextQuestion } from '../classes/ddimageortext'; */ @Component({ selector: 'addon-qtype-ddimageortext', - templateUrl: 'ddimageortext.html' + templateUrl: 'addon-qtype-ddimageortext.html' }) export class AddonQtypeDdImageOrTextComponent extends CoreQuestionBaseComponent implements OnInit, OnDestroy { diff --git a/src/addon/qtype/ddmarker/component/ddmarker.html b/src/addon/qtype/ddmarker/component/addon-qtype-ddmarker.html similarity index 100% rename from src/addon/qtype/ddmarker/component/ddmarker.html rename to src/addon/qtype/ddmarker/component/addon-qtype-ddmarker.html diff --git a/src/addon/qtype/ddmarker/component/ddmarker.ts b/src/addon/qtype/ddmarker/component/ddmarker.ts index e9b16521a..95814762b 100644 --- a/src/addon/qtype/ddmarker/component/ddmarker.ts +++ b/src/addon/qtype/ddmarker/component/ddmarker.ts @@ -22,7 +22,7 @@ import { AddonQtypeDdMarkerQuestion } from '../classes/ddmarker'; */ @Component({ selector: 'addon-qtype-ddmarker', - templateUrl: 'ddmarker.html' + templateUrl: 'addon-qtype-ddmarker.html' }) export class AddonQtypeDdMarkerComponent extends CoreQuestionBaseComponent implements OnInit, OnDestroy { diff --git a/src/addon/qtype/ddwtos/component/ddwtos.html b/src/addon/qtype/ddwtos/component/addon-qtype-ddwtos.html similarity index 100% rename from src/addon/qtype/ddwtos/component/ddwtos.html rename to src/addon/qtype/ddwtos/component/addon-qtype-ddwtos.html diff --git a/src/addon/qtype/ddwtos/component/ddwtos.ts b/src/addon/qtype/ddwtos/component/ddwtos.ts index 2c5e22b69..33ccd161d 100644 --- a/src/addon/qtype/ddwtos/component/ddwtos.ts +++ b/src/addon/qtype/ddwtos/component/ddwtos.ts @@ -22,7 +22,7 @@ import { AddonQtypeDdwtosQuestion } from '../classes/ddwtos'; */ @Component({ selector: 'addon-qtype-ddwtos', - templateUrl: 'ddwtos.html' + templateUrl: 'addon-qtype-ddwtos.html' }) export class AddonQtypeDdwtosComponent extends CoreQuestionBaseComponent implements OnInit, OnDestroy { diff --git a/src/addon/qtype/description/component/description.html b/src/addon/qtype/description/component/addon-qtype-description.html similarity index 100% rename from src/addon/qtype/description/component/description.html rename to src/addon/qtype/description/component/addon-qtype-description.html diff --git a/src/addon/qtype/description/component/description.ts b/src/addon/qtype/description/component/description.ts index d54c64a05..3a9d8d223 100644 --- a/src/addon/qtype/description/component/description.ts +++ b/src/addon/qtype/description/component/description.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-description', - templateUrl: 'description.html' + templateUrl: 'addon-qtype-description.html' }) export class AddonQtypeDescriptionComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/essay/component/essay.html b/src/addon/qtype/essay/component/addon-qtype-essay.html similarity index 100% rename from src/addon/qtype/essay/component/essay.html rename to src/addon/qtype/essay/component/addon-qtype-essay.html diff --git a/src/addon/qtype/essay/component/essay.ts b/src/addon/qtype/essay/component/essay.ts index ba298ce37..3d68a0915 100644 --- a/src/addon/qtype/essay/component/essay.ts +++ b/src/addon/qtype/essay/component/essay.ts @@ -22,7 +22,7 @@ import { FormControl, FormBuilder } from '@angular/forms'; */ @Component({ selector: 'addon-qtype-essay', - templateUrl: 'essay.html' + templateUrl: 'addon-qtype-essay.html' }) export class AddonQtypeEssayComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/gapselect/component/gapselect.html b/src/addon/qtype/gapselect/component/addon-qtype-gapselect.html similarity index 100% rename from src/addon/qtype/gapselect/component/gapselect.html rename to src/addon/qtype/gapselect/component/addon-qtype-gapselect.html diff --git a/src/addon/qtype/gapselect/component/gapselect.ts b/src/addon/qtype/gapselect/component/gapselect.ts index 9bd21aafd..0c8287511 100644 --- a/src/addon/qtype/gapselect/component/gapselect.ts +++ b/src/addon/qtype/gapselect/component/gapselect.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-gapselect', - templateUrl: 'gapselect.html' + templateUrl: 'addon-qtype-gapselect.html' }) export class AddonQtypeGapSelectComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/match/component/match.html b/src/addon/qtype/match/component/addon-qtype-match.html similarity index 100% rename from src/addon/qtype/match/component/match.html rename to src/addon/qtype/match/component/addon-qtype-match.html diff --git a/src/addon/qtype/match/component/match.ts b/src/addon/qtype/match/component/match.ts index 9a2eb4ff6..936bc8a32 100644 --- a/src/addon/qtype/match/component/match.ts +++ b/src/addon/qtype/match/component/match.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-match', - templateUrl: 'match.html' + templateUrl: 'addon-qtype-match.html' }) export class AddonQtypeMatchComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/multianswer/component/multianswer.html b/src/addon/qtype/multianswer/component/addon-qtype-multianswer.html similarity index 100% rename from src/addon/qtype/multianswer/component/multianswer.html rename to src/addon/qtype/multianswer/component/addon-qtype-multianswer.html diff --git a/src/addon/qtype/multianswer/component/multianswer.ts b/src/addon/qtype/multianswer/component/multianswer.ts index 8e1ca2068..77ebea6f0 100644 --- a/src/addon/qtype/multianswer/component/multianswer.ts +++ b/src/addon/qtype/multianswer/component/multianswer.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-multianswer', - templateUrl: 'multianswer.html' + templateUrl: 'addon-qtype-multianswer.html' }) export class AddonQtypeMultiAnswerComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/multichoice/component/multichoice.html b/src/addon/qtype/multichoice/component/addon-qtype-multichoice.html similarity index 100% rename from src/addon/qtype/multichoice/component/multichoice.html rename to src/addon/qtype/multichoice/component/addon-qtype-multichoice.html diff --git a/src/addon/qtype/multichoice/component/multichoice.ts b/src/addon/qtype/multichoice/component/multichoice.ts index 395c4eabd..ec23880d5 100644 --- a/src/addon/qtype/multichoice/component/multichoice.ts +++ b/src/addon/qtype/multichoice/component/multichoice.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-multichoice', - templateUrl: 'multichoice.html' + templateUrl: 'addon-qtype-multichoice.html' }) export class AddonQtypeMultichoiceComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/qtype/shortanswer/component/shortanswer.html b/src/addon/qtype/shortanswer/component/addon-qtype-shortanswer.html similarity index 100% rename from src/addon/qtype/shortanswer/component/shortanswer.html rename to src/addon/qtype/shortanswer/component/addon-qtype-shortanswer.html diff --git a/src/addon/qtype/shortanswer/component/shortanswer.ts b/src/addon/qtype/shortanswer/component/shortanswer.ts index 152710d68..b737b280a 100644 --- a/src/addon/qtype/shortanswer/component/shortanswer.ts +++ b/src/addon/qtype/shortanswer/component/shortanswer.ts @@ -21,7 +21,7 @@ import { CoreQuestionBaseComponent } from '@core/question/classes/base-question- */ @Component({ selector: 'addon-qtype-shortanswer', - templateUrl: 'shortanswer.html' + templateUrl: 'addon-qtype-shortanswer.html' }) export class AddonQtypeShortAnswerComponent extends CoreQuestionBaseComponent implements OnInit { diff --git a/src/addon/remotethemes/remotethemes.module.ts b/src/addon/remotethemes/remotethemes.module.ts index fdb21dfc3..6fa5a1dd7 100644 --- a/src/addon/remotethemes/remotethemes.module.ts +++ b/src/addon/remotethemes/remotethemes.module.ts @@ -29,7 +29,9 @@ export const ADDON_REMOTETHEMES_PROVIDERS: any[] = [ ], imports: [ ], - providers: ADDON_REMOTETHEMES_PROVIDERS + providers: [ + AddonRemoteThemesProvider + ] }) export class AddonRemoteThemesModule { constructor(initDelegate: CoreInitDelegate, remoteThemesProvider: AddonRemoteThemesProvider, eventsProvider: CoreEventsProvider, diff --git a/src/addon/userprofilefield/checkbox/component/checkbox.html b/src/addon/userprofilefield/checkbox/component/addon-user-profile-field-checkbox.html similarity index 100% rename from src/addon/userprofilefield/checkbox/component/checkbox.html rename to src/addon/userprofilefield/checkbox/component/addon-user-profile-field-checkbox.html diff --git a/src/addon/userprofilefield/checkbox/component/checkbox.ts b/src/addon/userprofilefield/checkbox/component/checkbox.ts index de4a3392e..328153ff1 100644 --- a/src/addon/userprofilefield/checkbox/component/checkbox.ts +++ b/src/addon/userprofilefield/checkbox/component/checkbox.ts @@ -21,7 +21,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'addon-user-profile-field-checkbox', - templateUrl: 'checkbox.html' + templateUrl: 'addon-user-profile-field-checkbox.html' }) export class AddonUserProfileFieldCheckboxComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/addon/userprofilefield/datetime/component/datetime.html b/src/addon/userprofilefield/datetime/component/addon-user-profile-field-datetime.html similarity index 100% rename from src/addon/userprofilefield/datetime/component/datetime.html rename to src/addon/userprofilefield/datetime/component/addon-user-profile-field-datetime.html diff --git a/src/addon/userprofilefield/datetime/component/datetime.ts b/src/addon/userprofilefield/datetime/component/datetime.ts index cf72c309b..6e0ac017d 100644 --- a/src/addon/userprofilefield/datetime/component/datetime.ts +++ b/src/addon/userprofilefield/datetime/component/datetime.ts @@ -22,7 +22,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'addon-user-profile-field-datetime', - templateUrl: 'datetime.html' + templateUrl: 'addon-user-profile-field-datetime.html' }) export class AddonUserProfileFieldDatetimeComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/addon/userprofilefield/menu/component/menu.html b/src/addon/userprofilefield/menu/component/addon-user-profile-field-menu.html similarity index 100% rename from src/addon/userprofilefield/menu/component/menu.html rename to src/addon/userprofilefield/menu/component/addon-user-profile-field-menu.html diff --git a/src/addon/userprofilefield/menu/component/menu.ts b/src/addon/userprofilefield/menu/component/menu.ts index 338d40a33..6e7ab22b9 100644 --- a/src/addon/userprofilefield/menu/component/menu.ts +++ b/src/addon/userprofilefield/menu/component/menu.ts @@ -20,7 +20,7 @@ import { FormGroup, FormBuilder, Validators } from '@angular/forms'; */ @Component({ selector: 'addon-user-profile-field-menu', - templateUrl: 'menu.html' + templateUrl: 'addon-user-profile-field-menu.html' }) export class AddonUserProfileFieldMenuComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/addon/userprofilefield/text/component/text.html b/src/addon/userprofilefield/text/component/addon-user-profile-field-text.html similarity index 100% rename from src/addon/userprofilefield/text/component/text.html rename to src/addon/userprofilefield/text/component/addon-user-profile-field-text.html diff --git a/src/addon/userprofilefield/text/component/text.ts b/src/addon/userprofilefield/text/component/text.ts index c8ebd6b21..e07e7f732 100644 --- a/src/addon/userprofilefield/text/component/text.ts +++ b/src/addon/userprofilefield/text/component/text.ts @@ -21,7 +21,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'addon-user-profile-field-text', - templateUrl: 'text.html' + templateUrl: 'addon-user-profile-field-text.html' }) export class AddonUserProfileFieldTextComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/addon/userprofilefield/textarea/component/textarea.html b/src/addon/userprofilefield/textarea/component/addon-user-profile-field-textarea.html similarity index 100% rename from src/addon/userprofilefield/textarea/component/textarea.html rename to src/addon/userprofilefield/textarea/component/addon-user-profile-field-textarea.html diff --git a/src/addon/userprofilefield/textarea/component/textarea.ts b/src/addon/userprofilefield/textarea/component/textarea.ts index 61b24b458..1728d56c0 100644 --- a/src/addon/userprofilefield/textarea/component/textarea.ts +++ b/src/addon/userprofilefield/textarea/component/textarea.ts @@ -20,7 +20,7 @@ import { FormGroup, Validators, FormControl } from '@angular/forms'; */ @Component({ selector: 'addon-user-profile-field-textarea', - templateUrl: 'textarea.html' + templateUrl: 'addon-user-profile-field-textarea.html' }) export class AddonUserProfileFieldTextareaComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 22f8c0aec..5af93f0fe 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -41,7 +41,12 @@ export class MoodleMobileApp implements OnInit { platform.ready().then(() => { // Okay, so the platform is ready and our plugins are available. // Here you can do any higher level native things you might need. - statusBar.styleDefault(); + if (platform.is('android')) { + statusBar.styleLightContent(); + } else { + statusBar.styleDefault(); + } + splashScreen.hide(); }); diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 3d2eee425..8737ec72f 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -14,11 +14,12 @@ import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { NgModule } from '@angular/core'; +import { NgModule, COMPILER_OPTIONS } from '@angular/core'; import { IonicApp, IonicModule, Platform, Content, ScrollEvent } from 'ionic-angular'; import { assert } from 'ionic-angular/util/util'; import { HttpModule } from '@angular/http'; import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; +import { JitCompilerFactory } from '@angular/platform-browser-dynamic'; import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; @@ -217,13 +218,41 @@ export const CORE_PROVIDERS: any[] = [ entryComponents: [ MoodleMobileApp ], - providers: CORE_PROVIDERS.concat([ + providers: [ + CoreLoggerProvider, + CoreDbProvider, + CoreAppProvider, + CoreConfigProvider, + CoreLangProvider, + CoreTextUtilsProvider, + CoreDomUtilsProvider, + CoreTimeUtilsProvider, + CoreUrlUtilsProvider, + CoreUtilsProvider, + CoreMimetypeUtilsProvider, + CoreInitDelegate, + CoreFileProvider, + CoreWSProvider, + CoreEventsProvider, + CoreSitesFactoryProvider, + CoreSitesProvider, + CoreLocalNotificationsProvider, + CoreGroupsProvider, + CoreCronDelegate, + CoreFileSessionProvider, + CoreFilepoolProvider, + CoreUpdateManagerProvider, + CorePluginFileDelegate, + CoreSyncProvider, + CoreFileHelperProvider, { provide: HTTP_INTERCEPTORS, useClass: CoreInterceptor, multi: true, - } - ]) + }, + {provide: COMPILER_OPTIONS, useValue: {}, multi: true}, + {provide: JitCompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS]} + ] }) export class AppModule { constructor(platform: Platform, initDelegate: CoreInitDelegate, updateManager: CoreUpdateManagerProvider, diff --git a/src/classes/delegate.ts b/src/classes/delegate.ts index b95626153..36ce33710 100644 --- a/src/classes/delegate.ts +++ b/src/classes/delegate.ts @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Injectable } from '@angular/core'; import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; import { CoreEventsProvider } from '@providers/events'; @@ -35,7 +34,6 @@ export interface CoreDelegateHandler { /** * Superclass to help creating delegates */ -@Injectable() export class CoreDelegate { /** diff --git a/src/components/attachments/attachments.ts b/src/components/attachments/attachments.ts index 79593fcda..80dc5bb5e 100644 --- a/src/components/attachments/attachments.ts +++ b/src/components/attachments/attachments.ts @@ -35,7 +35,7 @@ import { CoreFileUploaderHelperProvider } from '@core/fileuploader/providers/hel */ @Component({ selector: 'core-attachments', - templateUrl: 'attachments.html' + templateUrl: 'core-attachments.html' }) export class CoreAttachmentsComponent implements OnInit { @Input() files: any[]; // List of attachments. New attachments will be added to this array. diff --git a/src/components/attachments/attachments.html b/src/components/attachments/core-attachments.html similarity index 100% rename from src/components/attachments/attachments.html rename to src/components/attachments/core-attachments.html diff --git a/src/components/context-menu/context-menu-popover.ts b/src/components/context-menu/context-menu-popover.ts index 1d80f29be..228df1fa3 100644 --- a/src/components/context-menu/context-menu-popover.ts +++ b/src/components/context-menu/context-menu-popover.ts @@ -22,7 +22,7 @@ import { CoreLoggerProvider } from '@providers/logger'; */ @Component({ selector: 'core-context-menu-popover', - templateUrl: 'context-menu-popover.html' + templateUrl: 'core-context-menu-popover.html' }) export class CoreContextMenuPopoverComponent { title: string; diff --git a/src/components/context-menu/context-menu.ts b/src/components/context-menu/context-menu.ts index 3cf987667..7ccc09e46 100644 --- a/src/components/context-menu/context-menu.ts +++ b/src/components/context-menu/context-menu.ts @@ -26,7 +26,7 @@ import { Subject } from 'rxjs'; */ @Component({ selector: 'core-context-menu', - templateUrl: 'context-menu.html' + templateUrl: 'core-context-menu.html' }) export class CoreContextMenuComponent implements OnInit, OnDestroy { @Input() icon?: string; // Icon to be shown on the navigation bar. Default: Kebab menu icon. diff --git a/src/components/context-menu/context-menu-popover.html b/src/components/context-menu/core-context-menu-popover.html similarity index 100% rename from src/components/context-menu/context-menu-popover.html rename to src/components/context-menu/core-context-menu-popover.html diff --git a/src/components/context-menu/context-menu.html b/src/components/context-menu/core-context-menu.html similarity index 100% rename from src/components/context-menu/context-menu.html rename to src/components/context-menu/core-context-menu.html diff --git a/src/components/course-picker-menu/course-picker-menu-popover.html b/src/components/course-picker-menu/core-course-picker-menu-popover.html similarity index 100% rename from src/components/course-picker-menu/course-picker-menu-popover.html rename to src/components/course-picker-menu/core-course-picker-menu-popover.html diff --git a/src/components/course-picker-menu/course-picker-menu-popover.ts b/src/components/course-picker-menu/course-picker-menu-popover.ts index e9a6a7e56..2e53d9f61 100644 --- a/src/components/course-picker-menu/course-picker-menu-popover.ts +++ b/src/components/course-picker-menu/course-picker-menu-popover.ts @@ -20,7 +20,7 @@ import { NavParams, ViewController } from 'ionic-angular'; */ @Component({ selector: 'core-course-picker-menu-popover', - templateUrl: 'course-picker-menu-popover.html' + templateUrl: 'core-course-picker-menu-popover.html' }) export class CoreCoursePickerMenuPopoverComponent { courses: any[]; diff --git a/src/components/dynamic-component/dynamic-component.html b/src/components/dynamic-component/core-dynamic-component.html similarity index 100% rename from src/components/dynamic-component/dynamic-component.html rename to src/components/dynamic-component/core-dynamic-component.html diff --git a/src/components/dynamic-component/dynamic-component.ts b/src/components/dynamic-component/dynamic-component.ts index 5e232ce04..389cb59fd 100644 --- a/src/components/dynamic-component/dynamic-component.ts +++ b/src/components/dynamic-component/dynamic-component.ts @@ -50,7 +50,7 @@ import { CoreDomUtilsProvider } from '@providers/utils/dom'; */ @Component({ selector: 'core-dynamic-component', - templateUrl: 'dynamic-component.html' + templateUrl: 'core-dynamic-component.html' }) export class CoreDynamicComponent implements OnInit, OnChanges, DoCheck { diff --git a/src/components/empty-box/empty-box.html b/src/components/empty-box/core-empty-box.html similarity index 100% rename from src/components/empty-box/empty-box.html rename to src/components/empty-box/core-empty-box.html diff --git a/src/components/empty-box/empty-box.ts b/src/components/empty-box/empty-box.ts index 488458824..a1b95fcc5 100644 --- a/src/components/empty-box/empty-box.ts +++ b/src/components/empty-box/empty-box.ts @@ -22,7 +22,7 @@ import { Component, Input } from '@angular/core'; */ @Component({ selector: 'core-empty-box', - templateUrl: 'empty-box.html' + templateUrl: 'core-empty-box.html' }) export class CoreEmptyBoxComponent { @Input() message: string; // Message to display. diff --git a/src/components/file/file.html b/src/components/file/core-file.html similarity index 100% rename from src/components/file/file.html rename to src/components/file/core-file.html diff --git a/src/components/file/file.ts b/src/components/file/file.ts index a073e2d59..bbe4a245d 100644 --- a/src/components/file/file.ts +++ b/src/components/file/file.ts @@ -29,7 +29,7 @@ import { CoreConstants } from '@core/constants'; */ @Component({ selector: 'core-file', - templateUrl: 'file.html' + templateUrl: 'core-file.html' }) export class CoreFileComponent implements OnInit, OnDestroy { @Input() file: any; // The file. Must have a property 'filename' and a 'fileurl' or 'url' diff --git a/src/components/icon/icon.html b/src/components/icon/core-icon.html similarity index 100% rename from src/components/icon/icon.html rename to src/components/icon/core-icon.html diff --git a/src/components/icon/icon.ts b/src/components/icon/icon.ts index 181c519dd..8c058ea50 100644 --- a/src/components/icon/icon.ts +++ b/src/components/icon/icon.ts @@ -22,7 +22,7 @@ import { Component, Input, OnInit, ElementRef } from '@angular/core'; */ @Component({ selector: 'core-icon', - templateUrl: 'icon.html', + templateUrl: 'core-icon.html', }) export class CoreIconComponent implements OnInit { // Common params. diff --git a/src/components/iframe/iframe.html b/src/components/iframe/core-iframe.html similarity index 100% rename from src/components/iframe/iframe.html rename to src/components/iframe/core-iframe.html diff --git a/src/components/iframe/iframe.ts b/src/components/iframe/iframe.ts index f86bb4644..f63701745 100644 --- a/src/components/iframe/iframe.ts +++ b/src/components/iframe/iframe.ts @@ -27,7 +27,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'core-iframe', - templateUrl: 'iframe.html' + templateUrl: 'core-iframe.html' }) export class CoreIframeComponent implements OnInit, OnChanges { diff --git a/src/components/input-errors/input-errors.html b/src/components/input-errors/core-input-errors.html similarity index 100% rename from src/components/input-errors/input-errors.html rename to src/components/input-errors/core-input-errors.html diff --git a/src/components/input-errors/input-errors.ts b/src/components/input-errors/input-errors.ts index 861140124..6a6d5ab57 100644 --- a/src/components/input-errors/input-errors.ts +++ b/src/components/input-errors/input-errors.ts @@ -40,7 +40,7 @@ import { TranslateService } from '@ngx-translate/core'; */ @Component({ selector: 'core-input-errors', - templateUrl: 'input-errors.html' + templateUrl: 'core-input-errors.html' }) export class CoreInputErrorsComponent implements OnInit, OnChanges { @Input('control') formControl?: FormControl; diff --git a/src/components/ion-tabs/ion-tabs.html b/src/components/ion-tabs/core-ion-tabs.html similarity index 100% rename from src/components/ion-tabs/ion-tabs.html rename to src/components/ion-tabs/core-ion-tabs.html diff --git a/src/components/ion-tabs/ion-tabs.ts b/src/components/ion-tabs/ion-tabs.ts index a3a6bb2cc..997887afb 100644 --- a/src/components/ion-tabs/ion-tabs.ts +++ b/src/components/ion-tabs/ion-tabs.ts @@ -24,7 +24,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'core-ion-tabs', - templateUrl: 'ion-tabs.html', + templateUrl: 'core-ion-tabs.html', encapsulation: ViewEncapsulation.None, providers: [{provide: RootNode, useExisting: forwardRef(() => CoreIonTabsComponent) }] }) diff --git a/src/components/loading/loading.html b/src/components/loading/core-loading.html similarity index 100% rename from src/components/loading/loading.html rename to src/components/loading/core-loading.html diff --git a/src/components/loading/loading.ts b/src/components/loading/loading.ts index 09695df97..00831ac28 100644 --- a/src/components/loading/loading.ts +++ b/src/components/loading/loading.ts @@ -38,7 +38,7 @@ import { coreShowHideAnimation } from '@classes/animations'; */ @Component({ selector: 'core-loading', - templateUrl: 'loading.html', + templateUrl: 'core-loading.html', animations: [coreShowHideAnimation] }) export class CoreLoadingComponent implements OnInit, OnChanges { diff --git a/src/components/local-file/local-file.html b/src/components/local-file/core-local-file.html similarity index 100% rename from src/components/local-file/local-file.html rename to src/components/local-file/core-local-file.html diff --git a/src/components/local-file/local-file.ts b/src/components/local-file/local-file.ts index 7695e8871..c64cf26f0 100644 --- a/src/components/local-file/local-file.ts +++ b/src/components/local-file/local-file.ts @@ -29,7 +29,7 @@ import * as moment from 'moment'; */ @Component({ selector: 'core-local-file', - templateUrl: 'local-file.html' + templateUrl: 'core-local-file.html' }) export class CoreLocalFileComponent implements OnInit { @Input() file: any; // A fileEntry retrieved using CoreFileProvider.getFile or similar. diff --git a/src/components/mark-required/mark-required.html b/src/components/mark-required/core-mark-required.html similarity index 100% rename from src/components/mark-required/mark-required.html rename to src/components/mark-required/core-mark-required.html diff --git a/src/components/mark-required/mark-required.ts b/src/components/mark-required/mark-required.ts index c78a1692b..28df17ed9 100644 --- a/src/components/mark-required/mark-required.ts +++ b/src/components/mark-required/mark-required.ts @@ -29,7 +29,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: '[core-mark-required]', - templateUrl: 'mark-required.html' + templateUrl: 'core-mark-required.html' }) export class CoreMarkRequiredComponent implements OnInit, AfterViewInit { @Input('core-mark-required') coreMarkRequired: boolean | string = true; diff --git a/src/components/navigation-bar/navigation-bar.html b/src/components/navigation-bar/core-navigation-bar.html similarity index 100% rename from src/components/navigation-bar/navigation-bar.html rename to src/components/navigation-bar/core-navigation-bar.html diff --git a/src/components/navigation-bar/navigation-bar.ts b/src/components/navigation-bar/navigation-bar.ts index 76f1bfe47..0a0db162d 100644 --- a/src/components/navigation-bar/navigation-bar.ts +++ b/src/components/navigation-bar/navigation-bar.ts @@ -26,7 +26,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; */ @Component({ selector: 'core-navigation-bar', - templateUrl: 'navigation-bar.html', + templateUrl: 'core-navigation-bar.html', }) export class CoreNavigationBarComponent { @Input() previous?: any; // Previous item. If not defined, the previous arrow won't be shown. diff --git a/src/components/progress-bar/progress-bar.html b/src/components/progress-bar/core-progress-bar.html similarity index 100% rename from src/components/progress-bar/progress-bar.html rename to src/components/progress-bar/core-progress-bar.html diff --git a/src/components/progress-bar/progress-bar.ts b/src/components/progress-bar/progress-bar.ts index fa2a83c47..1a417af91 100644 --- a/src/components/progress-bar/progress-bar.ts +++ b/src/components/progress-bar/progress-bar.ts @@ -23,7 +23,7 @@ import { DomSanitizer, SafeStyle } from '@angular/platform-browser'; */ @Component({ selector: 'core-progress-bar', - templateUrl: 'progress-bar.html', + templateUrl: 'core-progress-bar.html', changeDetection: ChangeDetectionStrategy.OnPush }) export class CoreProgressBarComponent implements OnChanges { diff --git a/src/components/recaptcha/recaptcha.html b/src/components/recaptcha/core-recaptcha.html similarity index 100% rename from src/components/recaptcha/recaptcha.html rename to src/components/recaptcha/core-recaptcha.html diff --git a/src/components/recaptcha/recaptchamodal.html b/src/components/recaptcha/core-recaptchamodal.html similarity index 100% rename from src/components/recaptcha/recaptchamodal.html rename to src/components/recaptcha/core-recaptchamodal.html diff --git a/src/components/recaptcha/recaptcha.ts b/src/components/recaptcha/recaptcha.ts index f95152044..f04f99ef3 100644 --- a/src/components/recaptcha/recaptcha.ts +++ b/src/components/recaptcha/recaptcha.ts @@ -24,7 +24,7 @@ import { CoreRecaptchaModalComponent } from './recaptchamodal'; */ @Component({ selector: 'core-recaptcha', - templateUrl: 'recaptcha.html' + templateUrl: 'core-recaptcha.html' }) export class CoreRecaptchaComponent { @Input() model: any; // The model where to store the recaptcha response. diff --git a/src/components/recaptcha/recaptchamodal.ts b/src/components/recaptcha/recaptchamodal.ts index 9423b211c..3739a74b5 100644 --- a/src/components/recaptcha/recaptchamodal.ts +++ b/src/components/recaptcha/recaptchamodal.ts @@ -20,7 +20,7 @@ import { ViewController, NavParams } from 'ionic-angular'; */ @Component({ selector: 'core-recaptcha-modal', - templateUrl: 'recaptchamodal.html' + templateUrl: 'core-recaptchamodal.html' }) export class CoreRecaptchaModalComponent { expired = false; diff --git a/src/components/rich-text-editor/rich-text-editor.html b/src/components/rich-text-editor/core-rich-text-editor.html similarity index 100% rename from src/components/rich-text-editor/rich-text-editor.html rename to src/components/rich-text-editor/core-rich-text-editor.html diff --git a/src/components/rich-text-editor/rich-text-editor.ts b/src/components/rich-text-editor/rich-text-editor.ts index 2bc66557c..c082aba9b 100644 --- a/src/components/rich-text-editor/rich-text-editor.ts +++ b/src/components/rich-text-editor/rich-text-editor.ts @@ -39,7 +39,7 @@ import { Subscription } from 'rxjs'; */ @Component({ selector: 'core-rich-text-editor', - templateUrl: 'rich-text-editor.html' + templateUrl: 'core-rich-text-editor.html' }) export class CoreRichTextEditorComponent implements AfterContentInit, OnDestroy { // Based on: https://github.com/judgewest2000/Ionic3RichText/ diff --git a/src/components/search-box/search-box.html b/src/components/search-box/core-search-box.html similarity index 100% rename from src/components/search-box/search-box.html rename to src/components/search-box/core-search-box.html diff --git a/src/components/search-box/search-box.ts b/src/components/search-box/search-box.ts index 2e2e9a117..caab5a6a3 100644 --- a/src/components/search-box/search-box.ts +++ b/src/components/search-box/search-box.ts @@ -28,7 +28,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'core-search-box', - templateUrl: 'search-box.html' + templateUrl: 'core-search-box.html' }) export class CoreSearchBoxComponent implements OnInit { @Input() searchLabel?: string; // Label to be used on action button. diff --git a/src/components/send-message-form/send-message-form.html b/src/components/send-message-form/core-send-message-form.html similarity index 100% rename from src/components/send-message-form/send-message-form.html rename to src/components/send-message-form/core-send-message-form.html diff --git a/src/components/send-message-form/send-message-form.ts b/src/components/send-message-form/send-message-form.ts index a7d0bbcad..15e1e414f 100644 --- a/src/components/send-message-form/send-message-form.ts +++ b/src/components/send-message-form/send-message-form.ts @@ -28,7 +28,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; */ @Component({ selector: 'core-send-message-form', - templateUrl: 'send-message-form.html' + templateUrl: 'core-send-message-form.html' }) export class CoreSendMessageFormComponent implements OnInit { @Input() message: string; // Input text. diff --git a/src/components/show-password/show-password.html b/src/components/show-password/core-show-password.html similarity index 100% rename from src/components/show-password/show-password.html rename to src/components/show-password/core-show-password.html diff --git a/src/components/show-password/show-password.ts b/src/components/show-password/show-password.ts index 9da04c954..3b679df23 100644 --- a/src/components/show-password/show-password.ts +++ b/src/components/show-password/show-password.ts @@ -31,7 +31,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'core-show-password', - templateUrl: 'show-password.html' + templateUrl: 'core-show-password.html' }) export class CoreShowPasswordComponent implements OnInit, AfterViewInit { @Input() name: string; // Name of the input affected. diff --git a/src/components/site-picker/site-picker.html b/src/components/site-picker/core-site-picker.html similarity index 100% rename from src/components/site-picker/site-picker.html rename to src/components/site-picker/core-site-picker.html diff --git a/src/components/site-picker/site-picker.ts b/src/components/site-picker/site-picker.ts index 6611a2190..da4cf8d41 100644 --- a/src/components/site-picker/site-picker.ts +++ b/src/components/site-picker/site-picker.ts @@ -26,7 +26,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; */ @Component({ selector: 'core-site-picker', - templateUrl: 'site-picker.html' + templateUrl: 'core-site-picker.html' }) export class CoreSitePickerComponent implements OnInit { @Input() initialSite?: string; // Initial site. If not provided, current site. diff --git a/src/components/split-view/split-view.html b/src/components/split-view/core-split-view.html similarity index 100% rename from src/components/split-view/split-view.html rename to src/components/split-view/core-split-view.html diff --git a/src/components/split-view/placeholder/placeholder.html b/src/components/split-view/placeholder/core-placeholder.html similarity index 100% rename from src/components/split-view/placeholder/placeholder.html rename to src/components/split-view/placeholder/core-placeholder.html diff --git a/src/components/split-view/placeholder/placeholder.ts b/src/components/split-view/placeholder/placeholder.ts index 13e5ddfaa..1afaeda4b 100644 --- a/src/components/split-view/placeholder/placeholder.ts +++ b/src/components/split-view/placeholder/placeholder.ts @@ -20,7 +20,7 @@ import { IonicPage } from 'ionic-angular'; @IonicPage({ segment: 'core-placeholder' }) @Component({ selector: 'core-placeholder', - templateUrl: 'placeholder.html', + templateUrl: 'core-placeholder.html', }) export class CoreSplitViewPlaceholderPage { diff --git a/src/components/split-view/split-view.ts b/src/components/split-view/split-view.ts index 7d5a936b7..e585a0ee2 100644 --- a/src/components/split-view/split-view.ts +++ b/src/components/split-view/split-view.ts @@ -38,7 +38,7 @@ import { NavController, Nav } from 'ionic-angular'; */ @Component({ selector: 'core-split-view', - templateUrl: 'split-view.html' + templateUrl: 'core-split-view.html' }) export class CoreSplitViewComponent implements OnInit { // @todo Mix both panels header buttons diff --git a/src/components/tabs/tabs.html b/src/components/tabs/core-tabs.html similarity index 100% rename from src/components/tabs/tabs.html rename to src/components/tabs/core-tabs.html diff --git a/src/components/tabs/tabs.ts b/src/components/tabs/tabs.ts index 932e34d5a..b86f59082 100644 --- a/src/components/tabs/tabs.ts +++ b/src/components/tabs/tabs.ts @@ -39,7 +39,7 @@ import { Content } from 'ionic-angular'; */ @Component({ selector: 'core-tabs', - templateUrl: 'tabs.html' + templateUrl: 'core-tabs.html' }) export class CoreTabsComponent implements OnInit, AfterViewInit, OnChanges { @Input() selectedIndex = 0; // Index of the tab to select. diff --git a/src/components/timer/timer.html b/src/components/timer/core-timer.html similarity index 100% rename from src/components/timer/timer.html rename to src/components/timer/core-timer.html diff --git a/src/components/timer/timer.ts b/src/components/timer/timer.ts index 3fb267a34..52bf54e02 100644 --- a/src/components/timer/timer.ts +++ b/src/components/timer/timer.ts @@ -23,7 +23,7 @@ import { CoreTimeUtilsProvider } from '@providers/utils/time'; */ @Component({ selector: 'core-timer', - templateUrl: 'timer.html' + templateUrl: 'core-timer.html' }) export class CoreTimerComponent implements OnInit, OnDestroy { @Input() endTime: string | number; // Timestamp (in seconds) when the timer should end. diff --git a/src/core/comments/components/comments/comments.ts b/src/core/comments/components/comments/comments.ts index bb9d55458..657848984 100644 --- a/src/core/comments/components/comments/comments.ts +++ b/src/core/comments/components/comments/comments.ts @@ -21,7 +21,7 @@ import { CoreCommentsProvider } from '../../providers/comments'; */ @Component({ selector: 'core-comments', - templateUrl: 'comments.html', + templateUrl: 'core-comments.html', }) export class CoreCommentsCommentsComponent { @Input() contextLevel: string; diff --git a/src/core/comments/components/comments/comments.html b/src/core/comments/components/comments/core-comments.html similarity index 100% rename from src/core/comments/components/comments/comments.html rename to src/core/comments/components/comments/core-comments.html diff --git a/src/core/compile/components/compile-html/compile-html.module.ts b/src/core/compile/components/compile-html/compile-html.module.ts index 84616b2fa..72d030a00 100644 --- a/src/core/compile/components/compile-html/compile-html.module.ts +++ b/src/core/compile/components/compile-html/compile-html.module.ts @@ -15,13 +15,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { CoreCompileHtmlComponent } from './compile-html'; +import { CoreComponentsModule } from '@components/components.module'; @NgModule({ declarations: [ CoreCompileHtmlComponent ], imports: [ - CommonModule + CommonModule, + CoreComponentsModule ], exports: [ CoreCompileHtmlComponent diff --git a/src/core/compile/components/compile-html/compile-html.ts b/src/core/compile/components/compile-html/compile-html.ts index 20bbad32f..d7d9379b0 100644 --- a/src/core/compile/components/compile-html/compile-html.ts +++ b/src/core/compile/components/compile-html/compile-html.ts @@ -37,7 +37,7 @@ import { CoreDomUtilsProvider } from '@providers/utils/dom'; */ @Component({ selector: 'core-compile-html', - template: '' + template: '' }) export class CoreCompileHtmlComponent implements OnChanges, OnDestroy, DoCheck { @Input() text: string; // The HTML text to display. @@ -50,6 +50,8 @@ export class CoreCompileHtmlComponent implements OnChanges, OnDestroy, DoCheck { // Get the container where to put the content. @ViewChild('dynamicComponent', { read: ViewContainerRef }) container: ViewContainerRef; + loaded: boolean; + protected componentRef: ComponentRef; protected componentInstance: any; protected element; @@ -93,6 +95,8 @@ export class CoreCompileHtmlComponent implements OnChanges, OnDestroy, DoCheck { this.componentRef = this.container.createComponent(factory); this.created.emit(this.componentRef.instance); } + + this.loaded = true; }); } } diff --git a/src/core/compile/providers/compile.ts b/src/core/compile/providers/compile.ts index 5daa6e4b9..ec515a010 100644 --- a/src/core/compile/providers/compile.ts +++ b/src/core/compile/providers/compile.ts @@ -13,6 +13,7 @@ // limitations under the License. import { Injectable, Injector, Component, NgModule, Compiler, ComponentFactory, ComponentRef, NgModuleRef } from '@angular/core'; +import { JitCompilerFactory } from '@angular/platform-browser-dynamic'; import { Platform, ActionSheetController, AlertController, LoadingController, ModalController, PopoverController, ToastController, IonicModule @@ -113,10 +114,7 @@ import { ADDON_PUSHNOTIFICATIONS_PROVIDERS } from '@addon/pushnotifications/push import { ADDON_REMOTETHEMES_PROVIDERS } from '@addon/remotethemes/remotethemes.module'; // Import some addon modules that define components, directives and pipes. Only import the important ones. -import { AddonMessagesComponentsModule } from '@addon/messages/components/components.module'; import { AddonModAssignComponentsModule } from '@addon/mod/assign/components/components.module'; -import { AddonModForumComponentsModule } from '@addon/mod/forum/components/components.module'; -import { AddonNotificationsComponentsModule } from '@addon/notifications/components/components.module'; /** * Service to provide functionalities regarding compiling dynamic HTML and Javascript. @@ -125,6 +123,7 @@ import { AddonNotificationsComponentsModule } from '@addon/notifications/compone export class CoreCompileProvider { protected logger; + protected compiler: Compiler; // Other Ionic/Angular providers that don't depend on where they are injected. protected OTHER_PROVIDERS = [ @@ -136,13 +135,13 @@ export class CoreCompileProvider { protected IMPORTS = [ IonicModule, TranslateModule.forChild(), CoreComponentsModule, CoreDirectivesModule, CorePipesModule, CoreCourseComponentsModule, CoreCoursesComponentsModule, CoreSiteHomeComponentsModule, CoreUserComponentsModule, - CoreCourseDirectivesModule, CoreSitePluginsDirectivesModule, CoreQuestionComponentsModule, AddonMessagesComponentsModule, - AddonModAssignComponentsModule, AddonModForumComponentsModule, - AddonNotificationsComponentsModule + CoreCourseDirectivesModule, CoreSitePluginsDirectivesModule, CoreQuestionComponentsModule, AddonModAssignComponentsModule, ]; - constructor(protected injector: Injector, logger: CoreLoggerProvider, protected compiler: Compiler) { + constructor(protected injector: Injector, logger: CoreLoggerProvider, compilerFactory: JitCompilerFactory) { this.logger = logger.getInstance('CoreCompileProvider'); + + this.compiler = compilerFactory.createCompiler(); } /** diff --git a/src/core/course/components/format/format.html b/src/core/course/components/format/core-course-format.html similarity index 100% rename from src/core/course/components/format/format.html rename to src/core/course/components/format/core-course-format.html diff --git a/src/core/course/components/format/format.ts b/src/core/course/components/format/format.ts index 9774e7b5b..4e08d500a 100644 --- a/src/core/course/components/format/format.ts +++ b/src/core/course/components/format/format.ts @@ -38,7 +38,7 @@ import { CoreDynamicComponent } from '@components/dynamic-component/dynamic-comp */ @Component({ selector: 'core-course-format', - templateUrl: 'format.html' + templateUrl: 'core-course-format.html' }) export class CoreCourseFormatComponent implements OnInit, OnChanges, OnDestroy { @Input() course: any; // The course to render. diff --git a/src/core/course/components/module-completion/module-completion.html b/src/core/course/components/module-completion/core-course-module-completion.html similarity index 100% rename from src/core/course/components/module-completion/module-completion.html rename to src/core/course/components/module-completion/core-course-module-completion.html diff --git a/src/core/course/components/module-completion/module-completion.ts b/src/core/course/components/module-completion/module-completion.ts index 1389ff1b7..25e3165d8 100644 --- a/src/core/course/components/module-completion/module-completion.ts +++ b/src/core/course/components/module-completion/module-completion.ts @@ -30,7 +30,7 @@ import { CoreUserProvider } from '@core/user/providers/user'; */ @Component({ selector: 'core-course-module-completion', - templateUrl: 'module-completion.html' + templateUrl: 'core-course-module-completion.html' }) export class CoreCourseModuleCompletionComponent implements OnChanges { @Input() completion: any; // The completion status. diff --git a/src/core/course/components/module-description/module-description.html b/src/core/course/components/module-description/core-course-module-description.html similarity index 100% rename from src/core/course/components/module-description/module-description.html rename to src/core/course/components/module-description/core-course-module-description.html diff --git a/src/core/course/components/module-description/module-description.ts b/src/core/course/components/module-description/module-description.ts index ccf534459..5e650c389 100644 --- a/src/core/course/components/module-description/module-description.ts +++ b/src/core/course/components/module-description/module-description.ts @@ -32,7 +32,7 @@ import { Component, Input } from '@angular/core'; */ @Component({ selector: 'core-course-module-description', - templateUrl: 'module-description.html' + templateUrl: 'core-course-module-description.html' }) export class CoreCourseModuleDescriptionComponent { @Input() description: string; // The description to display. diff --git a/src/core/course/components/module/module.html b/src/core/course/components/module/core-course-module.html similarity index 100% rename from src/core/course/components/module/module.html rename to src/core/course/components/module/core-course-module.html diff --git a/src/core/course/components/module/module.ts b/src/core/course/components/module/module.ts index ccc71b055..3ea6e92bc 100644 --- a/src/core/course/components/module/module.ts +++ b/src/core/course/components/module/module.ts @@ -31,7 +31,7 @@ import { CoreConstants } from '../../../constants'; */ @Component({ selector: 'core-course-module', - templateUrl: 'module.html' + templateUrl: 'core-course-module.html' }) export class CoreCourseModuleComponent implements OnInit, OnDestroy { @Input() module: any; // The module to render. diff --git a/src/core/course/components/unsupported-module/unsupported-module.html b/src/core/course/components/unsupported-module/core-course-unsupported-module.html similarity index 100% rename from src/core/course/components/unsupported-module/unsupported-module.html rename to src/core/course/components/unsupported-module/core-course-unsupported-module.html diff --git a/src/core/course/components/unsupported-module/unsupported-module.ts b/src/core/course/components/unsupported-module/unsupported-module.ts index f2b70b175..4c655e857 100644 --- a/src/core/course/components/unsupported-module/unsupported-module.ts +++ b/src/core/course/components/unsupported-module/unsupported-module.ts @@ -21,7 +21,7 @@ import { CoreCourseModuleDelegate } from '../../providers/module-delegate'; */ @Component({ selector: 'core-course-unsupported-module', - templateUrl: 'unsupported-module.html', + templateUrl: 'core-course-unsupported-module.html', }) export class CoreCourseUnsupportedModuleComponent implements OnInit { @Input() course: any; // The course to module belongs to. diff --git a/src/core/course/course.module.ts b/src/core/course/course.module.ts index eccf47d56..2522e66f0 100644 --- a/src/core/course/course.module.ts +++ b/src/core/course/course.module.ts @@ -44,10 +44,16 @@ export const CORE_COURSE_PROVIDERS: any[] = [ CoreCourseFormatWeeksModule, CoreCourseFormatSocialModule ], - providers: CORE_COURSE_PROVIDERS.concat([ + providers: [ + CoreCourseProvider, + CoreCourseHelperProvider, + CoreCourseFormatDelegate, + CoreCourseModuleDelegate, + CoreCourseModulePrefetchDelegate, + CoreCourseOptionsDelegate, CoreCourseFormatDefaultHandler, CoreCourseModuleDefaultHandler - ]), + ], exports: [] }) export class CoreCourseModule {} diff --git a/src/core/course/formats/singleactivity/components/singleactivity.html b/src/core/course/formats/singleactivity/components/core-course-format-single-activity.html similarity index 100% rename from src/core/course/formats/singleactivity/components/singleactivity.html rename to src/core/course/formats/singleactivity/components/core-course-format-single-activity.html diff --git a/src/core/course/formats/singleactivity/components/singleactivity.ts b/src/core/course/formats/singleactivity/components/singleactivity.ts index 4cfa91918..7f1ac6dab 100644 --- a/src/core/course/formats/singleactivity/components/singleactivity.ts +++ b/src/core/course/formats/singleactivity/components/singleactivity.ts @@ -24,7 +24,7 @@ import { CoreDynamicComponent } from '../../../../../components/dynamic-componen */ @Component({ selector: 'core-course-format-single-activity', - templateUrl: 'singleactivity.html' + templateUrl: 'core-course-format-single-activity.html' }) export class CoreCourseFormatSingleActivityComponent implements OnChanges { @Input() course: any; // The course to render. diff --git a/src/core/courses/components/course-list-item/course-list-item.html b/src/core/courses/components/course-list-item/core-courses-course-list-item.html similarity index 100% rename from src/core/courses/components/course-list-item/course-list-item.html rename to src/core/courses/components/course-list-item/core-courses-course-list-item.html diff --git a/src/core/courses/components/course-list-item/course-list-item.ts b/src/core/courses/components/course-list-item/course-list-item.ts index 3a6e47343..12f1bf501 100644 --- a/src/core/courses/components/course-list-item/course-list-item.ts +++ b/src/core/courses/components/course-list-item/course-list-item.ts @@ -26,7 +26,7 @@ import { CoreCoursesProvider } from '../../providers/courses'; */ @Component({ selector: 'core-courses-course-list-item', - templateUrl: 'course-list-item.html' + templateUrl: 'core-courses-course-list-item.html' }) export class CoreCoursesCourseListItemComponent implements OnInit { @Input() course: any; // The course to render. diff --git a/src/core/courses/components/course-progress/course-progress.html b/src/core/courses/components/course-progress/core-courses-course-progress.html similarity index 100% rename from src/core/courses/components/course-progress/course-progress.html rename to src/core/courses/components/course-progress/core-courses-course-progress.html diff --git a/src/core/courses/components/course-progress/course-progress.ts b/src/core/courses/components/course-progress/course-progress.ts index 3a8256624..96f9b60b5 100644 --- a/src/core/courses/components/course-progress/course-progress.ts +++ b/src/core/courses/components/course-progress/course-progress.ts @@ -32,7 +32,7 @@ import { CoreCourseHelperProvider } from '@core/course/providers/helper'; */ @Component({ selector: 'core-courses-course-progress', - templateUrl: 'course-progress.html' + templateUrl: 'core-courses-course-progress.html' }) export class CoreCoursesCourseProgressComponent implements OnInit, OnDestroy { @Input() course: any; // The course to render. diff --git a/src/core/courses/components/overview-events/overview-events.html b/src/core/courses/components/overview-events/core-courses-overview-events.html similarity index 100% rename from src/core/courses/components/overview-events/overview-events.html rename to src/core/courses/components/overview-events/core-courses-overview-events.html diff --git a/src/core/courses/components/overview-events/overview-events.ts b/src/core/courses/components/overview-events/overview-events.ts index cf59b3f49..c7d7d6e14 100644 --- a/src/core/courses/components/overview-events/overview-events.ts +++ b/src/core/courses/components/overview-events/overview-events.ts @@ -27,7 +27,7 @@ import * as moment from 'moment'; */ @Component({ selector: 'core-courses-overview-events', - templateUrl: 'overview-events.html' + templateUrl: 'core-courses-overview-events.html' }) export class CoreCoursesOverviewEventsComponent implements OnChanges { @Input() events: any[]; // The events to render. diff --git a/src/core/courses/courses.module.ts b/src/core/courses/courses.module.ts index 0156449fb..200ab9db2 100644 --- a/src/core/courses/courses.module.ts +++ b/src/core/courses/courses.module.ts @@ -32,12 +32,14 @@ export const CORE_COURSES_PROVIDERS: any[] = [ declarations: [], imports: [ ], - providers: CORE_COURSES_PROVIDERS.concat([ + providers: [ + CoreCoursesProvider, + CoreCoursesMyOverviewProvider, CoreCoursesMainMenuHandler, CoreCoursesCourseLinkHandler, CoreCoursesIndexLinkHandler, CoreCoursesMyOverviewLinkHandler - ]), + ], exports: [] }) export class CoreCoursesModule { diff --git a/src/core/emulator/emulator.module.ts b/src/core/emulator/emulator.module.ts index 68260edc6..edc9a165a 100644 --- a/src/core/emulator/emulator.module.ts +++ b/src/core/emulator/emulator.module.ts @@ -62,9 +62,12 @@ import { CoreInitDelegate } from '@providers/init'; // List of Ionic Native providers. export const IONIC_NATIVE_PROVIDERS = [ + Badge, Camera, Clipboard, + Device, File, + FileOpener, FileTransfer, Globalization, InAppBrowser, @@ -72,9 +75,11 @@ export const IONIC_NATIVE_PROVIDERS = [ LocalNotifications, MediaCapture, Network, + Push, SplashScreen, StatusBar, SQLite, + WebIntent, Zip ]; diff --git a/src/core/fileuploader/fileuploader.module.ts b/src/core/fileuploader/fileuploader.module.ts index d0545d32e..e50bfd4f2 100644 --- a/src/core/fileuploader/fileuploader.module.ts +++ b/src/core/fileuploader/fileuploader.module.ts @@ -34,13 +34,16 @@ export const CORE_FILEUPLOADER_PROVIDERS: any[] = [ ], imports: [ ], - providers: CORE_FILEUPLOADER_PROVIDERS.concat([ + providers: [ + CoreFileUploaderProvider, + CoreFileUploaderHelperProvider, + CoreFileUploaderDelegate, CoreFileUploaderAlbumHandler, CoreFileUploaderAudioHandler, CoreFileUploaderCameraHandler, CoreFileUploaderFileHandler, CoreFileUploaderVideoHandler - ]) + ] }) export class CoreFileUploaderModule { constructor(delegate: CoreFileUploaderDelegate, albumHandler: CoreFileUploaderAlbumHandler, diff --git a/src/core/grades/components/course/course.html b/src/core/grades/components/course/core-grades-course.html similarity index 100% rename from src/core/grades/components/course/course.html rename to src/core/grades/components/course/core-grades-course.html diff --git a/src/core/grades/components/course/course.ts b/src/core/grades/components/course/course.ts index 734bbdaf2..757a4c3a0 100644 --- a/src/core/grades/components/course/course.ts +++ b/src/core/grades/components/course/course.ts @@ -25,7 +25,7 @@ import { CoreAppProvider } from '@providers/app'; */ @Component({ selector: 'core-grades-course', - templateUrl: 'course.html', + templateUrl: 'core-grades-course.html', }) export class CoreGradesCourseComponent { @ViewChild(Content) content: Content; diff --git a/src/core/grades/grades.module.ts b/src/core/grades/grades.module.ts index d6f3d9889..498b3d5d9 100644 --- a/src/core/grades/grades.module.ts +++ b/src/core/grades/grades.module.ts @@ -41,13 +41,15 @@ export const CORE_GRADES_PROVIDERS: any[] = [ imports: [ CoreGradesComponentsModule ], - providers: CORE_GRADES_PROVIDERS.concat([ + providers: [ + CoreGradesProvider, + CoreGradesHelperProvider, CoreGradesMainMenuHandler, CoreGradesCourseOptionHandler, CoreGradesUserLinkHandler, CoreGradesOverviewLinkHandler, CoreGradesUserHandler - ]) + ] }) export class CoreGradesModule { constructor(mainMenuDelegate: CoreMainMenuDelegate, gradesMenuHandler: CoreGradesMainMenuHandler, diff --git a/src/core/question/classes/base-behaviour-handler.ts b/src/core/question/classes/base-behaviour-handler.ts new file mode 100644 index 000000000..8da0309ac --- /dev/null +++ b/src/core/question/classes/base-behaviour-handler.ts @@ -0,0 +1,69 @@ +// (C) Copyright 2015 Martin Dougiamas +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Injector } from '@angular/core'; +import { CoreQuestionBehaviourHandler } from '../providers/behaviour-delegate'; +import { CoreQuestionProvider, CoreQuestionState } from '@core/question/providers/question'; + +/** + * Base handler for question behaviours. + * + * This class is needed because parent classes cannot have @Injectable in Angular v6, so the default handler cannot be a + * parent class. + */ +export class CoreQuestionBehaviourBaseHandler implements CoreQuestionBehaviourHandler { + name = 'CoreQuestionBehaviourBase'; + type = 'base'; + + constructor(protected questionProvider: CoreQuestionProvider) { } + + /** + * Determine a question new state based on its answer(s). + * + * @param {string} component Component the question belongs to. + * @param {number} attemptId Attempt ID the question belongs to. + * @param {any} question The question. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {CoreQuestionState|Promise} New state (or promise resolved with state). + */ + determineNewState(component: string, attemptId: number, question: any, siteId?: string) + : CoreQuestionState | Promise { + // Return the current state. + return this.questionProvider.getState(question.state); + } + + /** + * Handle a question behaviour. + * If the behaviour requires a submit button, it should add it to question.behaviourButtons. + * If the behaviour requires to show some extra data, it should return the components to render it. + * + * @param {Injector} injector Injector. + * @param {any} question The question. + * @return {any[]|Promise} Components (or promise resolved with components) to render some extra data in the question + * (e.g. certainty options). Don't return anything if no extra data is required. + */ + handleQuestion(injector: Injector, question: any): any[] | Promise { + // Nothing to do. + return; + } + + /** + * Whether or not the handler is enabled on a site level. + * + * @return {boolean|Promise} True or promise resolved with true if enabled. + */ + isEnabled(): boolean | Promise { + return true; + } +} diff --git a/src/core/question/classes/base-question-handler.ts b/src/core/question/classes/base-question-handler.ts new file mode 100644 index 000000000..e7782c2fb --- /dev/null +++ b/src/core/question/classes/base-question-handler.ts @@ -0,0 +1,136 @@ +// (C) Copyright 2015 Martin Dougiamas +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Injector } from '@angular/core'; +import { CoreQuestionHandler } from '../providers/delegate'; + +/** + * Base handler for question types. + * + * This class is needed because parent classes cannot have @Injectable in Angular v6, so the default handler cannot be a + * parent class. + */ +export class CoreQuestionBaseHandler implements CoreQuestionHandler { + name = 'CoreQuestionBase'; + type = 'base'; + + constructor() { + // Nothing to do. + } + + /** + * Whether or not the handler is enabled on a site level. + * + * @return {boolean|Promise} True or promise resolved with true if enabled. + */ + isEnabled(): boolean | Promise { + return true; + } + + /** + * Return the Component to use to display the question. + * It's recommended to return the class of the component, but you can also return an instance of the component. + * + * @param {Injector} injector Injector. + * @param {any} question The question to render. + * @return {any|Promise} The component (or promise resolved with component) to use, undefined if not found. + */ + getComponent(injector: Injector, question: any): any | Promise { + // There is no default component for questions. + } + + /** + * Return the name of the behaviour to use for the question. + * If the question should use the default behaviour you shouldn't implement this function. + * + * @param {any} question The question. + * @param {string} behaviour The default behaviour. + * @return {string} The behaviour to use. + */ + getBehaviour(question: any, behaviour: string): string { + return behaviour; + } + + /** + * Check if a question can be submitted. + * If a question cannot be submitted it should return a message explaining why (translated or not). + * + * @param {any} question The question. + * @return {string} Prevent submit message. Undefined or empty if can be submitted. + */ + getPreventSubmitMessage(question: any): string { + // Never prevent by default. + return ''; + } + + /** + * Check if a response is complete. + * + * @param {any} question The question. + * @param {any} answers Object with the question answers (without prefix). + * @return {number} 1 if complete, 0 if not complete, -1 if cannot determine. + */ + isCompleteResponse(question: any, answers: any): number { + return -1; + } + + /** + * Check if a student has provided enough of an answer for the question to be graded automatically, + * or whether it must be considered aborted. + * + * @param {any} question The question. + * @param {any} answers Object with the question answers (without prefix). + * @return {number} 1 if gradable, 0 if not gradable, -1 if cannot determine. + */ + isGradableResponse(question: any, answers: any): number { + return -1; + } + + /** + * Check if two responses are the same. + * + * @param {any} question Question. + * @param {any} prevAnswers Object with the previous question answers. + * @param {any} newAnswers Object with the new question answers. + * @return {boolean} Whether they're the same. + */ + isSameResponse(question: any, prevAnswers: any, newAnswers: any): boolean { + return false; + } + + /** + * Prepare and add to answers the data to send to server based in the input. Return promise if async. + * + * @param {any} question Question. + * @param {any} answers The answers retrieved from the form. Prepared answers must be stored in this object. + * @param {boolean} [offline] Whether the data should be saved in offline. + * @param {string} [siteId] Site ID. If not defined, current site. + * @return {void|Promise} Return a promise resolved when done if async, void if sync. + */ + prepareAnswers(question: any, answers: any, offline: boolean, siteId?: string): void | Promise { + // Nothing to do. + } + + /** + * Validate if an offline sequencecheck is valid compared with the online one. + * This function only needs to be implemented if a specific compare is required. + * + * @param {any} question The question. + * @param {string} offlineSequenceCheck Sequence check stored in offline. + * @return {boolean} Whether sequencecheck is valid. + */ + validateSequenceCheck(question: any, offlineSequenceCheck: string): boolean { + return question.sequencecheck == offlineSequenceCheck; + } +} diff --git a/src/core/question/components/question/question.html b/src/core/question/components/question/core-question.html similarity index 100% rename from src/core/question/components/question/question.html rename to src/core/question/components/question/core-question.html diff --git a/src/core/question/components/question/question.ts b/src/core/question/components/question/question.ts index f5cc7666c..ca285fc87 100644 --- a/src/core/question/components/question/question.ts +++ b/src/core/question/components/question/question.ts @@ -27,7 +27,7 @@ import { CoreQuestionHelperProvider } from '../../providers/helper'; */ @Component({ selector: 'core-question', - templateUrl: 'question.html' + templateUrl: 'core-question.html' }) export class CoreQuestionComponent implements OnInit { @Input() question: any; // The question to render. diff --git a/src/core/question/providers/default-behaviour-handler.ts b/src/core/question/providers/default-behaviour-handler.ts index c26be4549..6609f033a 100644 --- a/src/core/question/providers/default-behaviour-handler.ts +++ b/src/core/question/providers/default-behaviour-handler.ts @@ -12,56 +12,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Injectable, Injector } from '@angular/core'; -import { CoreQuestionBehaviourHandler } from './behaviour-delegate'; -import { CoreQuestionProvider, CoreQuestionState } from '@core/question/providers/question'; +import { Injectable } from '@angular/core'; +import { CoreQuestionBehaviourBaseHandler } from '../classes/base-behaviour-handler'; +import { CoreQuestionProvider } from '@core/question/providers/question'; /** * Default handler used when the question behaviour doesn't have a specific implementation. */ @Injectable() -export class CoreQuestionBehaviourDefaultHandler implements CoreQuestionBehaviourHandler { +export class CoreQuestionBehaviourDefaultHandler extends CoreQuestionBehaviourBaseHandler { name = 'CoreQuestionBehaviourDefault'; type = 'default'; - constructor(private questionProvider: CoreQuestionProvider) { } - - /** - * Determine a question new state based on its answer(s). - * - * @param {string} component Component the question belongs to. - * @param {number} attemptId Attempt ID the question belongs to. - * @param {any} question The question. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {CoreQuestionState|Promise} New state (or promise resolved with state). - */ - determineNewState(component: string, attemptId: number, question: any, siteId?: string) - : CoreQuestionState | Promise { - // Return the current state. - return this.questionProvider.getState(question.state); - } - - /** - * Handle a question behaviour. - * If the behaviour requires a submit button, it should add it to question.behaviourButtons. - * If the behaviour requires to show some extra data, it should return the components to render it. - * - * @param {Injector} injector Injector. - * @param {any} question The question. - * @return {any[]|Promise} Components (or promise resolved with components) to render some extra data in the question - * (e.g. certainty options). Don't return anything if no extra data is required. - */ - handleQuestion(injector: Injector, question: any): any[] | Promise { - // Nothing to do. - return; - } - - /** - * Whether or not the handler is enabled on a site level. - * - * @return {boolean|Promise} True or promise resolved with true if enabled. - */ - isEnabled(): boolean | Promise { - return true; + constructor(protected questionProvider: CoreQuestionProvider) { + super(questionProvider); } } diff --git a/src/core/question/providers/default-question-handler.ts b/src/core/question/providers/default-question-handler.ts index e6688eaa0..9aa3688f1 100644 --- a/src/core/question/providers/default-question-handler.ts +++ b/src/core/question/providers/default-question-handler.ts @@ -12,123 +12,18 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Injectable, Injector } from '@angular/core'; -import { CoreQuestionHandler } from './delegate'; +import { Injectable } from '@angular/core'; +import { CoreQuestionBaseHandler } from '../classes/base-question-handler'; /** * Default handler used when the question type doesn't have a specific implementation. */ @Injectable() -export class CoreQuestionDefaultHandler implements CoreQuestionHandler { +export class CoreQuestionDefaultHandler extends CoreQuestionBaseHandler { name = 'CoreQuestionDefault'; type = 'default'; constructor() { - // Nothing to do. - } - - /** - * Whether or not the handler is enabled on a site level. - * - * @return {boolean|Promise} True or promise resolved with true if enabled. - */ - isEnabled(): boolean | Promise { - return true; - } - - /** - * Return the Component to use to display the question. - * It's recommended to return the class of the component, but you can also return an instance of the component. - * - * @param {Injector} injector Injector. - * @param {any} question The question to render. - * @return {any|Promise} The component (or promise resolved with component) to use, undefined if not found. - */ - getComponent(injector: Injector, question: any): any | Promise { - // There is no default component for questions. - } - - /** - * Return the name of the behaviour to use for the question. - * If the question should use the default behaviour you shouldn't implement this function. - * - * @param {any} question The question. - * @param {string} behaviour The default behaviour. - * @return {string} The behaviour to use. - */ - getBehaviour(question: any, behaviour: string): string { - return behaviour; - } - - /** - * Check if a question can be submitted. - * If a question cannot be submitted it should return a message explaining why (translated or not). - * - * @param {any} question The question. - * @return {string} Prevent submit message. Undefined or empty if can be submitted. - */ - getPreventSubmitMessage(question: any): string { - // Never prevent by default. - return ''; - } - - /** - * Check if a response is complete. - * - * @param {any} question The question. - * @param {any} answers Object with the question answers (without prefix). - * @return {number} 1 if complete, 0 if not complete, -1 if cannot determine. - */ - isCompleteResponse(question: any, answers: any): number { - return -1; - } - - /** - * Check if a student has provided enough of an answer for the question to be graded automatically, - * or whether it must be considered aborted. - * - * @param {any} question The question. - * @param {any} answers Object with the question answers (without prefix). - * @return {number} 1 if gradable, 0 if not gradable, -1 if cannot determine. - */ - isGradableResponse(question: any, answers: any): number { - return -1; - } - - /** - * Check if two responses are the same. - * - * @param {any} question Question. - * @param {any} prevAnswers Object with the previous question answers. - * @param {any} newAnswers Object with the new question answers. - * @return {boolean} Whether they're the same. - */ - isSameResponse(question: any, prevAnswers: any, newAnswers: any): boolean { - return false; - } - - /** - * Prepare and add to answers the data to send to server based in the input. Return promise if async. - * - * @param {any} question Question. - * @param {any} answers The answers retrieved from the form. Prepared answers must be stored in this object. - * @param {boolean} [offline] Whether the data should be saved in offline. - * @param {string} [siteId] Site ID. If not defined, current site. - * @return {void|Promise} Return a promise resolved when done if async, void if sync. - */ - prepareAnswers(question: any, answers: any, offline: boolean, siteId?: string): void | Promise { - // Nothing to do. - } - - /** - * Validate if an offline sequencecheck is valid compared with the online one. - * This function only needs to be implemented if a specific compare is required. - * - * @param {any} question The question. - * @param {string} offlineSequenceCheck Sequence check stored in offline. - * @return {boolean} Whether sequencecheck is valid. - */ - validateSequenceCheck(question: any, offlineSequenceCheck: string): boolean { - return question.sequencecheck == offlineSequenceCheck; + super(); } } diff --git a/src/core/question/question.module.ts b/src/core/question/question.module.ts index 0029cf9c3..6028fc61a 100644 --- a/src/core/question/question.module.ts +++ b/src/core/question/question.module.ts @@ -32,10 +32,14 @@ export const CORE_QUESTION_PROVIDERS: any[] = [ declarations: [], imports: [ ], - providers: CORE_QUESTION_PROVIDERS.concat([ + providers: [ + CoreQuestionProvider, + CoreQuestionDelegate, + CoreQuestionBehaviourDelegate, + CoreQuestionHelperProvider, CoreQuestionDefaultHandler, CoreQuestionBehaviourDefaultHandler - ]), + ], exports: [] }) export class CoreQuestionModule {} diff --git a/src/core/sharedfiles/sharedfiles.module.ts b/src/core/sharedfiles/sharedfiles.module.ts index dcb47ad1c..d82b98e79 100644 --- a/src/core/sharedfiles/sharedfiles.module.ts +++ b/src/core/sharedfiles/sharedfiles.module.ts @@ -30,9 +30,11 @@ export const CORE_SHAREDFILES_PROVIDERS: any[] = [ ], imports: [ ], - providers: CORE_SHAREDFILES_PROVIDERS.concat([ + providers: [ + CoreSharedFilesProvider, + CoreSharedFilesHelperProvider, CoreSharedFilesUploadHandler - ]) + ] }) export class CoreSharedFilesModule { constructor(platform: Platform, delegate: CoreFileUploaderDelegate, handler: CoreSharedFilesUploadHandler, diff --git a/src/core/sitehome/components/all-course-list/all-course-list.ts b/src/core/sitehome/components/all-course-list/all-course-list.ts index 4d8785918..3f551b4b6 100644 --- a/src/core/sitehome/components/all-course-list/all-course-list.ts +++ b/src/core/sitehome/components/all-course-list/all-course-list.ts @@ -20,7 +20,7 @@ import { CoreCoursesProvider } from '@core/courses/providers/courses'; */ @Component({ selector: 'core-sitehome-all-course-list', - templateUrl: 'all-course-list.html', + templateUrl: 'core-sitehome-all-course-list.html', }) export class CoreSiteHomeAllCourseListComponent { show: boolean; diff --git a/src/core/sitehome/components/all-course-list/all-course-list.html b/src/core/sitehome/components/all-course-list/core-sitehome-all-course-list.html similarity index 100% rename from src/core/sitehome/components/all-course-list/all-course-list.html rename to src/core/sitehome/components/all-course-list/core-sitehome-all-course-list.html diff --git a/src/core/sitehome/components/categories/categories.ts b/src/core/sitehome/components/categories/categories.ts index 9bd62f2f0..47c31b611 100644 --- a/src/core/sitehome/components/categories/categories.ts +++ b/src/core/sitehome/components/categories/categories.ts @@ -20,7 +20,7 @@ import { CoreCoursesProvider } from '@core/courses/providers/courses'; */ @Component({ selector: 'core-sitehome-categories', - templateUrl: 'categories.html', + templateUrl: 'core-sitehome-categories.html', }) export class CoreSiteHomeCategoriesComponent { show: boolean; diff --git a/src/core/sitehome/components/categories/categories.html b/src/core/sitehome/components/categories/core-sitehome-categories.html similarity index 100% rename from src/core/sitehome/components/categories/categories.html rename to src/core/sitehome/components/categories/core-sitehome-categories.html diff --git a/src/core/sitehome/components/course-search/course-search.html b/src/core/sitehome/components/course-search/core-sitehome-course-search.html similarity index 100% rename from src/core/sitehome/components/course-search/course-search.html rename to src/core/sitehome/components/course-search/core-sitehome-course-search.html diff --git a/src/core/sitehome/components/course-search/course-search.ts b/src/core/sitehome/components/course-search/course-search.ts index 558d53ee8..e861f18e8 100644 --- a/src/core/sitehome/components/course-search/course-search.ts +++ b/src/core/sitehome/components/course-search/course-search.ts @@ -20,7 +20,7 @@ import { CoreCoursesProvider } from '@core/courses/providers/courses'; */ @Component({ selector: 'core-sitehome-course-search', - templateUrl: 'course-search.html', + templateUrl: 'core-sitehome-course-search.html', }) export class CoreSiteHomeCourseSearchComponent { show: boolean; diff --git a/src/core/sitehome/components/enrolled-course-list/enrolled-course-list.html b/src/core/sitehome/components/enrolled-course-list/core-sitehome-enrolled-course-list.html similarity index 100% rename from src/core/sitehome/components/enrolled-course-list/enrolled-course-list.html rename to src/core/sitehome/components/enrolled-course-list/core-sitehome-enrolled-course-list.html diff --git a/src/core/sitehome/components/enrolled-course-list/enrolled-course-list.ts b/src/core/sitehome/components/enrolled-course-list/enrolled-course-list.ts index efe66f205..b50290d2f 100644 --- a/src/core/sitehome/components/enrolled-course-list/enrolled-course-list.ts +++ b/src/core/sitehome/components/enrolled-course-list/enrolled-course-list.ts @@ -20,7 +20,7 @@ import { CoreCoursesProvider } from '@core/courses/providers/courses'; */ @Component({ selector: 'core-sitehome-enrolled-course-list', - templateUrl: 'enrolled-course-list.html', + templateUrl: 'core-sitehome-enrolled-course-list.html', }) export class CoreSiteHomeEnrolledCourseListComponent implements OnInit { show: boolean; diff --git a/src/core/sitehome/components/index/index.html b/src/core/sitehome/components/index/core-sitehome-index.html similarity index 100% rename from src/core/sitehome/components/index/index.html rename to src/core/sitehome/components/index/core-sitehome-index.html diff --git a/src/core/sitehome/components/index/index.ts b/src/core/sitehome/components/index/index.ts index 0e2659129..b11a585c9 100644 --- a/src/core/sitehome/components/index/index.ts +++ b/src/core/sitehome/components/index/index.ts @@ -25,7 +25,7 @@ import { CoreSiteHomeProvider } from '../../providers/sitehome'; */ @Component({ selector: 'core-sitehome-index', - templateUrl: 'index.html', + templateUrl: 'core-sitehome-index.html', }) export class CoreSiteHomeIndexComponent implements OnInit { dataLoaded: boolean; diff --git a/src/core/sitehome/components/news/news.html b/src/core/sitehome/components/news/core-sitehome-news.html similarity index 100% rename from src/core/sitehome/components/news/news.html rename to src/core/sitehome/components/news/core-sitehome-news.html diff --git a/src/core/sitehome/components/news/news.ts b/src/core/sitehome/components/news/news.ts index 35e3aff95..e029ce558 100644 --- a/src/core/sitehome/components/news/news.ts +++ b/src/core/sitehome/components/news/news.ts @@ -23,7 +23,7 @@ import { CoreSiteHomeProvider } from '../../providers/sitehome'; */ @Component({ selector: 'core-sitehome-news', - templateUrl: 'news.html', + templateUrl: 'core-sitehome-news.html', }) export class CoreSiteHomeNewsComponent implements OnInit { module: any; diff --git a/src/core/sitehome/sitehome.module.ts b/src/core/sitehome/sitehome.module.ts index 303859c7d..77ca68377 100644 --- a/src/core/sitehome/sitehome.module.ts +++ b/src/core/sitehome/sitehome.module.ts @@ -28,10 +28,11 @@ export const CORE_SITEHOME_PROVIDERS: any[] = [ declarations: [], imports: [ ], - providers: CORE_SITEHOME_PROVIDERS.concat([ + providers: [ + CoreSiteHomeProvider, CoreSiteHomeMainMenuHandler, CoreSiteHomeIndexLinkHandler - ]), + ], exports: [] }) export class CoreSiteHomeModule { diff --git a/src/core/siteplugins/classes/handlers/assign-feedback-handler.ts b/src/core/siteplugins/classes/handlers/assign-feedback-handler.ts index 04b64049f..0948c0c8c 100644 --- a/src/core/siteplugins/classes/handlers/assign-feedback-handler.ts +++ b/src/core/siteplugins/classes/handlers/assign-feedback-handler.ts @@ -14,13 +14,13 @@ import { Injector } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { AddonModAssignDefaultFeedbackHandler } from '@addon/mod/assign/providers/default-feedback-handler'; +import { AddonModAssignBaseFeedbackHandler } from '@addon/mod/assign/classes/base-feedback-handler'; import { CoreSitePluginsAssignFeedbackComponent } from '../../components/assign-feedback/assign-feedback'; /** * Handler to display an assign feedback site plugin. */ -export class CoreSitePluginsAssignFeedbackHandler extends AddonModAssignDefaultFeedbackHandler { +export class CoreSitePluginsAssignFeedbackHandler extends AddonModAssignBaseFeedbackHandler { constructor(translate: TranslateService, public name: string, public type: string, protected prefix: string) { super(translate); diff --git a/src/core/siteplugins/classes/handlers/assign-submission-handler.ts b/src/core/siteplugins/classes/handlers/assign-submission-handler.ts index c02a3cd7d..9658a370e 100644 --- a/src/core/siteplugins/classes/handlers/assign-submission-handler.ts +++ b/src/core/siteplugins/classes/handlers/assign-submission-handler.ts @@ -14,13 +14,13 @@ import { Injector } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { AddonModAssignDefaultSubmissionHandler } from '@addon/mod/assign/providers/default-submission-handler'; +import { AddonModAssignBaseSubmissionHandler } from '@addon/mod/assign/classes/base-submission-handler'; import { CoreSitePluginsAssignSubmissionComponent } from '../../components/assign-submission/assign-submission'; /** * Handler to display an assign submission site plugin. */ -export class CoreSitePluginsAssignSubmissionHandler extends AddonModAssignDefaultSubmissionHandler { +export class CoreSitePluginsAssignSubmissionHandler extends AddonModAssignBaseSubmissionHandler { constructor(translate: TranslateService, public name: string, public type: string, protected prefix: string) { super(translate); diff --git a/src/core/siteplugins/classes/handlers/question-behaviour-handler.ts b/src/core/siteplugins/classes/handlers/question-behaviour-handler.ts index 5352f6a67..1b7a8372f 100644 --- a/src/core/siteplugins/classes/handlers/question-behaviour-handler.ts +++ b/src/core/siteplugins/classes/handlers/question-behaviour-handler.ts @@ -13,14 +13,14 @@ // limitations under the License. import { Injector } from '@angular/core'; -import { CoreQuestionBehaviourDefaultHandler } from '@core/question/providers/default-behaviour-handler'; +import { CoreQuestionBehaviourBaseHandler } from '@core/question/classes/base-behaviour-handler'; import { CoreSitePluginsQuestionBehaviourComponent } from '../../components/question-behaviour/question-behaviour'; import { CoreQuestionProvider } from '@core/question/providers/question'; /** * Handler to display a question behaviour site plugin. */ -export class CoreSitePluginsQuestionBehaviourHandler extends CoreQuestionBehaviourDefaultHandler { +export class CoreSitePluginsQuestionBehaviourHandler extends CoreQuestionBehaviourBaseHandler { constructor(questionProvider: CoreQuestionProvider, public name: string, public type: string, public hasTemplate: boolean) { super(questionProvider); diff --git a/src/core/siteplugins/classes/handlers/question-handler.ts b/src/core/siteplugins/classes/handlers/question-handler.ts index 7e9b128c7..b0be9ed6a 100644 --- a/src/core/siteplugins/classes/handlers/question-handler.ts +++ b/src/core/siteplugins/classes/handlers/question-handler.ts @@ -13,13 +13,13 @@ // limitations under the License. import { Injector } from '@angular/core'; -import { CoreQuestionDefaultHandler } from '@core/question/providers/default-question-handler'; +import { CoreQuestionBaseHandler } from '@core/question/classes/base-question-handler'; import { CoreSitePluginsQuestionComponent } from '../../components/question/question'; /** * Handler to display a question site plugin. */ -export class CoreSitePluginsQuestionHandler extends CoreQuestionDefaultHandler { +export class CoreSitePluginsQuestionHandler extends CoreQuestionBaseHandler { constructor(public name: string, public type: string) { super(); diff --git a/src/core/siteplugins/classes/handlers/quiz-access-rule-handler.ts b/src/core/siteplugins/classes/handlers/quiz-access-rule-handler.ts index e877c9a28..5ddf618f3 100644 --- a/src/core/siteplugins/classes/handlers/quiz-access-rule-handler.ts +++ b/src/core/siteplugins/classes/handlers/quiz-access-rule-handler.ts @@ -13,17 +13,14 @@ // limitations under the License. import { Injector } from '@angular/core'; -import { CoreQuestionDefaultHandler } from '@core/question/providers/default-question-handler'; import { CoreSitePluginsQuizAccessRuleComponent } from '../../components/quiz-access-rule/quiz-access-rule'; /** * Handler to display a quiz access rule site plugin. */ -export class CoreSitePluginsQuizAccessRuleHandler extends CoreQuestionDefaultHandler { +export class CoreSitePluginsQuizAccessRuleHandler { - constructor(public name: string, public ruleName: string, public hasTemplate: boolean) { - super(); - } + constructor(public name: string, public ruleName: string, public hasTemplate: boolean) { } /** * Whether the rule requires a preflight check when prefetch/start/continue an attempt. diff --git a/src/core/siteplugins/components/assign-feedback/assign-feedback.ts b/src/core/siteplugins/components/assign-feedback/assign-feedback.ts index 870ddc30b..210b7f4a8 100644 --- a/src/core/siteplugins/components/assign-feedback/assign-feedback.ts +++ b/src/core/siteplugins/components/assign-feedback/assign-feedback.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsCompileInitComponent } from '../../classes/compile-init- */ @Component({ selector: 'core-site-plugins-assign-feedback', - templateUrl: 'assign-feedback.html', + templateUrl: 'core-siteplugins-assign-feedback.html', }) export class CoreSitePluginsAssignFeedbackComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @Input() assign: any; // The assignment. diff --git a/src/core/siteplugins/components/assign-feedback/assign-feedback.html b/src/core/siteplugins/components/assign-feedback/core-siteplugins-assign-feedback.html similarity index 100% rename from src/core/siteplugins/components/assign-feedback/assign-feedback.html rename to src/core/siteplugins/components/assign-feedback/core-siteplugins-assign-feedback.html diff --git a/src/core/siteplugins/components/assign-submission/assign-submission.ts b/src/core/siteplugins/components/assign-submission/assign-submission.ts index f01644488..991989d04 100644 --- a/src/core/siteplugins/components/assign-submission/assign-submission.ts +++ b/src/core/siteplugins/components/assign-submission/assign-submission.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsCompileInitComponent } from '../../classes/compile-init- */ @Component({ selector: 'core-site-plugins-assign-submission', - templateUrl: 'assign-submission.html', + templateUrl: 'core-siteplugins-assign-submission.html', }) export class CoreSitePluginsAssignSubmissionComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @Input() assign: any; // The assignment. diff --git a/src/core/siteplugins/components/assign-submission/assign-submission.html b/src/core/siteplugins/components/assign-submission/core-siteplugins-assign-submission.html similarity index 100% rename from src/core/siteplugins/components/assign-submission/assign-submission.html rename to src/core/siteplugins/components/assign-submission/core-siteplugins-assign-submission.html diff --git a/src/core/siteplugins/components/course-format/course-format.html b/src/core/siteplugins/components/course-format/core-siteplugins-course-format.html similarity index 100% rename from src/core/siteplugins/components/course-format/course-format.html rename to src/core/siteplugins/components/course-format/core-siteplugins-course-format.html diff --git a/src/core/siteplugins/components/course-format/course-format.ts b/src/core/siteplugins/components/course-format/course-format.ts index 1ed9bdf59..87b37a4f0 100644 --- a/src/core/siteplugins/components/course-format/course-format.ts +++ b/src/core/siteplugins/components/course-format/course-format.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsPluginContentComponent } from '../plugin-content/plugin- */ @Component({ selector: 'core-site-plugins-course-format', - templateUrl: 'course-format.html', + templateUrl: 'core-siteplugins-course-format.html', }) export class CoreSitePluginsCourseFormatComponent implements OnInit { @Input() course: any; // The course to render. diff --git a/src/core/siteplugins/components/course-option/course-option.html b/src/core/siteplugins/components/course-option/core-siteplugins-course-option.html similarity index 100% rename from src/core/siteplugins/components/course-option/course-option.html rename to src/core/siteplugins/components/course-option/core-siteplugins-course-option.html diff --git a/src/core/siteplugins/components/course-option/course-option.ts b/src/core/siteplugins/components/course-option/course-option.ts index e577e6202..a92fb71a4 100644 --- a/src/core/siteplugins/components/course-option/course-option.ts +++ b/src/core/siteplugins/components/course-option/course-option.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsPluginContentComponent } from '../plugin-content/plugin- */ @Component({ selector: 'core-site-plugins-course-option', - templateUrl: 'course-option.html', + templateUrl: 'core-siteplugins-course-option.html', }) export class CoreSitePluginsCourseOptionComponent implements OnInit { @Input() courseId: number; diff --git a/src/core/siteplugins/components/module-index/module-index.html b/src/core/siteplugins/components/module-index/core-siteplugins-module-index.html similarity index 100% rename from src/core/siteplugins/components/module-index/module-index.html rename to src/core/siteplugins/components/module-index/core-siteplugins-module-index.html diff --git a/src/core/siteplugins/components/module-index/module-index.ts b/src/core/siteplugins/components/module-index/module-index.ts index 5f7c07602..aeb23afb2 100644 --- a/src/core/siteplugins/components/module-index/module-index.ts +++ b/src/core/siteplugins/components/module-index/module-index.ts @@ -26,7 +26,7 @@ import { CoreSitePluginsPluginContentComponent } from '../plugin-content/plugin- */ @Component({ selector: 'core-site-plugins-module-index', - templateUrl: 'module-index.html', + templateUrl: 'core-siteplugins-module-index.html', }) export class CoreSitePluginsModuleIndexComponent implements OnInit, OnDestroy, CoreCourseModuleMainComponent { @Input() module: any; // The module. diff --git a/src/core/siteplugins/components/plugin-content/plugin-content.html b/src/core/siteplugins/components/plugin-content/core-siteplugins-plugin-content.html similarity index 100% rename from src/core/siteplugins/components/plugin-content/plugin-content.html rename to src/core/siteplugins/components/plugin-content/core-siteplugins-plugin-content.html diff --git a/src/core/siteplugins/components/plugin-content/plugin-content.ts b/src/core/siteplugins/components/plugin-content/plugin-content.ts index 1f89b1ea3..21b9f8c2f 100644 --- a/src/core/siteplugins/components/plugin-content/plugin-content.ts +++ b/src/core/siteplugins/components/plugin-content/plugin-content.ts @@ -23,7 +23,7 @@ import { Subject } from 'rxjs'; */ @Component({ selector: 'core-site-plugins-plugin-content', - templateUrl: 'plugin-content.html', + templateUrl: 'core-siteplugins-plugin-content.html', }) export class CoreSitePluginsPluginContentComponent implements OnInit { @Input() component: string; diff --git a/src/core/siteplugins/components/question-behaviour/question-behaviour.html b/src/core/siteplugins/components/question-behaviour/core-siteplugins-question-behaviour.html similarity index 100% rename from src/core/siteplugins/components/question-behaviour/question-behaviour.html rename to src/core/siteplugins/components/question-behaviour/core-siteplugins-question-behaviour.html diff --git a/src/core/siteplugins/components/question-behaviour/question-behaviour.ts b/src/core/siteplugins/components/question-behaviour/question-behaviour.ts index 1d4777cb7..0b8fba773 100644 --- a/src/core/siteplugins/components/question-behaviour/question-behaviour.ts +++ b/src/core/siteplugins/components/question-behaviour/question-behaviour.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsCompileInitComponent } from '../../classes/compile-init- */ @Component({ selector: 'core-site-plugins-question-behaviour', - templateUrl: 'question-behaviour.html', + templateUrl: 'core-siteplugins-question-behaviour.html', }) export class CoreSitePluginsQuestionBehaviourComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @Input() question: any; // The question where the behaviour will be rendered. diff --git a/src/core/siteplugins/components/question/question.html b/src/core/siteplugins/components/question/core-siteplugins-question.html similarity index 100% rename from src/core/siteplugins/components/question/question.html rename to src/core/siteplugins/components/question/core-siteplugins-question.html diff --git a/src/core/siteplugins/components/question/question.ts b/src/core/siteplugins/components/question/question.ts index ccb6fbaa1..f5352adef 100644 --- a/src/core/siteplugins/components/question/question.ts +++ b/src/core/siteplugins/components/question/question.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsCompileInitComponent } from '../../classes/compile-init- */ @Component({ selector: 'core-site-plugins-question', - templateUrl: 'question.html', + templateUrl: 'core-siteplugins-question.html', }) export class CoreSitePluginsQuestionComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @Input() question: any; // The question to render. diff --git a/src/core/siteplugins/components/quiz-access-rule/quiz-access-rule.html b/src/core/siteplugins/components/quiz-access-rule/core-siteplugins-quiz-access-rule.html similarity index 100% rename from src/core/siteplugins/components/quiz-access-rule/quiz-access-rule.html rename to src/core/siteplugins/components/quiz-access-rule/core-siteplugins-quiz-access-rule.html diff --git a/src/core/siteplugins/components/quiz-access-rule/quiz-access-rule.ts b/src/core/siteplugins/components/quiz-access-rule/quiz-access-rule.ts index cfd9d1394..661d5c008 100644 --- a/src/core/siteplugins/components/quiz-access-rule/quiz-access-rule.ts +++ b/src/core/siteplugins/components/quiz-access-rule/quiz-access-rule.ts @@ -22,7 +22,7 @@ import { FormGroup } from '@angular/forms'; */ @Component({ selector: 'core-site-plugins-quiz-access-rule', - templateUrl: 'quiz-access-rule.html', + templateUrl: 'core-siteplugins-quiz-access-rule.html', }) export class CoreSitePluginsQuizAccessRuleComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @Input() rule: string; // The name of the rule. diff --git a/src/core/siteplugins/components/user-profile-field/user-profile-field.html b/src/core/siteplugins/components/user-profile-field/core-siteplugins-user-profile-field.html similarity index 100% rename from src/core/siteplugins/components/user-profile-field/user-profile-field.html rename to src/core/siteplugins/components/user-profile-field/core-siteplugins-user-profile-field.html diff --git a/src/core/siteplugins/components/user-profile-field/user-profile-field.ts b/src/core/siteplugins/components/user-profile-field/user-profile-field.ts index 81e5a27f8..9308f7355 100644 --- a/src/core/siteplugins/components/user-profile-field/user-profile-field.ts +++ b/src/core/siteplugins/components/user-profile-field/user-profile-field.ts @@ -21,7 +21,7 @@ import { CoreSitePluginsCompileInitComponent } from '../../classes/compile-init- */ @Component({ selector: 'core-site-plugins-user-profile-field', - templateUrl: 'user-profile-field.html', + templateUrl: 'core-siteplugins-user-profile-field.html', }) export class CoreSitePluginsUserProfileFieldComponent extends CoreSitePluginsCompileInitComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/core/user/components/participants/participants.html b/src/core/user/components/participants/core-user-participants.html similarity index 100% rename from src/core/user/components/participants/participants.html rename to src/core/user/components/participants/core-user-participants.html diff --git a/src/core/user/components/participants/participants.ts b/src/core/user/components/participants/participants.ts index 6f3d39158..653a3a74f 100644 --- a/src/core/user/components/participants/participants.ts +++ b/src/core/user/components/participants/participants.ts @@ -23,7 +23,7 @@ import { CoreSplitViewComponent } from '@components/split-view/split-view'; */ @Component({ selector: 'core-user-participants', - templateUrl: 'participants.html', + templateUrl: 'core-user-participants.html', }) export class CoreUserParticipantsComponent implements OnInit { @ViewChild(Content) content: Content; diff --git a/src/core/user/components/user-profile-field/user-profile-field.html b/src/core/user/components/user-profile-field/core-user-profile-field.html similarity index 100% rename from src/core/user/components/user-profile-field/user-profile-field.html rename to src/core/user/components/user-profile-field/core-user-profile-field.html diff --git a/src/core/user/components/user-profile-field/user-profile-field.ts b/src/core/user/components/user-profile-field/user-profile-field.ts index 7d410d3c3..7827192e5 100644 --- a/src/core/user/components/user-profile-field/user-profile-field.ts +++ b/src/core/user/components/user-profile-field/user-profile-field.ts @@ -21,7 +21,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; */ @Component({ selector: 'core-user-profile-field', - templateUrl: 'user-profile-field.html' + templateUrl: 'core-user-profile-field.html' }) export class CoreUserProfileFieldComponent implements OnInit { @Input() field: any; // The profile field to be rendered. diff --git a/src/core/user/user.module.ts b/src/core/user/user.module.ts index 12d3d78df..d2886ffe3 100644 --- a/src/core/user/user.module.ts +++ b/src/core/user/user.module.ts @@ -41,12 +41,16 @@ export const CORE_USER_PROVIDERS: any[] = [ imports: [ CoreUserComponentsModule ], - providers: CORE_USER_PROVIDERS.concat([ + providers: [ + CoreUserDelegate, + CoreUserProfileFieldDelegate, + CoreUserProvider, + CoreUserHelperProvider, CoreUserProfileMailHandler, CoreUserProfileLinkHandler, CoreUserParticipantsCourseOptionHandler, CoreUserParticipantsLinkHandler - ]) + ] }) export class CoreUserModule { constructor(userDelegate: CoreUserDelegate, userProfileMailHandler: CoreUserProfileMailHandler,