diff --git a/package-lock.json b/package-lock.json index 1ee0397c..9a3ce51c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,12 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "8fold-marked": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/8fold-marked/-/8fold-marked-0.3.9.tgz", - "integrity": "sha512-OmVTXzmvQk/WuVZnOa+sT6wpkLrkPrjYanXS3X0ib1yk6315iwuPmvwKkOOdpqznYmavyT2ZCDOo6MeFe4xSog==", - "dev": true - }, "@angular-devkit/build-optimizer": { "version": "0.0.42", "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.42.tgz", @@ -53,31 +47,31 @@ } }, "@angular/animations": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.3.tgz", - "integrity": "sha512-K9rOsRGwt7Zmp/rNdvBmgBKqvEdgCyZF0kvwxrmZfq1Zj0GAkfTAKPL007493O6XFd+icfu/+kmYeqXBGB4gKA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.4.tgz", + "integrity": "sha512-kLOUORV/2GdYsNSwmUsB3eEL+nAoBZYKgibYLkVy6oecrIbdFMWiNzLcFjX/avcMnb1UNMk24Hd7Of4C2UawPA==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/cli": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.6.7.tgz", - "integrity": "sha512-TprSjnQrEdrTsCAB5K/lCLuXZUH/y+l/BAR0aZLpubpZP8Ldgmq7q56trxL5wNSs3o6A8Vh43ZKNYOuKtnzlXQ==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.6.8.tgz", + "integrity": "sha512-/cqk7CoChwyEPav+NRzv6esZwXXxg2RszRCtPMKlIPNw9y/nleZFXka2igfJrxsjcMI5WN6z9gYvJRI7qF7RJA==", "dev": true, "requires": { "@angular-devkit/build-optimizer": "0.0.42", "@angular-devkit/core": "0.0.29", "@angular-devkit/schematics": "0.0.52", "@ngtools/json-schema": "1.1.0", - "@ngtools/webpack": "1.9.7", + "@ngtools/webpack": "1.9.8", "@schematics/angular": "0.1.17", - "autoprefixer": "7.2.5", + "autoprefixer": "7.2.6", "chalk": "2.2.2", "circular-dependency-plugin": "4.4.0", "common-tags": "1.7.2", - "copy-webpack-plugin": "4.3.1", + "copy-webpack-plugin": "4.4.1", "core-object": "3.1.5", "css-loader": "0.28.9", "cssnano": "3.10.0", @@ -103,7 +97,7 @@ "nopt": "4.0.1", "opn": "5.1.0", "portfinder": "1.0.13", - "postcss-import": "11.0.0", + "postcss-import": "11.1.0", "postcss-loader": "2.1.0", "postcss-url": "7.3.0", "raw-loader": "0.5.1", @@ -127,27 +121,27 @@ } }, "@angular/common": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.3.tgz", - "integrity": "sha512-RwQ/IjmpDdMecTz/wwQlKpHgF4Crr8kyqV9FJ+c+cHR8Riqlu2DOXSU7LIfDdGoo6Mpixdxd1rtHYfs7l9YBSA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.4.tgz", + "integrity": "sha512-PNtg7lzCBUgYo5Rj+/j11EVKhLfrUkkh81ecBwexk6VcDJebmvBO1HdGppV5UPzEH/StL1mTwLc95dOI0hHSJA==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/compiler": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.3.tgz", - "integrity": "sha512-OynSzUdEHwajQMoV2JuYq5IdiR2dlTCTAHhTLzrym85wOihvTvovEQwVhYYHyKERu85JIoaF1sXA42KIjMGfkw==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.4.tgz", + "integrity": "sha512-KFaGcm/5OKJRxXIxrS53IYPtqta9u2xLLedrWspxIvI59ImfzeZGnLGPhfrI0pbK7wY0rJ5YdGYQnzq33dh01A==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/compiler-cli": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.3.tgz", - "integrity": "sha512-uoCxeyQSd8R/cwEbd0FIUXjnbPq0HXEsyu3WSu9Ek2jt52HL+x/gZQdFCRtjW/mvQNOqxrgrTtEkhJ398+VkXg==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.4.tgz", + "integrity": "sha512-nODdd7EuGzk1ME5UzpVa/lN1oKNypRt2oZoNYOkgNO2TQWD1jqOcozruit1eOEFHQhXO2JvPTzlt1dd6viHSCQ==", "dev": true, "requires": { "chokidar": "1.7.0", @@ -165,98 +159,398 @@ } }, "@angular/core": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.3.tgz", - "integrity": "sha512-tL9O8KA6KGjnlxqjuTytpC2OeKbxe/yHev0kmwo5CK0lDZU4UFetcItAzUXU1dyRuILTcBkbnFt9+nr1SZs/cQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.4.tgz", + "integrity": "sha512-GPnxUf7g8Mz0AUttKKcqaw0m2xZujwwzojkg3xUIvHrNFFF5/HH5549PfnE1jD7qkmnDFx5j3IPuNkwYHW6XvA==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/forms": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.3.tgz", - "integrity": "sha512-PsMGbj/Slvsxxyl61QSSSFDCGHN1XK6kNxVQTVmAlVhP1LlaYqBOIgQy4K9CYWUeHqU/YCdhVaFb5quzZLtPYA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.4.tgz", + "integrity": "sha512-0k6rs2k85wcBq0WPAjxNbtBu1wq/1fUSFaBLbpnrwwHeCLJI5aAjG2/f3jv/17a/ek7/WZ3lxXtHzNMMdaD/Iw==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/http": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.3.tgz", - "integrity": "sha512-3kAj7YYws8J2zRu46fEXk6lYrgSK9s5YA6O4REZkLox/suK0wb6TsDIIhoMzScGctSzZESVyuWsvYMrDYCflPA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.4.tgz", + "integrity": "sha512-WjZTNqHw9cT/mIRenIGKKlJRdm9ZdDl7IqnX+OnAdO/c6hmoQwy9fkSLRLmcXw4FBM+ASfjWu4ybodaZ8Tv6xQ==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/language-service": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.3.tgz", - "integrity": "sha512-yBi8i2rUdq6WgYn2J+82QxqhKsl2ldH7/8Lk4ZQDbKgTBx5LmYLpNGg3TJGnZEUGtKhu8Rd1E3SBmc4qqrGXsQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.4.tgz", + "integrity": "sha512-slze+UcBzm+p/pAIGxah3errOlWsUVJ5I4RNgErmR3rlylt5YNWNM/LClbDVGk8zoW+NBg0fwIxUbqK6qnk5Cw==", "dev": true }, "@angular/platform-browser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.3.tgz", - "integrity": "sha512-60LgA4KK3BufBR7vwwcn3zTYuLlfDG3jFip7bvdgsDpURrUB0j6/pL5cbGElww4jnnxZ72uJzJRzSiGEofjc3g==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.4.tgz", + "integrity": "sha512-chv6h2aHQ/QoVA4Y6rpPpSju7vyLg/iMh516GxpGYVk6bHEdrH9pHJPulPcrt/LTd7lMAAHE3YmvYWVU6aDsaQ==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.3.tgz", - "integrity": "sha512-PheS+KJQJiyvQg1lr+eX0/1b/rjLnDjgI1qvzwikrvGYymb2JdZ+rjllHBs1iotzQ+tG+hRnlktvgdFN134x/g==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.4.tgz", + "integrity": "sha512-B3pv6FUTWA1daDYhx6b77FCFCzHQPuCyrsJQwMSSu6Xt+CYn2gc3dS0ph3B6cV6mnt1qIbEpML+Vp5Bi9x0Mkw==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@angular/router": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.3.tgz", - "integrity": "sha512-XVEpwNZta76FYas1gZSSGvkQoiGgQjvXfab6CwOh958d4c0C+9pJsykqsv6X/n8TSTShQt7wjs/vp/copXeuoA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.4.tgz", + "integrity": "sha512-sg3iCThhbfv/6zARdKbHNLc7Xe1Rt1deit55b3K+WlrHX7GhsuJPLcitrNaADIcgDKbNT9XrwBaNirAEip9hxA==", "dev": true, "requires": { "tslib": "1.9.0" } }, "@compodoc/compodoc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@compodoc/compodoc/-/compodoc-1.0.5.tgz", - "integrity": "sha512-kq2B8DT6ymRnBYCnUWcSSexhiXqu9NslM2ZTzHzs6Zo6tuHdcW9mjm0hC6wkzUZuHp1MOTM1qBUjjQdd7gMvsQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@compodoc/compodoc/-/compodoc-1.0.6.tgz", + "integrity": "sha512-/gPtipfJN+Dn4yF30Y26pcYEsjw9VefkyJKS+RONS4CiDkkBD9IHSFRA6ylHEQKAmj0tt3ot5Efpf2CUcdv+Nw==", "dev": true, "requires": { - "8fold-marked": "0.3.9", "@compodoc/ngd-transformer": "2.0.0-alpha.5", + "chalk": "2.3.1", "cheerio": "1.0.0-rc.2", - "chokidar": "1.7.0", + "chokidar": "2.0.1", "colors": "1.1.2", - "commander": "2.12.2", - "findit": "2.0.0", - "fs-extra": "4.0.3", + "commander": "2.14.1", + "fancy-log": "1.3.2", + "findit2": "2.2.3", + "fs-extra": "5.0.0", "glob": "7.1.2", - "gulp-util": "3.0.8", "handlebars": "4.0.11", "html-entities": "1.2.1", "json5": "0.5.1", "live-server": "1.1.0", "lodash": "4.17.5", - "lunr": "1.0.0", + "lunr": "2.1.5", + "marked": "0.3.12", "os-name": "2.0.1", - "shelljs": "0.7.8", "traverse": "0.6.6", - "ts-simple-ast": "0.97.1", - "typescript": "2.6.1" + "ts-simple-ast": "6.12.0", + "typescript": "2.4.2" }, "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.5", + "normalize-path": "2.1.1" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", + "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "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.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.1" + } + }, + "chalk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" + } + }, + "chokidar": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz", + "integrity": "sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.0", + "fsevents": "1.1.3", + "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.0.0" + } + }, + "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.0", + "snapdragon": "0.8.1", + "to-regex": "3.0.1" + }, + "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" + } + } + } + }, + "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.0", + "snapdragon": "0.8.1", + "to-regex": "3.0.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" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "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" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "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.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", + "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.0", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.7", + "object.pick": "1.3.0", + "regex-not": "1.0.0", + "snapdragon": "0.8.1", + "to-regex": "3.0.1" + } + }, + "supports-color": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, "typescript": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.1.tgz", - "integrity": "sha1-7znN6ierrAtQAkLWcmq5DgyEZjE=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", "dev": true } } @@ -290,9 +584,9 @@ "dev": true }, "@ngtools/webpack": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.9.7.tgz", - "integrity": "sha512-D5QuaT9wENeM2j9g2qvW9Ls1tGqRz26Lp+jxwb2ZGFep7Ik1fFOX3ROLfgkxNlxZGVmbxJjsfrYUCyGlzj8gWg==", + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-1.9.8.tgz", + "integrity": "sha512-V4cFDBpWMU11KWod4qW3rJ00dBeBKYxwzD2r2kwDQl5NogVTeBacz2gq6udUfwJ/yMxJTTFdpV7NKsydTb0BoA==", "dev": true, "requires": { "chalk": "2.2.2", @@ -338,9 +632,9 @@ } }, "@types/node": { - "version": "6.0.96", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.96.tgz", - "integrity": "sha512-fsOOY6tMQ3jCB2wD51XFDmmpgm4wVKkJECdcVRqapbJEa7awJDcr+SaH8toz+4r4KW8YQ3M7ybXMoSDo1QGewA==", + "version": "6.0.100", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.100.tgz", + "integrity": "sha512-LeTv/2eb37puibsq5982HXkKJBpu7Xc01WaGjEfncb+iE159nYOKkcaCCAsVoXBPD/7jAPdJt4J0+R9bqMndgg==", "dev": true }, "@types/q": { @@ -416,6 +710,16 @@ } } }, + "acorn-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz", + "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==", + "dev": true, + "requires": { + "acorn": "5.4.1", + "xtend": "4.0.1" + } + }, "addressparser": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", @@ -642,7 +946,7 @@ "dev": true, "requires": { "delegates": "1.0.0", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "argparse": { @@ -869,13 +1173,13 @@ "dev": true }, "autoprefixer": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.5.tgz", - "integrity": "sha512-XqHfo8Ht0VU+T5P+eWEVoXza456KJ4l62BPewu3vpNf3LP9s2+zYXkXBznzYby4XeECXgG3N4i+hGvOhXErZmA==", + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", "dev": true, "requires": { "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000792", + "caniuse-lite": "1.0.30000805", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.17", @@ -975,6 +1279,25 @@ "babel-runtime": "6.26.0" } }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -1056,7 +1379,7 @@ "component-emitter": "1.2.1", "define-property": "1.0.0", "isobject": "3.0.1", - "mixin-deep": "1.3.0", + "mixin-deep": "1.3.1", "pascalcase": "0.1.1" }, "dependencies": { @@ -1158,6 +1481,13 @@ "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=", + "dev": true, + "optional": true + }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", @@ -1288,9 +1618,9 @@ "dev": true }, "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.10", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.10.tgz", + "integrity": "sha512-u0KjSZq9NOEh36yRmKT/pIYOu0rpGAyUTeUmJgNd1K2tpAaUomh092TZ0fqbBGQc4hz85BVngAiB2mqekvQvIw==", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -1315,9 +1645,9 @@ "dev": true }, "browser-pack": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.3.tgz", - "integrity": "sha512-Jo+RYsn8X8OhyP9tMXXg0ueR2fW696HUu1Hf3/DeiwNean1oGiPtdgGRNuUHBpPHzBH3x4n1kzAlgOgHSIq88g==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz", + "integrity": "sha512-Q4Rvn7P6ObyWfc4stqLWHtG1MJ8vVtjgT24Zbu+8UTzxYuZouqZsmNRRTFVMY/Ux0eIKv1d+JWzsInTX+fdHPQ==", "dev": true, "requires": { "JSONStream": "1.3.2", @@ -1353,7 +1683,7 @@ "requires": { "JSONStream": "1.3.2", "assert": "1.4.1", - "browser-pack": "6.0.3", + "browser-pack": "6.0.4", "browser-resolve": "1.11.2", "browserify-zlib": "0.2.0", "buffer": "5.0.8", @@ -1382,7 +1712,7 @@ "punycode": "1.4.1", "querystring-es3": "0.2.1", "read-only-stream": "2.0.0", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "resolve": "1.5.0", "shasum": "1.0.2", "shell-quote": "1.6.1", @@ -1390,7 +1720,7 @@ "stream-http": "2.8.0", "string_decoder": "1.0.3", "subarg": "1.0.0", - "syntax-error": "1.3.0", + "syntax-error": "1.4.0", "through2": "2.0.3", "timers-browserify": "1.4.2", "tty-browserify": "0.0.0", @@ -1455,9 +1785,15 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, + "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=", + "dev": true + }, "timers-browserify": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", @@ -1545,8 +1881,8 @@ "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000792", - "electron-to-chromium": "1.3.32" + "caniuse-lite": "1.0.30000805", + "electron-to-chromium": "1.3.33" } }, "buffer": { @@ -1634,7 +1970,7 @@ "move-concurrently": "1.0.1", "promise-inflight": "1.0.1", "rimraf": "2.6.2", - "ssri": "5.1.0", + "ssri": "5.2.1", "unique-filename": "1.1.0", "y18n": "3.2.1" } @@ -1718,7 +2054,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000802", + "caniuse-db": "1.0.30000807", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" }, @@ -1729,22 +2065,22 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000802", - "electron-to-chromium": "1.3.32" + "caniuse-db": "1.0.30000807", + "electron-to-chromium": "1.3.33" } } } }, "caniuse-db": { - "version": "1.0.30000802", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000802.tgz", - "integrity": "sha1-99yjQtocEs+E/yyAQy4kx+HMNtk=", + "version": "1.0.30000807", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000807.tgz", + "integrity": "sha1-LwJzLQ8GDmVHLUYIs9UH8le3FlU=", "dev": true }, "caniuse-lite": { - "version": "1.0.30000792", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz", - "integrity": "sha1-0M6pgfgRjzlhRxr7tDyaHlu/AzI=", + "version": "1.0.30000805", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000805.tgz", + "integrity": "sha512-g04TTapYF47M05D8dshTSTfuAHTaAyfYUsD926QTcNvnqitFJb277L3y3RdDbcrjxmqzJBEqorkc0AykqMv8Ig==", "dev": true }, "caseless": { @@ -1782,6 +2118,12 @@ "supports-color": "4.5.0" } }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, "cheerio": { "version": "1.0.0-rc.2", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", @@ -1816,7 +2158,7 @@ "domutils": "1.5.1", "entities": "1.1.1", "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } } } @@ -2080,9 +2422,9 @@ } }, "code-block-writer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-5.0.0.tgz", - "integrity": "sha1-UclXIyCMGvMAN2e4IXBXLdKv9uY=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-6.2.0.tgz", + "integrity": "sha1-9DbTuaI5vcW9lvXHt2TeW3zekzk=", "dev": true }, "code-point-at": { @@ -2230,9 +2572,9 @@ } }, "commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", "dev": true }, "commenting": { @@ -2441,7 +2783,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "typedarray": "0.0.6" } }, @@ -2576,9 +2918,9 @@ "dev": true }, "copy-webpack-plugin": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.3.1.tgz", - "integrity": "sha512-xlcFiW/U7KrpS6dFuWq3r8Wb7koJx7QVc7LDFCosqkikaVSxkaYOnwDLwilbjrszZ0LYZXThDAJKcQCSrvdShQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.4.1.tgz", + "integrity": "sha512-ojaz8MpS3zoLJT/JbYMusYM+dCEArhW24hGAUPYPydTCS+87NFh2TWr85sywG3So4Q4E68QoerqQ+Ns1g0fhDg==", "dev": true, "requires": { "cacache": "10.0.2", @@ -2586,10 +2928,8 @@ "globby": "7.1.1", "is-glob": "4.0.0", "loader-utils": "0.2.17", - "lodash": "4.17.5", "minimatch": "3.0.4", "p-limit": "1.2.0", - "pify": "3.0.0", "serialize-javascript": "1.4.0" }, "dependencies": { @@ -2965,7 +3305,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000802", + "caniuse-db": "1.0.30000807", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -2978,8 +3318,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000802", - "electron-to-chromium": "1.3.32" + "caniuse-db": "1.0.30000807", + "electron-to-chromium": "1.3.33" } }, "chalk": { @@ -3549,7 +3889,7 @@ "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "stream-shift": "1.0.0" } }, @@ -3592,9 +3932,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.32", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.32.tgz", - "integrity": "sha1-EdBoTAhA4APEvoko+KxfNdvCtOY=", + "version": "1.3.33", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz", + "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=", "dev": true }, "elliptic": { @@ -3630,6 +3970,15 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -4402,10 +4751,10 @@ "locate-path": "2.0.0" } }, - "findit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", - "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", + "findit2": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz", + "integrity": "sha1-WKRmaX34piBc39vzlVNri9d3pfY=", "dev": true }, "findup-sync": { @@ -4433,7 +4782,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "follow-redirects": { @@ -4524,7 +4873,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "fs-access": { @@ -4562,7 +4911,7 @@ "graceful-fs": "4.1.11", "iferr": "0.1.5", "imurmurhash": "0.1.4", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "fs.realpath": { @@ -5603,7 +5952,7 @@ "extend": "3.0.1", "file-uri-to-path": "1.0.0", "ftp": "0.3.10", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "get-value": { @@ -6139,7 +6488,7 @@ "requires": { "inherits": "2.0.3", "obuf": "1.1.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "wbuf": "1.7.2" } }, @@ -6156,19 +6505,19 @@ "dev": true }, "html-minifier": { - "version": "3.5.8", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.8.tgz", - "integrity": "sha512-WX7D6PB9PFq05fZ1/CyxPUuyqXed6vh2fGOM80+zJT5wAO93D/cUjLs0CcbBFjQmlwmCgRvl97RurtArIpOnkw==", + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.9.tgz", + "integrity": "sha512-EZqO91XJwkj8BeLx9C12sKB/AHoTANaZax39vEOP9f/X/9jgJ3r1O2+neabuHqpz5kJO71TapP9JrtCY39su1A==", "dev": true, "requires": { "camel-case": "3.0.0", "clean-css": "4.1.9", - "commander": "2.12.2", + "commander": "2.14.1", "he": "1.1.1", "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.3.9" + "uglify-js": "3.3.10" } }, "html-webpack-plugin": { @@ -6178,7 +6527,7 @@ "dev": true, "requires": { "bluebird": "3.5.1", - "html-minifier": "3.5.8", + "html-minifier": "3.5.9", "loader-utils": "0.2.17", "lodash": "4.17.5", "pretty-error": "2.1.1", @@ -6677,6 +7026,12 @@ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", "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=", + "dev": true + }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", @@ -7240,20 +7595,20 @@ } }, "jasmine": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.9.0.tgz", - "integrity": "sha1-dlcfklyHg0CefGFTVy5aY0HPk+s=", + "version": "2.99.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.99.0.tgz", + "integrity": "sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc=", "dev": true, "requires": { "exit": "0.1.2", "glob": "7.1.2", - "jasmine-core": "2.9.1" + "jasmine-core": "2.99.1" }, "dependencies": { "jasmine-core": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.9.1.tgz", - "integrity": "sha1-trvB2OZSUNVvWIhGFwXr7uuI8i8=", + "version": "2.99.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", + "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=", "dev": true } } @@ -7714,7 +8069,7 @@ "object-assign": "4.1.1", "opn": "5.2.0", "proxy-middleware": "0.15.0", - "send": "0.16.1", + "send": "0.16.2", "serve-index": "1.9.1", "watchr": "2.6.0" }, @@ -7756,9 +8111,9 @@ } }, "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "dev": true, "requires": { "debug": "2.6.9", @@ -7773,8 +8128,14 @@ "ms": "2.0.0", "on-finished": "2.3.0", "range-parser": "1.2.0", - "statuses": "1.3.1" + "statuses": "1.4.0" } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true } } }, @@ -8091,7 +8452,7 @@ "optional": true, "requires": { "chalk": "1.1.3", - "commander": "2.12.2", + "commander": "2.14.1", "is-my-json-valid": "2.17.1", "pinkie-promise": "2.0.1" } @@ -8204,9 +8565,9 @@ } }, "lunr": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-1.0.0.tgz", - "integrity": "sha1-XJJ2ySyRrDWpJBtQGNRnI9kuL18=", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.1.5.tgz", + "integrity": "sha512-5Q8Q5Lu88qkQ7vwKyQXistAtgPHI+Ynmu796Od6/hTuFp3JLcQqftsRDAcu9eorzerl6xPKuH7KMhaxx0neYVQ==", "dev": true }, "macaddress": { @@ -8305,9 +8666,9 @@ } }, "make-error": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.2.tgz", - "integrity": "sha512-l9ra35l5VWLF24y75Tg8XgfGLX0ueRhph118WKM6H5denx4bB5QF59+4UAm9oJ2qsPQZas/CQUDdtDdfvYHBdQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.3.tgz", + "integrity": "sha512-j3dZCri3cCd23wgPqK/0/KvTN8R+W6fXDqQe8BNLbTpONjbA8SPaRr+q0BQq9bx3Q/+g68/gDIh9FW3by702Tg==", "dev": true }, "map-cache": { @@ -8337,6 +8698,12 @@ "object-visit": "1.0.1" } }, + "marked": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.12.tgz", + "integrity": "sha512-k4NaW+vS7ytQn6MgJn3fYpQt20/mOgYM5Ft9BYMfQJDz2QT6yEeS9XJ8k2Nw8JTeWK/znPPW2n3UJGzyYEiMoA==", + "dev": true + }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", @@ -8387,7 +8754,7 @@ "dev": true, "requires": { "errno": "0.1.6", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "meow": { @@ -8510,7 +8877,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.10" } }, "minimist": { @@ -8538,9 +8905,9 @@ } }, "mixin-deep": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.0.tgz", - "integrity": "sha512-dgaCvoh6i1nosAUBKb0l0pfJ78K8+S9fluyIR2YvAeUD/QuMahnFnF3xYty5eYXMjhGSsB0DsW6A0uAZyetoAg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { "for-in": "1.0.2", @@ -8600,7 +8967,7 @@ "duplexer2": "0.1.4", "inherits": "2.0.3", "parents": "1.0.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "resolve": "1.5.0", "stream-combiner2": "1.1.1", "subarg": "1.0.0", @@ -8641,9 +9008,15 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, + "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=", + "dev": true + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -8707,6 +9080,18 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, "multipipe": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", @@ -8796,9 +9181,9 @@ "dev": true, "requires": { "@ngtools/json-schema": "1.1.0", - "autoprefixer": "7.2.5", + "autoprefixer": "7.2.6", "browserslist": "2.11.3", - "commander": "2.12.2", + "commander": "2.14.1", "cpx": "1.5.0", "fs-extra": "5.0.0", "glob": "7.1.2", @@ -8810,7 +9195,7 @@ "postcss-discard-comments": "2.0.4", "postcss-url": "7.3.0", "rimraf": "2.6.2", - "rollup": "0.55.3", + "rollup": "0.55.4", "rollup-plugin-cleanup": "2.0.0", "rollup-plugin-commonjs": "8.3.0", "rollup-plugin-license": "0.5.0", @@ -8819,7 +9204,7 @@ "sorcery": "0.10.0", "strip-bom": "3.0.0", "stylus": "0.54.5", - "uglify-js": "3.3.9" + "uglify-js": "3.3.10" }, "dependencies": { "fs-extra": { @@ -8841,6 +9226,12 @@ } } }, + "ngx-bootstrap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-2.0.2.tgz", + "integrity": "sha512-4ZTltcStUED2JzI9Hd1+FDaMQmukzbeBSS02hdTvuUJ+9hNtGLMSPGdPNRIniIyItzv3v3emJrAAtKkvOMxyCA==", + "dev": true + }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -8850,6 +9241,16 @@ "lower-case": "1.1.4" } }, + "node-fetch": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", + "dev": true, + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, "node-forge": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", @@ -8914,7 +9315,7 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "stream-browserify": "2.0.1", "stream-http": "2.8.0", "string_decoder": "1.0.3", @@ -8990,7 +9391,7 @@ "dev": true, "requires": { "chalk": "1.1.3", - "commander": "2.12.2", + "commander": "2.14.1", "is-my-json-valid": "2.17.1", "pinkie-promise": "2.0.1" } @@ -9397,6 +9798,180 @@ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, + "opencollective": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", + "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", + "dev": true, + "requires": { + "babel-polyfill": "6.23.0", + "chalk": "1.1.3", + "inquirer": "3.0.6", + "minimist": "1.2.0", + "node-fetch": "1.6.3", + "opn": "4.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "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" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "external-editor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "chalk": "1.1.3", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.5", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx": "4.1.0", + "string-width": "2.1.1", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "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" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + } + } + }, "opn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", @@ -9627,7 +10202,7 @@ "requires": { "cyclist": "0.2.2", "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "param-case": { @@ -9694,7 +10269,7 @@ "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "6.0.96" + "@types/node": "6.0.100" } }, "parseqs": { @@ -10535,9 +11110,9 @@ } }, "postcss-import": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.0.0.tgz", - "integrity": "sha1-qWLi34LTvFptpqOGhBdHIE9B71s=", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz", + "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", "dev": true, "requires": { "postcss": "6.0.17", @@ -10759,8 +11334,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000802", - "electron-to-chromium": "1.3.32" + "caniuse-db": "1.0.30000807", + "electron-to-chromium": "1.3.33" } }, "chalk": { @@ -11791,9 +12366,9 @@ "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==", "dev": true }, "promise": { @@ -11818,13 +12393,13 @@ "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=", "dev": true, "requires": { - "@types/node": "6.0.96", + "@types/node": "6.0.100", "@types/q": "0.0.32", "@types/selenium-webdriver": "2.53.43", "blocking-proxy": "0.0.5", "chalk": "1.1.3", "glob": "7.1.2", - "jasmine": "2.9.0", + "jasmine": "2.99.0", "jasminewd2": "2.2.0", "optimist": "0.6.1", "q": "1.4.1", @@ -12187,7 +12762,7 @@ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "read-pkg": { @@ -12252,15 +12827,15 @@ } }, "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.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", + "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -12274,7 +12849,7 @@ "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "set-immediate-shim": "1.0.1" } }, @@ -12642,10 +13217,13 @@ } }, "rollup": { - "version": "0.55.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.55.3.tgz", - "integrity": "sha512-2TgimJ7pk+XfPT0DmAcOqq9qdXlJ04qKyzyLm1WvPS/E6XdXEXyG5u6L8AsjxOaKoEBlYGliPzo99jxwhn2NYQ==", - "dev": true + "version": "0.55.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.55.4.tgz", + "integrity": "sha512-YICUunjj64Qc1QN8JJe/esTCpgWlaTWjzyGpKq1qEoSi0dIA8te9Rz186fCFPNj3Andap2CD3s3sFq1jKK+DrQ==", + "dev": true, + "requires": { + "opencollective": "1.0.3" + } }, "rollup-plugin-cleanup": { "version": "2.0.0", @@ -13133,17 +13711,6 @@ "jsonify": "0.0.0" } }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "7.1.2", - "interpret": "1.1.0", - "rechoir": "0.6.2" - } - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -13567,7 +14134,7 @@ "detect-node": "2.0.3", "hpack.js": "2.1.6", "obuf": "1.1.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "safe-buffer": "5.1.1", "wbuf": "1.7.2" } @@ -13642,9 +14209,9 @@ } }, "ssri": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.1.0.tgz", - "integrity": "sha512-TevC8fgxQKTfQ1nWtM9GNzr3q5rrHNntG9CDMH1k3QhSZI6Kb+NbjLRs8oPFZa2Hgo7zoekL+UTvoEk7tsbjQg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.2.1.tgz", + "integrity": "sha512-y4PjOWlAuxt+yAcXitQYOnOzZpKaH3+f/qGV3OWxbyC2noC9FA9GNC9uILnVdV7jruA1aDKr4OKz3ZDBcVZwFQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -13740,7 +14307,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "stream-browserify": { @@ -13750,7 +14317,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "stream-combiner": { @@ -13769,7 +14336,7 @@ "dev": true, "requires": { "duplexer2": "0.1.4", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" }, "dependencies": { "duplexer2": { @@ -13778,7 +14345,7 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } } } @@ -13801,7 +14368,7 @@ "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } @@ -13819,7 +14386,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" } }, "streamroller": { @@ -13831,7 +14398,7 @@ "date-format": "1.2.0", "debug": "3.1.0", "mkdirp": "0.5.1", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" }, "dependencies": { "debug": { @@ -14029,20 +14596,12 @@ "dev": true }, "syntax-error": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz", - "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, "requires": { - "acorn": "4.0.13" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } + "acorn-node": "1.3.0" } }, "tapable": { @@ -14086,7 +14645,7 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "xtend": "4.0.1" } }, @@ -14333,7 +14892,7 @@ "arrify": "1.0.1", "chalk": "2.3.0", "diff": "3.4.0", - "make-error": "1.3.2", + "make-error": "1.3.3", "minimist": "1.2.0", "mkdirp": "0.5.1", "source-map-support": "0.5.3", @@ -14377,16 +14936,16 @@ } }, "ts-simple-ast": { - "version": "0.97.1", - "resolved": "https://registry.npmjs.org/ts-simple-ast/-/ts-simple-ast-0.97.1.tgz", - "integrity": "sha1-uzAnrXdCKQdKc6ogByV4tT7Gz1g=", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ts-simple-ast/-/ts-simple-ast-6.12.0.tgz", + "integrity": "sha1-vSMtf8fj8f8SEYJVTeHkIW+SWC4=", "dev": true, "requires": { - "code-block-writer": "5.0.0", + "code-block-writer": "6.2.0", "globby": "6.1.0", - "minimatch": "3.0.4", + "multimatch": "2.1.0", "object-assign": "4.1.1", - "typescript": "2.6.1" + "typescript": "2.5.3" }, "dependencies": { "globby": { @@ -14407,12 +14966,6 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true - }, - "typescript": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.1.tgz", - "integrity": "sha1-7znN6ierrAtQAkLWcmq5DgyEZjE=", - "dev": true } } }, @@ -14471,7 +15024,7 @@ "babel-code-frame": "6.26.0", "builtin-modules": "1.1.1", "chalk": "2.3.0", - "commander": "2.12.2", + "commander": "2.14.1", "diff": "3.4.0", "glob": "7.1.2", "js-yaml": "3.7.0", @@ -14574,21 +15127,15 @@ "dev": true }, "uglify-js": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.9.tgz", - "integrity": "sha512-J2t8B5tj9JdPTW4+sNZXmiIWHzTvcoITkaqzTiilu/biZF/9crqf/Fi7k5hqbOmVRh9/hVNxAxBYIMF7N6SqMQ==", + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.10.tgz", + "integrity": "sha512-dNib7aUDNZFJNTXFyq0CDmLRVOsnY1F+IQgt2FAOdZFx2+LvKVLbbIb/fL+BYKCv3YH3bPCE/6M/JaxChtQLHQ==", "dev": true, "requires": { - "commander": "2.13.0", + "commander": "2.14.1", "source-map": "0.6.1" }, "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -14615,17 +15162,11 @@ "schema-utils": "0.4.3", "serialize-javascript": "1.4.0", "source-map": "0.6.1", - "uglify-es": "3.3.9", + "uglify-es": "3.3.10", "webpack-sources": "1.1.0", "worker-farm": "1.5.2" }, "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, "schema-utils": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", @@ -14643,12 +15184,12 @@ "dev": true }, "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.10.tgz", + "integrity": "sha512-rPzPisCzW68Okj1zNrfa2dR9uEm43SevDmpR6FChoZABFk9dANGnzzBMgHYUXI3609//63fnVkyQ1SQmAMyjww==", "dev": true, "requires": { - "commander": "2.13.0", + "commander": "2.14.1", "source-map": "0.6.1" } } @@ -14672,6 +15213,12 @@ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", "dev": true }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -14801,6 +15348,24 @@ } } }, + "upath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.0.tgz", + "integrity": "sha1-tHBrlGHKhHOt+JEz0jVonKF/NlY=", + "dev": true, + "requires": { + "lodash": "3.10.1", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -15200,7 +15765,7 @@ "dev": true, "requires": { "sax": "0.6.1", - "xmlbuilder": "9.0.4" + "xmlbuilder": "9.0.7" } } } @@ -15513,7 +16078,7 @@ "ansi-html": "0.0.7", "array-includes": "3.0.3", "bonjour": "3.5.0", - "chokidar": "2.0.0", + "chokidar": "2.0.1", "compression": "1.7.1", "connect-history-api-fallback": "1.5.0", "debug": "3.1.0", @@ -15587,9 +16152,9 @@ "dev": true }, "chokidar": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.0.tgz", - "integrity": "sha512-OgXCNv2U6TnG04D3tth0gsvdbV4zdbxFG3sYUqcoQMoEFVd1j1pZR6TZ8iknC45o9IJ6PeQI/J6wT/+cHcniAw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.1.tgz", + "integrity": "sha512-rv5iP8ENhpqvDWr677rAXcB+SMoPQ1urd4ch79+PhM4lQwbATdJUQK69t0lJIKNB+VXpqxt5V1gvqs59XEPKnw==", "dev": true, "requires": { "anymatch": "2.0.0", @@ -15602,7 +16167,8 @@ "is-glob": "4.0.0", "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "readdirp": "2.1.0", + "upath": "1.0.0" } }, "debug": { @@ -16031,13 +16597,13 @@ "dev": true, "requires": { "sax": "1.2.4", - "xmlbuilder": "9.0.4" + "xmlbuilder": "9.0.7" } }, "xmlbuilder": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", - "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true }, "xmlhttprequest-ssl": { diff --git a/package.json b/package.json index 566de1f7..fa6c5444 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@angular/animations": "^5.2.0", - "@angular/cli": "1.6.7", + "@angular/cli": "1.6.8", "@angular/common": "^5.2.0", "@angular/compiler": "^5.2.0", "@angular/compiler-cli": "^5.2.0", @@ -57,7 +57,7 @@ "@angular/platform-browser": "^5.2.0", "@angular/platform-browser-dynamic": "^5.2.0", "@angular/router": "^5.2.0", - "@compodoc/compodoc": "^1.0.5", + "@compodoc/compodoc": "^1.0.6", "@types/jasmine": "~2.8.3", "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", @@ -78,6 +78,7 @@ "karma-jasmine": "~1.1.0", "karma-jasmine-html-reporter": "^0.2.2", "ng-packagr": "^2.0.0", + "ngx-bootstrap": "^2.0.2", "protractor": "~5.1.2", "rxjs": "^5.5.6", "ts-node": "~4.1.0", diff --git a/src/app/ngx-editor/common/services/command-executor.service.ts b/src/app/ngx-editor/common/services/command-executor.service.ts index 3b79dbec..cd87003a 100644 --- a/src/app/ngx-editor/common/services/command-executor.service.ts +++ b/src/app/ngx-editor/common/services/command-executor.service.ts @@ -1,8 +1,11 @@ import { Injectable } from '@angular/core'; +import * as Utils from '../utils/ngx-editor.utils'; @Injectable() export class CommandExecutorService { + savedSelection: any = undefined; + /** * executes command from the toolbar * @@ -25,10 +28,10 @@ export class CommandExecutorService { return; } - if (command === 'link') { - this.createLink(); - return; - } + // if (command === 'link') { + // this.createLink(); + // return; + // } if (command === 'image') { this.insertImage(); @@ -49,24 +52,55 @@ export class CommandExecutorService { return; } - private createLink(): void { - const selection = document.getSelection(); + // private createLink(): void { + // const selection = document.getSelection(); - if (selection.anchorNode.parentElement.tagName === 'A') { - const linkURL = prompt('Enter URL', selection.anchorNode.parentElement.getAttribute('href')); - if (linkURL) { - document.execCommand('createLink', false, linkURL); - } - } else { - if (selection['type'] === 'None') { - throw new Error('No selection made'); + // if (selection.anchorNode.parentElement.tagName === 'A') { + // const linkURL = prompt('Enter URL', selection.anchorNode.parentElement.getAttribute('href')); + // if (linkURL) { + // document.execCommand('createLink', false, linkURL); + // } + // } else { + // if (selection['type'] === 'None') { + // throw new Error('No selection made'); + // } else { + // const linkURL = prompt('Enter URL', 'http://'); + // if (linkURL) { + // document.execCommand('createLink', false, linkURL); + // } + // } + // } + // return; + // } + + createLink(params: any): void { + + if (this.savedSelection) { + /** + * check whether the saved selection contains a range or plain selection + */ + if (params.urlNewTab) { + const newUrl = '' + params.urlText + ''; + + if (document.getSelection().type !== 'Range') { + const restored = Utils.restoreSelection(this.savedSelection); + if (restored) { + document.execCommand('insertHTML', false, newUrl); + } + document.execCommand('insertHTML', false, newUrl); + } else { + throw new Error('Only new links can be inserted. You cannot edit URL`s'); + } } else { - const linkURL = prompt('Enter URL', 'http://'); - if (linkURL) { - document.execCommand('createLink', false, linkURL); + const restored = Utils.restoreSelection(this.savedSelection); + if (restored) { + document.execCommand('createLink', false, params.urlLink); } } + } else { + throw new Error('Range out of the editor'); } + return; } diff --git a/src/app/ngx-editor/common/utils/ngx-editor.utils.ts b/src/app/ngx-editor/common/utils/ngx-editor.utils.ts index d6acedc7..52f37cfe 100644 --- a/src/app/ngx-editor/common/utils/ngx-editor.utils.ts +++ b/src/app/ngx-editor/common/utils/ngx-editor.utils.ts @@ -59,3 +59,40 @@ export function canResize(resizer: string): any { } return false; } + +/** + * save selection when the editor is focussed out + */ +export function saveSelection(): any { + if (window.getSelection) { + const sel = window.getSelection(); + if (sel.getRangeAt && sel.rangeCount) { + return sel.getRangeAt(0); + } + } else if (document.getSelection && document.createRange) { + return document.createRange(); + } + return null; +} + +/** + * restore selection when the editor is focussed in + * + * @param range saved selection when the editor is focussed out + */ +export function restoreSelection(range): boolean { + if (range) { + if (window.getSelection) { + const sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + return true; + } else if (document.getSelection && range.select) { + range.select(); + return true; + } + } else { + return false; + } +} + diff --git a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.html b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.html index a2d322e4..bb9365e9 100644 --- a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.html +++ b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.html @@ -104,8 +104,8 @@
-
+ + + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
diff --git a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.scss b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.scss index c30b3a96..22b4483a 100644 --- a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.scss +++ b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.scss @@ -51,3 +51,41 @@ } } } + +::ng-deep .ngxe-popover-form { + min-width: 15rem; + + .form-group { + label { + display: none; + margin: 0; + } + + .form-control-sm { + width: 100%; + outline: none; + border: none; + border-bottom: solid 1px #bdbdbd; + border-radius: 0; + margin-bottom: 1px; + padding-left: 0; + padding-right: 0; + + &:focus, &:active { + border-bottom: 2px solid #1e88e5; + box-shadow: none; + margin-bottom: 0; + } + } + } + + .form-check { + margin-bottom: 1rem; + } + + .btn { + &:focus { + box-shadow: none !important; + } + } +} diff --git a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.spec.ts b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.spec.ts index 405aee4e..36adddfa 100644 --- a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.spec.ts +++ b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.spec.ts @@ -1,7 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgxEditorToolbarComponent } from './ngx-editor-toolbar.component'; import { ngxEditorConfig } from '../common/ngx-editor.defaults'; +import { PopoverModule } from 'ngx-bootstrap'; +import { CommandExecutorService } from '../common/services/command-executor.service'; +import { MessageService } from '../common/services/message.service'; describe('NgxEditorToolbarComponent', () => { let component: NgxEditorToolbarComponent; @@ -9,7 +12,9 @@ describe('NgxEditorToolbarComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [NgxEditorToolbarComponent] + imports: [FormsModule, ReactiveFormsModule, PopoverModule.forRoot()], + declarations: [NgxEditorToolbarComponent], + providers: [CommandExecutorService, MessageService] }) .compileComponents(); })); diff --git a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.ts b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.ts index 1c4ca92c..5634ad56 100644 --- a/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.ts +++ b/src/app/ngx-editor/ngx-editor-toolbar/ngx-editor-toolbar.component.ts @@ -1,24 +1,39 @@ -import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { Component, Input, Output, EventEmitter, OnInit, ViewChild } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { PopoverConfig } from 'ngx-bootstrap'; +import { CommandExecutorService } from '../common/services/command-executor.service'; +import { MessageService } from '../common/services/message.service'; import * as Utils from '../common/utils/ngx-editor.utils'; @Component({ selector: 'app-ngx-editor-toolbar', templateUrl: './ngx-editor-toolbar.component.html', - styleUrls: ['./ngx-editor-toolbar.component.scss'] + styleUrls: ['./ngx-editor-toolbar.component.scss'], + providers: [PopoverConfig] }) -export class NgxEditorToolbarComponent { +export class NgxEditorToolbarComponent implements OnInit { + + urlForm: FormGroup; /** * Editor configuration */ @Input() config: any; + @ViewChild('urlPopover') urlPopover; /** * Emits an event when a toolbar button is clicked */ @Output() execute: EventEmitter = new EventEmitter(); - constructor() { } + constructor(private _popOverConfig: PopoverConfig, + private _formBuilder: FormBuilder, + private _messageService: MessageService, + private _commandExecutorService: CommandExecutorService) { + this._popOverConfig.outsideClick = true; + this._popOverConfig.placement = 'bottom'; + this._popOverConfig.container = 'body'; + } /** * enable or diable toolbar based on configuration @@ -38,4 +53,33 @@ export class NgxEditorToolbarComponent { this.execute.emit(command); } + /** + * create URL insert form + */ + buildUrlForm(): void { + this.urlForm = this._formBuilder.group({ + urlLink: ['', [Validators.required]], + urlText: ['', [Validators.required]], + urlNewTab: [true] + }); + } + + /** + * insert link + */ + insertLink() { + + try { + this._commandExecutorService.createLink(this.urlForm.value); + } catch (error) { + this._messageService.sendMessage(error.message); + } + + this.urlPopover.hide(); + } + + ngOnInit() { + this.buildUrlForm(); + } + } diff --git a/src/app/ngx-editor/ngx-editor.component.spec.ts b/src/app/ngx-editor/ngx-editor.component.spec.ts index 51232d3b..9622ab88 100644 --- a/src/app/ngx-editor/ngx-editor.component.spec.ts +++ b/src/app/ngx-editor/ngx-editor.component.spec.ts @@ -1,9 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgxEditorComponent } from './ngx-editor.component'; import { NgxGrippieComponent } from './ngx-grippie/ngx-grippie.component'; import { NgxEditorToolbarComponent } from './ngx-editor-toolbar/ngx-editor-toolbar.component'; import { NgxEditorMessageComponent } from './ngx-editor-message/ngx-editor-message.component'; +import { PopoverModule } from 'ngx-bootstrap'; import { MessageService } from './common/services/message.service'; import { CommandExecutorService } from './common/services/command-executor.service'; @@ -13,6 +14,7 @@ describe('NgxEditorComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ + imports: [FormsModule, ReactiveFormsModule, PopoverModule.forRoot()], providers: [MessageService, CommandExecutorService], declarations: [NgxEditorComponent, NgxGrippieComponent, diff --git a/src/app/ngx-editor/ngx-editor.component.ts b/src/app/ngx-editor/ngx-editor.component.ts index 950ce8ff..5e8ec09a 100644 --- a/src/app/ngx-editor/ngx-editor.component.ts +++ b/src/app/ngx-editor/ngx-editor.component.ts @@ -157,6 +157,9 @@ export class NgxEditorComponent implements OnInit, ControlValueAccessor { onBlur(): void { + /** save selection if focussed out */ + this._commandExecutor.savedSelection = Utils.saveSelection(); + if (typeof this.onTouched === 'function') { this.onTouched(); } diff --git a/src/app/ngx-editor/ngx-editor.module.ts b/src/app/ngx-editor/ngx-editor.module.ts index 0f01e5c4..bed8cd40 100644 --- a/src/app/ngx-editor/ngx-editor.module.ts +++ b/src/app/ngx-editor/ngx-editor.module.ts @@ -1,21 +1,19 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; - -// components +import { ReactiveFormsModule } from '@angular/forms'; +import { PopoverModule } from 'ngx-bootstrap'; import { NgxEditorComponent } from './ngx-editor.component'; import { NgxGrippieComponent } from './ngx-grippie/ngx-grippie.component'; import { NgxEditorMessageComponent } from './ngx-editor-message/ngx-editor-message.component'; import { NgxEditorToolbarComponent } from './ngx-editor-toolbar/ngx-editor-toolbar.component'; - -// services import { MessageService } from './common/services/message.service'; import { CommandExecutorService } from './common/services/command-executor.service'; @NgModule({ - imports: [CommonModule, FormsModule], + imports: [CommonModule, FormsModule, ReactiveFormsModule, PopoverModule.forRoot()], declarations: [NgxEditorComponent, NgxGrippieComponent, NgxEditorMessageComponent, NgxEditorToolbarComponent], - exports: [NgxEditorComponent], + exports: [NgxEditorComponent, PopoverModule], providers: [CommandExecutorService, MessageService] })