From dc8d1fdb28e6c90edbf828de7da6cd026388cb00 Mon Sep 17 00:00:00 2001 From: Adam Plumer Date: Mon, 26 Feb 2018 18:27:29 -0500 Subject: [PATCH] refactor(lib): change package structure to allow for entrypoints * Add entrypoints for core, flex, and extended. All entrypoints have a module that can be imported separately * Remove the BiDi clone from the CDK and add a direct/peer dependency --- build-config.js | 7 + package-lock.json | 1 - package.json | 2 +- src/apps/demo-app/package-lock.json | 3539 +++++++++-------- src/apps/universal-app/package-lock.json | 1164 ++++-- src/apps/universal-app/package.json | 9 +- src/lib/api/index.ts | 26 - src/lib/bidi/README.md | 6 - src/lib/bidi/bidi-module.ts | 23 - src/lib/bidi/bidi.md | 39 - src/lib/bidi/dir.ts | 63 - src/lib/bidi/directionality.spec.ts | 121 - src/lib/bidi/directionality.ts | 55 - src/lib/core/README.md | 25 + src/lib/{utils => core}/add-alias.ts | 6 +- .../core => core/base}/base-adapter.spec.ts | 4 +- .../{api/core => core/base}/base-adapter.ts | 8 +- src/lib/{api/core => core/base}/base.ts | 8 +- .../public-api.ts => core/base/index.ts} | 5 +- .../breakpoints/break-point-registry.spec.ts | 0 .../breakpoints/break-point-registry.ts | 0 .../breakpoints/break-point.ts | 0 .../breakpoints/break-points-provider.ts | 2 +- .../breakpoints/break-points-token.ts | 0 .../breakpoints}/breakpoint-tools.spec.ts | 6 +- .../breakpoints}/breakpoint-tools.ts | 4 +- .../breakpoints/data/break-points.spec.ts | 0 .../breakpoints/data/break-points.ts | 0 .../data/orientation-break-points.spec.ts | 0 .../data/orientation-break-points.ts | 0 src/lib/core/breakpoints/index.ts | 15 + .../styling => core}/browser-provider.ts | 0 src/lib/{bidi => core}/index.ts | 0 .../styling => core/match-media}/index.ts | 8 +- .../match-media}/match-media.spec.ts | 12 +- .../match-media}/match-media.ts | 2 +- .../mock/mock-match-media.spec.ts | 8 +- .../match-media}/mock/mock-match-media.ts | 2 +- .../match-media}/server-match-media.ts | 5 +- src/lib/{media-query => core}/media-change.ts | 0 src/lib/core/media-monitor/index.ts | 10 + .../media-monitor}/media-monitor-provider.ts | 4 +- .../media-monitor}/media-monitor.spec.ts | 12 +- .../media-monitor}/media-monitor.ts | 15 +- .../_module.ts => core/module.ts} | 6 +- src/lib/core/observable-media/index.ts | 10 + .../observable-media-provider.ts | 10 +- .../observable-media.spec.ts | 16 +- .../observable-media}/observable-media.ts | 13 +- src/lib/core/public-api.ts | 22 + src/lib/{api => }/core/renderer-adapter.ts | 0 .../responsive-activation.spec.ts | 16 +- .../responsive-activation.ts | 9 +- .../styling => core}/server-stylesheet.ts | 0 .../{utils/styling => core}/server-token.ts | 0 .../style-utils}/style-utils.spec.ts | 6 +- .../style-utils}/style-utils.ts | 6 +- src/lib/core/tsconfig-build.json | 15 + src/lib/extended/README.md | 18 + .../{api/ext => extended/class}/class.spec.ts | 22 +- src/lib/{api/ext => extended/class}/class.ts | 14 +- .../ext => extended/img-src}/img-src.spec.ts | 15 +- .../{api/ext => extended/img-src}/img-src.ts | 10 +- src/lib/extended/index.ts | 9 + src/lib/extended/module.ts | 46 + src/lib/extended/public-api.ts | 14 + .../ext => extended/show-hide}/hide.spec.ts | 21 +- .../ext => extended/show-hide}/show-hide.ts | 16 +- .../ext => extended/show-hide}/show.spec.ts | 19 +- .../style}/style-transforms.spec.ts | 2 +- .../style}/style-transforms.ts | 0 .../{api/ext => extended/style}/style.spec.ts | 20 +- src/lib/{api/ext => extended/style}/style.ts | 17 +- src/lib/extended/tsconfig-build.json | 15 + src/lib/flex/README.md | 19 + .../flexbox => flex/flex-align}/flex-align.ts | 5 +- .../flexbox => flex/flex-fill}/flex-fill.ts | 4 +- .../flex-offset}/flex-offset.spec.ts | 18 +- .../flex-offset}/flex-offset.ts | 10 +- .../flexbox => flex/flex-order}/flex-order.ts | 5 +- .../{api/flexbox => flex/flex}/flex.spec.ts | 20 +- src/lib/{api/flexbox => flex/flex}/flex.ts | 10 +- src/lib/flex/index.ts | 9 + .../layout-align}/layout-align.spec.ts | 16 +- .../layout-align}/layout-align.ts | 10 +- .../layout-gap}/layout-gap.spec.ts | 17 +- .../flexbox => flex/layout-gap}/layout-gap.ts | 9 +- .../flexbox => flex/layout}/layout.spec.ts | 15 +- .../{api/flexbox => flex/layout}/layout.ts | 8 +- src/lib/flex/module.ts | 55 + src/lib/flex/public-api.ts | 18 + src/lib/flex/tsconfig-build.json | 15 + src/lib/media-query/index.ts | 25 - src/lib/module.ts | 57 +- src/lib/package.json | 1 + src/lib/public-api.ts | 7 +- src/lib/server/server-provider.ts | 5 +- src/lib/server/tsconfig-build.json | 13 +- src/lib/utils/index.ts | 3 - src/lib/utils/testing/custom-matchers.ts | 2 +- test/karma-test-shim.js | 6 +- tools/gulp/tasks/aot.ts | 19 +- tools/gulp/tasks/unit-test-ssr.ts | 7 +- tools/gulp/tasks/universal.ts | 31 +- tools/package-tools/build-config.ts | 2 + tools/package-tools/build-package.ts | 12 +- tools/package-tools/rollup-globals.ts | 1 + tools/package-tools/version-placeholders.ts | 9 +- 108 files changed, 3296 insertions(+), 2770 deletions(-) delete mode 100644 src/lib/api/index.ts delete mode 100644 src/lib/bidi/README.md delete mode 100644 src/lib/bidi/bidi-module.ts delete mode 100644 src/lib/bidi/bidi.md delete mode 100644 src/lib/bidi/dir.ts delete mode 100644 src/lib/bidi/directionality.spec.ts delete mode 100644 src/lib/bidi/directionality.ts create mode 100644 src/lib/core/README.md rename src/lib/{utils => core}/add-alias.ts (75%) rename src/lib/{api/core => core/base}/base-adapter.spec.ts (92%) rename src/lib/{api/core => core/base}/base-adapter.ts (93%) rename src/lib/{api/core => core/base}/base.ts (96%) rename src/lib/{bidi/public-api.ts => core/base/index.ts} (60%) rename src/lib/{media-query => core}/breakpoints/break-point-registry.spec.ts (100%) rename src/lib/{media-query => core}/breakpoints/break-point-registry.ts (100%) rename src/lib/{media-query => core}/breakpoints/break-point.ts (100%) rename src/lib/{media-query => core}/breakpoints/break-points-provider.ts (97%) rename src/lib/{media-query => core}/breakpoints/break-points-token.ts (100%) rename src/lib/{utils => core/breakpoints}/breakpoint-tools.spec.ts (95%) rename src/lib/{utils => core/breakpoints}/breakpoint-tools.ts (94%) rename src/lib/{media-query => core}/breakpoints/data/break-points.spec.ts (100%) rename src/lib/{media-query => core}/breakpoints/data/break-points.ts (100%) rename src/lib/{media-query => core}/breakpoints/data/orientation-break-points.spec.ts (100%) rename src/lib/{media-query => core}/breakpoints/data/orientation-break-points.ts (100%) create mode 100644 src/lib/core/breakpoints/index.ts rename src/lib/{utils/styling => core}/browser-provider.ts (100%) rename src/lib/{bidi => core}/index.ts (100%) rename src/lib/{utils/styling => core/match-media}/index.ts (54%) rename src/lib/{media-query => core/match-media}/match-media.spec.ts (94%) rename src/lib/{media-query => core/match-media}/match-media.ts (99%) rename src/lib/{media-query => core/match-media}/mock/mock-match-media.spec.ts (96%) rename src/lib/{media-query => core/match-media}/mock/mock-match-media.ts (98%) rename src/lib/{media-query => core/match-media}/server-match-media.ts (97%) rename src/lib/{media-query => core}/media-change.ts (100%) create mode 100644 src/lib/core/media-monitor/index.ts rename src/lib/{media-query => core/media-monitor}/media-monitor-provider.ts (88%) rename src/lib/{media-query => core/media-monitor}/media-monitor.spec.ts (92%) rename src/lib/{media-query => core/media-monitor}/media-monitor.ts (92%) rename src/lib/{media-query/_module.ts => core/module.ts} (84%) create mode 100644 src/lib/core/observable-media/index.ts rename src/lib/{media-query => core/observable-media}/observable-media-provider.ts (85%) rename src/lib/{media-query => core/observable-media}/observable-media.spec.ts (94%) rename src/lib/{media-query => core/observable-media}/observable-media.ts (95%) create mode 100644 src/lib/core/public-api.ts rename src/lib/{api => }/core/renderer-adapter.ts (100%) rename src/lib/{api/core => core/responsive-activation}/responsive-activation.spec.ts (91%) rename src/lib/{api/core => core/responsive-activation}/responsive-activation.ts (96%) rename src/lib/{utils/styling => core}/server-stylesheet.ts (100%) rename src/lib/{utils/styling => core}/server-token.ts (100%) rename src/lib/{utils/styling => core/style-utils}/style-utils.spec.ts (92%) rename src/lib/{utils/styling => core/style-utils}/style-utils.ts (96%) create mode 100644 src/lib/core/tsconfig-build.json create mode 100644 src/lib/extended/README.md rename src/lib/{api/ext => extended/class}/class.spec.ts (97%) rename src/lib/{api/ext => extended/class}/class.ts (94%) rename src/lib/{api/ext => extended/img-src}/img-src.spec.ts (95%) rename src/lib/{api/ext => extended/img-src}/img-src.ts (95%) create mode 100644 src/lib/extended/index.ts create mode 100644 src/lib/extended/module.ts create mode 100644 src/lib/extended/public-api.ts rename src/lib/{api/ext => extended/show-hide}/hide.spec.ts (93%) rename src/lib/{api/ext => extended/show-hide}/show-hide.ts (95%) rename src/lib/{api/ext => extended/show-hide}/show.spec.ts (92%) rename src/lib/{utils/styling => extended/style}/style-transforms.spec.ts (96%) rename src/lib/{utils/styling => extended/style}/style-transforms.ts (100%) rename src/lib/{api/ext => extended/style}/style.spec.ts (90%) rename src/lib/{api/ext => extended/style}/style.ts (95%) create mode 100644 src/lib/extended/tsconfig-build.json create mode 100644 src/lib/flex/README.md rename src/lib/{api/flexbox => flex/flex-align}/flex-align.ts (94%) rename src/lib/{api/flexbox => flex/flex-fill}/flex-fill.ts (83%) rename src/lib/{api/flexbox => flex/flex-offset}/flex-offset.spec.ts (93%) rename src/lib/{api/flexbox => flex/flex-offset}/flex-offset.ts (94%) rename src/lib/{api/flexbox => flex/flex-order}/flex-order.ts (94%) rename src/lib/{api/flexbox => flex/flex}/flex.spec.ts (97%) rename src/lib/{api/flexbox => flex/flex}/flex.ts (97%) create mode 100644 src/lib/flex/index.ts rename src/lib/{api/flexbox => flex/layout-align}/layout-align.spec.ts (96%) rename src/lib/{api/flexbox => flex/layout-align}/layout-align.ts (96%) rename src/lib/{api/flexbox => flex/layout-gap}/layout-gap.spec.ts (96%) rename src/lib/{api/flexbox => flex/layout-gap}/layout-gap.ts (95%) rename src/lib/{api/flexbox => flex/layout}/layout.spec.ts (96%) rename src/lib/{api/flexbox => flex/layout}/layout.ts (95%) create mode 100644 src/lib/flex/module.ts create mode 100644 src/lib/flex/public-api.ts create mode 100644 src/lib/flex/tsconfig-build.json delete mode 100644 src/lib/media-query/index.ts diff --git a/build-config.js b/build-config.js index 38dfcf123..7d79fd3b2 100644 --- a/build-config.js +++ b/build-config.js @@ -15,6 +15,12 @@ const buildVersion = package.version; */ const angularVersion = '^5.0.0'; +/** + * Required Angular CDK version for all Angular Layout packages. This version will be used + * as the peer dependency version for Angular CDK in all release packages. + */ +const cdkVersion = '^5.0.0'; + /** License that will be placed inside of all created bundles. */ const buildLicense = `/** * @license @@ -27,6 +33,7 @@ const buildLicense = `/** module.exports = { projectVersion: buildVersion, angularVersion: angularVersion, + cdkVersion: cdkVersion, projectDir: __dirname, packagesDir: join(__dirname, 'src'), outputDir: join(__dirname, 'dist'), diff --git a/package-lock.json b/package-lock.json index 938aca426..135a3cca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.2.0.tgz", "integrity": "sha1-Q2j2dJ6RXNzHXTJa4z/bP4WogQg=", - "dev": true, "requires": { "tslib": "1.8.1" } diff --git a/package.json b/package.json index 67d40a866..c7e48bcb1 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "node": ">= 5.4.1" }, "dependencies": { + "@angular/cdk": "^5.2.0", "@angular/core": "~5.2.0", "@angular/common": "~5.2.0", "@angular/compiler": "~5.2.0", @@ -40,7 +41,6 @@ }, "devDependencies": { "@angular/animations": "~5.2.0", - "@angular/cdk": "^5.2.0", "@angular/compiler-cli": "~5.2.0", "@angular/forms": "~5.2.0", "@angular/http": "~5.2.0", diff --git a/src/apps/demo-app/package-lock.json b/src/apps/demo-app/package-lock.json index 768d46438..6a17f58d9 100644 --- a/src/apps/demo-app/package-lock.json +++ b/src/apps/demo-app/package-lock.json @@ -39,8 +39,8 @@ } }, "@angular/animations": { - "version": "file:https:/registry.npmjs.org/@angular/animations/-/animations-5.2.0.tgz", - "integrity": "sha512-JLR42YHiJppO4ruAkFxgbzghUDtHkXHkKPM8udd2qyt16T7e1OX7EEOrrmldUu59CC56tZnJ/32p4SrYmxyBSA==", + "version": "file:https:/registry.npmjs.org/@angular/animations/-/animations-5.2.6.tgz", + "integrity": "sha512-LMfg1NYTPPu+mEweOcwWEHM7Aaw7OnzjGE7UeUGYHd4ujQlOc8f6u4Z0X4Wfo4vIpHIz8ClNKbSuQ8+5S4Ofsg==", "requires": { "tslib": "1.9.0" }, @@ -80,23 +80,23 @@ "chalk": "2.2.2", "circular-dependency-plugin": "4.4.0", "common-tags": "1.7.2", - "copy-webpack-plugin": "4.4.1", + "copy-webpack-plugin": "4.5.0", "core-object": "3.1.5", - "css-loader": "0.28.9", + "css-loader": "0.28.10", "cssnano": "3.10.0", "denodeify": "1.2.1", "ember-cli-string-utils": "1.1.0", "exports-loader": "0.6.4", "extract-text-webpack-plugin": "3.0.2", - "file-loader": "1.1.7", + "file-loader": "1.1.11", "fs-extra": "4.0.3", "glob": "7.1.2", "html-webpack-plugin": "2.30.1", "istanbul-instrumenter-loader": "3.0.0", "karma-source-map-support": "1.2.0", "less": "2.7.3", - "less-loader": "4.0.5", - "license-webpack-plugin": "1.1.1", + "less-loader": "4.0.6", + "license-webpack-plugin": "1.1.2", "loader-utils": "1.1.0", "lodash": "4.17.5", "memory-fs": "0.4.1", @@ -107,32 +107,32 @@ "opn": "5.1.0", "portfinder": "1.0.13", "postcss-import": "11.1.0", - "postcss-loader": "2.1.0", - "postcss-url": "7.3.0", + "postcss-loader": "2.1.1", + "postcss-url": "7.3.1", "raw-loader": "0.5.1", "resolve": "1.5.0", "rxjs": "5.5.6", - "sass-loader": "6.0.6", + "sass-loader": "6.0.7", "semver": "5.5.0", "silent-error": "1.1.0", "source-map-loader": "0.2.3", "source-map-support": "0.4.18", "style-loader": "0.13.2", "stylus": "0.54.5", - "stylus-loader": "3.0.1", - "uglifyjs-webpack-plugin": "1.2.0", + "stylus-loader": "3.0.2", + "uglifyjs-webpack-plugin": "1.2.2", "url-loader": "0.6.2", "webpack": "3.10.0", "webpack-dev-middleware": "1.12.2", - "webpack-dev-server": "2.11.1", - "webpack-merge": "4.1.1", + "webpack-dev-server": "2.11.2", + "webpack-merge": "4.1.2", "webpack-sources": "1.1.0", "webpack-subresource-integrity": "1.0.4" } }, "@angular/common": { - "version": "file:https:/registry.npmjs.org/@angular/common/-/common-5.2.0.tgz", - "integrity": "sha512-yMFn2isC7/XOs56/2Kzzbb1AASHiwipAPOVFtKe7TdZQClO8fJXwCnk326rzr615+CG0eSBNQWeiFGyWN2riBA==", + "version": "file:https:/registry.npmjs.org/@angular/common/-/common-5.2.6.tgz", + "integrity": "sha512-gJrUKW9rDeVGP0pBNGDEEP/U+vBtgIVd1+52X5mc+dNFuUQdQ2kNTK5+fbDfwVstEWE86gloHlG2GS2Ga94R3Q==", "requires": { "tslib": "1.9.0" }, @@ -144,8 +144,8 @@ } }, "@angular/compiler": { - "version": "file:https:/registry.npmjs.org/@angular/compiler/-/compiler-5.2.0.tgz", - "integrity": "sha512-RfYa4ESgjGX0T0ob/Xz00IF7nd2xZkoyRy6oKgL82q42uzB3xZUDMrFNgeGxAUs3H22IkL46/5SSPOMOTMZ0NA==", + "version": "file:https:/registry.npmjs.org/@angular/compiler/-/compiler-5.2.6.tgz", + "integrity": "sha512-RVIIIbCmJwkfmL1jYmwTV2ve5k2JaNqVXKg8eT/wWiaCeqqZOydbIdcBUfgRxqn4ABZYgaeDNmjrsMl6acKv0A==", "requires": { "tslib": "1.9.0" }, @@ -157,14 +157,14 @@ } }, "@angular/compiler-cli": { - "version": "file:https:/registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.0.tgz", - "integrity": "sha512-+Kef4NjuHwLj2hRPdVo4yAtPmv+kn0Nu/ShmKfaEK4mt9aaQMFxKNt6beUuDK5iUPMB5nuTCZ4bqEFpqd+EtxQ==", + "version": "file:https:/registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.6.tgz", + "integrity": "sha512-HKA6AvM6LZVkNFEDoQ9cRzPkiUpLIuJ+ndACg8cXkEDV30FetBiNC2p8viB14fdSzcuTnU+MULODhW/Tk3OAqA==", "dev": true, "requires": { "chokidar": "1.7.0", "minimist": "1.2.0", "reflect-metadata": "0.1.12", - "tsickle": "0.26.0" + "tsickle": "0.27.2" }, "dependencies": { "anymatch": { @@ -242,972 +242,984 @@ "is-glob": "2.0.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "bundled": true, - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "extglob": { - "version": "0.3.2", - "bundled": true, - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "bundled": true, - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "for-in": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "for-own": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "fsevents": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" }, "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", + "fsevents": { + "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "nan": "2.9.2", + "node-pre-gyp": "0.6.39" }, "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { "version": "1.0.0", "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, "dev": true, "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "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" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { "version": "1.0.0", "bundled": true, "dev": true, "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "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" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { "version": "1.0.0", "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "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" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, "dev": true, "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", "bundled": true, "dev": true, "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "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.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "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", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "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.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true } } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "fsevents": { + "version": "", + "bundled": true, + "dependencies": { + "jsprim": { + "version": "", + "bundled": true } } }, @@ -1355,22 +1367,11 @@ "dev": true }, "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } + "version": "", + "bundled": true }, "nan": { - "version": "2.8.0", + "version": "2.9.2", "bundled": true, "dev": true, "optional": true @@ -1519,16 +1520,16 @@ "dev": true }, "source-map": { - "version": "0.5.7", + "version": "0.6.1", "bundled": true, "dev": true }, "source-map-support": { - "version": "0.4.18", + "version": "0.5.3", "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "0.6.1" } }, "string_decoder": { @@ -1540,14 +1541,31 @@ } }, "tsickle": { - "version": "0.26.0", + "version": "0.27.2", "bundled": true, "dev": true, "requires": { "minimist": "1.2.0", "mkdirp": "0.5.1", - "source-map": "0.5.7", - "source-map-support": "0.4.18" + "source-map": "0.6.1", + "source-map-support": "0.5.3" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + } + } + } } }, "util-deprecate": { @@ -1558,8 +1576,8 @@ } }, "@angular/core": { - "version": "file:https:/registry.npmjs.org/@angular/core/-/core-5.2.0.tgz", - "integrity": "sha512-s2ne45DguNUubhC1YgybGECC4Tyx3G4EZCntUiRMDWWkmKXSK+6dgHMesyDo8R5Oat8VfN4Anf8l3JHS1He8kg==", + "version": "file:https:/registry.npmjs.org/@angular/core/-/core-5.2.6.tgz", + "integrity": "sha512-BOkF7RM4VcqfIlQeOz17FucfocUmyZBsGIWxVSggeCBz2pQDyOUJ1IqrDh5c4yldW9G4Gjhhn/AkPykvPevI3w==", "requires": { "tslib": "1.9.0" }, @@ -1583,8 +1601,8 @@ } }, "@angular/forms": { - "version": "file:https:/registry.npmjs.org/@angular/forms/-/forms-5.2.0.tgz", - "integrity": "sha512-g1/SF9lY0ZwzJ0w4NXbFsTGGEuUdgtaZny8DmkaqtmA7idby3FW398X0tv25KQfVYKtL+p9Jp1Y8EI0CvrIsvw==", + "version": "file:https:/registry.npmjs.org/@angular/forms/-/forms-5.2.6.tgz", + "integrity": "sha512-Zo0uADD9nx6esfRx7oLLqw4uiA4zjvBh+MVeJj6ZfL7TYOJzLYyawt4qsvJFQ02tweldjs/duWaaf4tLHf6L0g==", "requires": { "tslib": "1.9.0" }, @@ -1596,8 +1614,8 @@ } }, "@angular/http": { - "version": "file:https:/registry.npmjs.org/@angular/http/-/http-5.2.0.tgz", - "integrity": "sha512-V5Cl24dP3rCXTTQvDc0TIKoWqBRAa0DWAQbtr7iuDAt5a1vPGdKz5K1sEiiV6ziwX6gzjiwHjUvL+B+WbIUrQA==", + "version": "file:https:/registry.npmjs.org/@angular/http/-/http-5.2.6.tgz", + "integrity": "sha512-8ecA0HrDY88vO9YKl6aG82budd0+vwFoECmZ9xRCiNu+HqlgJ7siyLzwdjllmoi90pJbvhQITytfy2zEmDBNIA==", "requires": { "tslib": "1.9.0" }, @@ -1609,9 +1627,9 @@ } }, "@angular/language-service": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.5.tgz", - "integrity": "sha512-UWNbECu8svXmrgbTL03Fr+Dn06aPCZZLScmCOGVT5lkdsiJPAJpWAvKVM2Y0nzH0PmvekHw7INtV5lwfJOijYQ==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.7.tgz", + "integrity": "sha512-Tqd9ll6QBSKa2PKzhbyRiKfKZh4MOB6um3aiedC+m3IBB8zMgrY+EJbfP/SN52LsZdShEnLjuKcBZG0eqTjgEQ==", "dev": true }, "@angular/material": { @@ -1628,8 +1646,8 @@ } }, "@angular/platform-browser": { - "version": "file:https:/registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.0.tgz", - "integrity": "sha512-c6cR15MfopPwGZ097HdRuAi9+R9BhA3bRRFpP2HmrSSB/BW4ZNovUYwB2QUMSYbd9s0lYTtnavqGm6DKcyF2QA==", + "version": "file:https:/registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.6.tgz", + "integrity": "sha512-5jP0TeOCCM2SfXjC8306x6p3hdj7+GLuWsXuKyqozqdnr69RKI0vssY0XUzU0If/YsLWVoW/aY6wuiF8ybfIuA==", "requires": { "tslib": "1.9.0" }, @@ -1641,8 +1659,8 @@ } }, "@angular/platform-browser-dynamic": { - "version": "file:https:/registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.0.tgz", - "integrity": "sha512-xG1eNoi8sm4Jcly2y98r5mqYVe3XV8sUJCtOhvGBYtvt4dKEQ5tOns6fWQ0nUbl6Vv3Y0xgGUS1JCtfut3DuaQ==", + "version": "file:https:/registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.6.tgz", + "integrity": "sha512-forNn/W2nYDGfHTw7qWX20d6FCICeI1hYoGGAXcjuODmFix1ebzFaxG1IOzGZqf/J3Zj43pEMdPMEp5tiukSVA==", "requires": { "tslib": "1.9.0" }, @@ -1654,8 +1672,8 @@ } }, "@angular/platform-server": { - "version": "file:https:/registry.npmjs.org/@angular/platform-server/-/platform-server-5.2.0.tgz", - "integrity": "sha512-+SS2IcLgjAF553+0U09hB44A+/mbSQ7mrE4Hjm1m7YslpyzM3P5fO9Sfu49QbucaxePc6YjpkxpxP4FJoj9jzA==", + "version": "file:https:/registry.npmjs.org/@angular/platform-server/-/platform-server-5.2.6.tgz", + "integrity": "sha512-6UMPu4GoLWw4rCkK/YDb4pPqPApW1BTwkt6IoNzlsKDYAJ1h6EYykbguv+aX4YPO1QJB3uvxdCJdLfDFSAWVJA==", "requires": { "domino": "1.0.30", "tslib": "1.9.0", @@ -1677,8 +1695,8 @@ } }, "@angular/router": { - "version": "file:https:/registry.npmjs.org/@angular/router/-/router-5.2.0.tgz", - "integrity": "sha512-VXDXtp2A1GQEUEhXg0ZzqHdTUERLgDSo3/Mmpzt+dgLMKlXDSCykcm4gINwE5VQLGD1zQvDFCCRv3seGRNfrqA==", + "version": "file:https:/registry.npmjs.org/@angular/router/-/router-5.2.6.tgz", + "integrity": "sha512-10Otnr5nmDWrlCpR5DTuDZmLj2hGf8WX1yFkfQ8H4EJWYe3YCTwGvz5D/smrWL6m6I2rOFgYOO3rFj9iYvMumA==", "requires": { "tslib": "1.9.0" }, @@ -1782,9 +1800,9 @@ "dev": true }, "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { "mime-types": "2.1.18", @@ -1792,9 +1810,9 @@ } }, "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", "dev": true }, "acorn-dynamic-import": { @@ -1820,7 +1838,7 @@ "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==", "dev": true, "requires": { - "acorn": "5.4.1", + "acorn": "5.5.0", "xtend": "4.0.1" } }, @@ -1868,7 +1886,7 @@ "dev": true, "requires": { "co": "4.6.0", - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -1958,9 +1976,9 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" @@ -2162,9 +2180,9 @@ "dev": true }, "ast-types": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.1.tgz", - "integrity": "sha512-BAlXqqeEhVEajhgz7rgerupI8sb695KpCaJ/w4Sb9s2LoUci8sSMhXw93Jp8MsOufWGJOY/P2jpUEVw4RlSzNw==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.2.tgz", + "integrity": "sha512-aL+pcOQ+6dpWd0xrUe+Obo2CgdkFvsntkXEmzZKqEN4cR0PStF+1MBuc4V+YZsv4Q36luvyjG7F4lc+wH2bmag==", "dev": true, "optional": true }, @@ -2232,7 +2250,7 @@ "dev": true, "requires": { "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000810", + "caniuse-lite": "1.0.30000811", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.19", @@ -2725,7 +2743,7 @@ "htmlescape": "1.1.1", "https-browserify": "1.0.0", "inherits": "2.0.3", - "insert-module-globals": "7.0.1", + "insert-module-globals": "7.0.2", "labeled-stream-splicer": "2.0.0", "module-deps": "4.1.1", "os-browserify": "0.3.0", @@ -2895,8 +2913,8 @@ "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000810", - "electron-to-chromium": "1.3.33" + "caniuse-lite": "1.0.30000811", + "electron-to-chromium": "1.3.34" } }, "buffer": { @@ -3053,7 +3071,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000810", + "caniuse-db": "1.0.30000811", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" }, @@ -3064,22 +3082,22 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000810", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000811", + "electron-to-chromium": "1.3.34" } } } }, "caniuse-db": { - "version": "1.0.30000810", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000810.tgz", - "integrity": "sha1-vSWDDEHvq2Qzmi44H0lnc0PIRQk=", + "version": "1.0.30000811", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000811.tgz", + "integrity": "sha1-Ge+5I4OT1AB4Myw0SFyBjWQcQwU=", "dev": true }, "caniuse-lite": { - "version": "1.0.30000810", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000810.tgz", - "integrity": "sha512-/0Q00Oie9C72P8zQHtFvzmkrMC3oOFUnMWjCy5F2+BE8lzICm91hQPhh0+XIsAFPKOe2Dh3pKgbRmU3EKxfldA==", + "version": "1.0.30000811", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000811.tgz", + "integrity": "sha512-IPqVics/FqTQqdgcUZLTIe4BBwK3ndvzrAP7NX2meM3kk/w3oGivwWXJ5yvh2PXhWsU6VIKOM4dZCYKgNFh5tg==", "dev": true }, "caseless": { @@ -3096,14 +3114,6 @@ "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" - }, - "dependencies": { - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - } } }, "chalk": { @@ -3112,7 +3122,7 @@ "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", "supports-color": "4.5.0" } @@ -3311,15 +3321,15 @@ "dev": true }, "clone-deep": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", - "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", "dev": true, "requires": { "for-own": "1.0.0", "is-plain-object": "2.0.4", - "kind-of": "3.2.2", - "shallow-clone": "0.1.2" + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" }, "dependencies": { "for-own": { @@ -3330,6 +3340,12 @@ "requires": { "for-in": "1.0.2" } + }, + "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 } } }, @@ -3355,9 +3371,9 @@ "dev": true }, "codelyzer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.1.0.tgz", - "integrity": "sha512-a3FCIAS3FNQIACvj7KA4iKvH3c6r7X6t6zXsrtV797QGYPQyCwD1fIEd9yV+ZDamijF3YaZ5fbB7QbUMOJGC/g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.2.1.tgz", + "integrity": "sha512-CKwfgpfkqi9dyzy4s6ELaxJ54QgJ6A8iTSsM4bzHbLuTpbKncvNc3DUlCvpnkHBhK47gEf4qFsWoYqLrJPhy6g==", "dev": true, "requires": { "app-root-path": "2.0.1", @@ -3528,7 +3544,7 @@ "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "bytes": "3.0.0", "compressible": "2.0.13", "debug": "2.6.9", @@ -3544,9 +3560,9 @@ "dev": true }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", "dev": true, "requires": { "inherits": "2.0.3", @@ -3644,16 +3660,16 @@ "dev": true }, "copy-webpack-plugin": { - "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==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.0.tgz", + "integrity": "sha512-ROQ85fWKuhJfUkBTdHvfV+Zv6Ltm3G/vPVFdLPFwzWzd9RUY1yLw3rt6FmKK2PaeNQCNvmwgFhuarkjuV4PVDQ==", "dev": true, "requires": { "cacache": "10.0.4", "find-cache-dir": "1.0.0", "globby": "7.1.1", "is-glob": "4.0.0", - "loader-utils": "0.2.17", + "loader-utils": "1.1.0", "minimatch": "3.0.4", "p-limit": "1.2.0", "serialize-javascript": "1.4.0" @@ -3673,18 +3689,6 @@ "requires": { "is-extglob": "2.1.1" } - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } } } }, @@ -3813,9 +3817,9 @@ "dev": true }, "css-loader": { - "version": "0.28.9", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.9.tgz", - "integrity": "sha512-r3dgelMm/mkPz5Y7m9SeiGE46i2VsEU/OYbez+1llfxtv8b2y5/b5StaeEvPK3S5tlNQI+tDW/xDIhKJoZgDtw==", + "version": "0.28.10", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.10.tgz", + "integrity": "sha512-X1IJteKnW9Llmrd+lJ0f7QZHh9Arf+11S7iRcoT2+riig3BK0QaCaOtubAulMK6Itbo08W6d3l8sW21r+Jhp5Q==", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -3993,7 +3997,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000810", + "caniuse-db": "1.0.30000811", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -4006,8 +4010,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000810", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000811", + "electron-to-chromium": "1.3.34" } }, "chalk": { @@ -4226,8 +4230,8 @@ "dev": true, "optional": true, "requires": { - "ast-types": "0.11.1", - "escodegen": "1.9.0", + "ast-types": "0.11.2", + "escodegen": "1.9.1", "esprima": "3.1.3" }, "dependencies": { @@ -4350,7 +4354,7 @@ "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, "requires": { - "acorn": "5.4.1", + "acorn": "5.5.0", "defined": "1.0.0" } }, @@ -4507,9 +4511,9 @@ } }, "duplexify": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", - "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", "dev": true, "requires": { "end-of-stream": "1.4.1", @@ -4541,9 +4545,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.33", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz", - "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=", + "version": "1.3.34", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.34.tgz", + "integrity": "sha1-2TSY9AORuwwWpgPYJBuZUUBBV+0=", "dev": true }, "elliptic": { @@ -4594,7 +4598,7 @@ "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "base64id": "1.0.0", "cookie": "0.3.1", "debug": "3.1.0", @@ -4806,9 +4810,9 @@ "dev": true }, "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "dev": true, "optional": true, "requires": { @@ -4816,7 +4820,7 @@ "estraverse": "4.2.0", "esutils": "2.0.2", "optionator": "0.8.2", - "source-map": "0.5.7" + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4825,6 +4829,13 @@ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true, "optional": 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, + "optional": true } } }, @@ -4836,7 +4847,7 @@ "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, @@ -4847,13 +4858,12 @@ "dev": true }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -5027,7 +5037,7 @@ "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", @@ -5046,7 +5056,7 @@ "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "2.0.3", "qs": "6.5.1", "range-parser": "1.2.0", "safe-buffer": "5.1.1", @@ -5128,9 +5138,9 @@ "dev": true }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "fast-json-stable-stringify": { @@ -5162,9 +5172,9 @@ } }, "file-loader": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.7.tgz", - "integrity": "sha512-JNiSlopfWaZRMdC8swCz/aIizNe0VjrHHb6MipBhUvh5pTfoUPsrJLkYB4MYYlH+SdHbWR7AGokTe+GY5QmNBw==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -5172,12 +5182,12 @@ }, "dependencies": { "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -5188,7 +5198,7 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", + "ajv": "6.2.0", "ajv-keywords": "3.1.0" } } @@ -5405,7 +5415,7 @@ "dev": true, "optional": true, "requires": { - "nan": "2.8.0", + "nan": "2.9.2", "node-pre-gyp": "0.6.39" }, "dependencies": { @@ -6876,7 +6886,7 @@ "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.3.11" + "uglify-js": "3.3.12" } }, "html-webpack-plugin": { @@ -7221,9 +7231,9 @@ } }, "insert-module-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", - "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.2.tgz", + "integrity": "sha512-p3s7g96Nm62MbHRuj9ZXab0DuJNWD7qcmdUXCOQ/ZZn42DtDXfsLill7bq19lDCx3K3StypqUnuE3H2VmIJFUw==", "dev": true, "requires": { "JSONStream": "1.3.2", @@ -7336,9 +7346,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", "dev": true }, "is-absolute-url": { @@ -8116,9 +8126,9 @@ } }, "lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true }, "lcid": { @@ -8147,14 +8157,14 @@ } }, "less-loader": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.5.tgz", - "integrity": "sha1-rhVadAbKxqzSk9eFWH/P8PR4xN0=", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.0.6.tgz", + "integrity": "sha512-WPFY3NMJGJna8kIxtgSu6AVG7K6uRPdfE2J7vpQqFWMN/RkOosV09rOVUt3wghNClWH2Pg7YumD1dHiv1Thfug==", "dev": true, "requires": { "clone": "2.1.1", "loader-utils": "1.1.0", - "pify": "2.3.0" + "pify": "3.0.0" }, "dependencies": { "clone": { @@ -8162,12 +8172,6 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true } } }, @@ -8223,9 +8227,9 @@ "dev": true }, "license-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-TjKOyiC0exqd4Idy/4M8/DETR22dXBZks387DuS5LbslxHiMRXGx/Q2F/j9IUtvEoH5uFvt72vRgk/G6f8j3Dg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-L40JKqFGSJ2z5bKOleYK3IgdOaTCoRx1p+zScf5yMCYQ1HsKrcCGFxVjZYvIWatcqGtdoEC0PZOBFgSaHMmvrw==", "dev": true, "requires": { "ejs": "2.5.7" @@ -8304,24 +8308,6 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "lodash.endswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", - "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", - "dev": true - }, - "lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "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.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -8335,12 +8321,6 @@ "dev": true, "optional": true }, - "lodash.startswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", - "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=", - "dev": true - }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", @@ -8490,7 +8470,7 @@ "oauth-sign": "0.8.2", "qs": "6.2.3", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.4.3" } }, @@ -8855,8 +8835,8 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "1.6.0", - "duplexify": "3.5.3", + "concat-stream": "1.6.1", + "duplexify": "3.5.4", "end-of-stream": "1.4.1", "flush-write-stream": "1.0.2", "from2": "2.3.0", @@ -9016,9 +8996,9 @@ "dev": true }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", + "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", "dev": true, "optional": true }, @@ -9037,9 +9017,9 @@ "is-windows": "1.0.2", "kind-of": "6.0.2", "object.pick": "1.3.0", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -9077,6 +9057,12 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, + "neo-async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.0.tgz", + "integrity": "sha512-nJmSswG4As/MkRq7QZFuH/sf/yuv8ODdMZrY4Bedjp77a5MK4A6s7YbBB64c9u79EBUOfXUXBvArmvzTD0X+6g==", + "dev": true + }, "netmask": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", @@ -9196,7 +9182,7 @@ "lodash.mergewith": "4.6.1", "meow": "3.7.0", "mkdirp": "0.5.1", - "nan": "2.8.0", + "nan": "2.9.2", "node-gyp": "3.6.2", "npmlog": "4.1.2", "request": "2.79.0", @@ -9275,7 +9261,7 @@ "oauth-sign": "0.8.2", "qs": "6.3.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.4.3", "uuid": "3.2.1" } @@ -9399,7 +9385,7 @@ "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", "semver": "5.5.0", - "validate-npm-package-license": "3.0.1" + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -10092,20 +10078,20 @@ "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", "dev": true, "requires": { - "chalk": "2.3.1", + "chalk": "2.3.2", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.3.0" }, "dependencies": { "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.3.0" } }, "has-flag": { @@ -10121,9 +10107,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -10768,9 +10754,9 @@ } }, "postcss-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.0.tgz", - "integrity": "sha512-S/dKzpDwGFmP9g8eyCu9sUIV+/+3UooeTpYlsKf23qKDdrhHuA4pTSfytVu0rEJ0iDqUavXrgtOPq5KhNyNMOw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.1.tgz", + "integrity": "sha512-f0J/DWE/hyO9/LH0WHpXkny/ZZ238sSaG3p1SRBtVZnFWUtD7GXIEgHoBg8cnAeRbmEvUxHQptY46zWfwNYj/w==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -10780,12 +10766,12 @@ }, "dependencies": { "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -10796,7 +10782,7 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", + "ajv": "6.2.0", "ajv-keywords": "3.1.0" } } @@ -10959,8 +10945,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000810", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000811", + "electron-to-chromium": "1.3.34" } }, "chalk": { @@ -11871,9 +11857,9 @@ } }, "postcss-url": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.0.tgz", - "integrity": "sha512-VBP6uf6iL3AZra23nkPkOEkS/5azj1xf/toRrjfkolfFEgg9Gyzg9UhJZeIsz12EGKZTNVeGbPa2XtaZm/iZvg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.1.tgz", + "integrity": "sha512-Ya5KIjGptgz0OtrVYfi2UbLxVAZ6Emc4Of+Grx4Sf1deWlRpFwLr8FrtkUxfqh+XiZIVkXbjQrddE10ESpNmdA==", "dev": true, "requires": { "mime": "1.6.0", @@ -12129,13 +12115,13 @@ } }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" + "ipaddr.js": "1.6.0" } }, "proxy-agent": { @@ -12205,7 +12191,7 @@ "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", "dev": true, "requires": { - "duplexify": "3.5.3", + "duplexify": "3.5.4", "inherits": "2.0.3", "pump": "2.0.1" } @@ -12478,14 +12464,14 @@ "optional": true, "requires": { "double-ended-queue": "2.1.0-0", - "redis-commands": "1.3.1", + "redis-commands": "1.3.5", "redis-parser": "2.6.0" } }, "redis-commands": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz", - "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.5.tgz", + "integrity": "sha512-foGF8u6MXGFF++1TZVC6icGXuMYPftKXt1FBT2vrfU9ZATNtZJ8duRC5d1lEfE8hyVe3jhelHGB91oB7I6qLsA==", "dev": true, "optional": true }, @@ -12554,23 +12540,13 @@ } }, "regex-not": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", - "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "2.0.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" - } - } + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -12678,7 +12654,7 @@ "qs": "6.4.0", "safe-buffer": "5.1.1", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", "uuid": "3.2.1" } @@ -12759,6 +12735,12 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -12810,6 +12792,15 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -12824,15 +12815,15 @@ } }, "sass-loader": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", - "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", + "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", "dev": true, "requires": { - "async": "2.6.0", - "clone-deep": "0.3.0", + "clone-deep": "2.0.2", "loader-utils": "1.1.0", "lodash.tail": "4.1.1", + "neo-async": "2.5.0", "pify": "3.0.0" } }, @@ -12977,7 +12968,7 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "1.0.3", @@ -13065,25 +13056,21 @@ } }, "shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { "is-extendable": "0.1.1", - "kind-of": "2.0.1", - "lazy-cache": "0.2.7", + "kind-of": "5.1.0", "mixin-object": "2.0.1" }, "dependencies": { "kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "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 } } }, @@ -13331,7 +13318,7 @@ "engine.io": "3.1.5", "socket.io-adapter": "1.1.1", "socket.io-client": "2.0.4", - "socket.io-parser": "3.1.2" + "socket.io-parser": "3.1.3" } }, "socket.io-adapter": { @@ -13357,22 +13344,31 @@ "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "3.1.2", + "socket.io-parser": "3.1.3", "to-array": "0.1.4" } }, "socket.io-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", - "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", + "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "2.6.9", + "debug": "3.1.0", "has-binary2": "1.0.2", "isarray": "2.0.1" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", @@ -13518,24 +13514,35 @@ "dev": true }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "spdy": { @@ -13917,9 +13924,9 @@ } }, "stylus-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.1.tgz", - "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -14052,127 +14059,51 @@ "optional": 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" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "to-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", - "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", - "dev": true, - "requires": { - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "regex-not": "1.0.0" - }, - "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 - } + "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" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "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" } }, "to-regex-range": { @@ -14203,9 +14134,9 @@ "dev": true }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { "punycode": "1.4.1" @@ -14262,26 +14193,26 @@ "dev": true, "requires": { "arrify": "1.0.1", - "chalk": "2.3.1", + "chalk": "2.3.2", "diff": "3.4.0", "make-error": "1.3.4", "minimist": "1.2.0", "mkdirp": "0.5.1", "source-map-support": "0.5.3", "tsconfig": "7.0.0", - "v8flags": "3.0.1", + "v8flags": "3.0.2", "yn": "2.0.0" }, "dependencies": { "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.3.0" } }, "has-flag": { @@ -14312,9 +14243,9 @@ } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -14356,7 +14287,7 @@ "requires": { "babel-code-frame": "6.26.0", "builtin-modules": "1.1.1", - "chalk": "2.3.1", + "chalk": "2.3.2", "commander": "2.14.1", "diff": "3.4.0", "glob": "7.1.2", @@ -14365,18 +14296,18 @@ "resolve": "1.5.0", "semver": "5.5.0", "tslib": "1.9.0", - "tsutils": "2.21.1" + "tsutils": "2.22.1" }, "dependencies": { "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "supports-color": "5.3.0" } }, "has-flag": { @@ -14386,9 +14317,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -14404,9 +14335,9 @@ "optional": true }, "tsutils": { - "version": "2.21.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.21.1.tgz", - "integrity": "sha512-heMkdeQ9iUc90ynfiNo5Y+GXrEEGy86KMvnSTfHO+Q40AuNQ1lZGXcv58fuU9XTUxI0V7YIN9xPN+CO9b1Gn3w==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.22.1.tgz", + "integrity": "sha512-j4Nx7aeMPyIrKtDftSfDiTFBYW3o/41T3zAxm0C/9fSKT62jnfqOZooC9uKLr4rQF9QsZaVTVY6QY+vVnWSisw==", "dev": true, "requires": { "tslib": "1.9.0" @@ -14466,9 +14397,9 @@ "dev": true }, "uglify-js": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.11.tgz", - "integrity": "sha512-AKLsYcdV+sS5eAE4NtVXF6f2u/DCQynQm0jTGxF261+Vltu1dYNuHzjqDmk11gInj+H/zJIM2EAwXG3MzPb3VA==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.12.tgz", + "integrity": "sha512-4jxrTXlV0HaXTsNILfXW0eey7Qo8qHYM6ih5ZNh45erDWU2GHmKDmekwBTskDb12h+kdd2DBvdzqVb47YzNmTA==", "dev": true, "requires": { "commander": "2.14.1", @@ -14491,9 +14422,9 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.0.tgz", - "integrity": "sha512-Bc2NeyTTSJAy2JuKaBpdvWyuySPSPHNcj70KFqu7FhfrfsjPo0Kta9jgAvPrQxnz86mOH1tk4n/I8wvZrXvetA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz", + "integrity": "sha512-CG/NvzXfemUAm5Y4Guh5eEaJYHtkG7kKNpXEJHp9QpxsFVB5/qKvYWoMaq4sa99ccZ0hM3MK8vQV9XPZB4357A==", "dev": true, "requires": { "cacache": "10.0.4", @@ -14503,16 +14434,16 @@ "source-map": "0.6.1", "uglify-es": "3.3.9", "webpack-sources": "1.1.0", - "worker-farm": "1.5.2" + "worker-farm": "1.5.4" }, "dependencies": { "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -14529,7 +14460,7 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", + "ajv": "6.2.0", "ajv-keywords": "3.1.0" } }, @@ -14701,95 +14632,517 @@ } } }, - "upath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.2.tgz", - "integrity": "sha512-fCmij7T5LnwUme3dbnVSejvOHHlARjB3ikJFwgZfz386pHmf/gueuTLRFU94FZEaeCLlbQrweiUU700gG41tUw==", + "upath": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz", + "integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", + "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "1.6.0", + "schema-utils": "0.3.0" + } + }, + "url-parse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "dev": true, + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "dev": true + } + } + }, + "use": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", + "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "isobject": "3.0.1", + "lazy-cache": "2.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" + } + }, + "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" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "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 + }, + "lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "dev": true, + "requires": { + "set-getter": "0.1.0" + } + } + } + }, + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "tmp": "0.0.33" + } + }, + "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" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "uws": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", + "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", + "dev": true, + "optional": true + }, + "v8flags": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.2.tgz", + "integrity": "sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "lodash.endswith": "4.2.1", - "lodash.isfunction": "3.0.9", - "lodash.isstring": "4.0.1", - "lodash.startswith": "4.2.1" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "vendors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", + "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", "dev": true }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" }, "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, - "url-loader": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", - "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "1.6.0", - "schema-utils": "0.3.0" - } + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true }, - "url-parse": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", - "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", "dev": true, "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", - "dev": true - } + "indexof": "0.0.1" } }, - "use": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz", + "integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==", "dev": true, "requires": { - "define-property": "0.2.5", - "isobject": "3.0.1", - "lazy-cache": "2.0.2" + "chokidar": "2.0.2", + "graceful-fs": "4.1.11", + "neo-async": "2.5.0" }, "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=", + "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.9", + "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.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "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", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.1", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "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" + } + } + } + }, + "chokidar": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.2.tgz", + "integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.1", + "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.4" + } + }, + "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.1", + "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-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.1", + "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": { - "is-descriptor": "0.1.6" + "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" + } + } + } + }, + "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" + } + } } }, "is-accessor-descriptor": { @@ -14832,15 +15185,39 @@ } } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "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": { @@ -14850,162 +15227,34 @@ "dev": true }, "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==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "micromatch": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", "dev": true, "requires": { - "set-getter": "0.1.0" + "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.2", + "snapdragon": "0.8.1", + "to-regex": "3.0.2" } } } }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "tmp": "0.0.33" - } - }, - "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" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", - "dev": true - }, - "uws": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz", - "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==", - "dev": true, - "optional": true - }, - "v8flags": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.1.tgz", - "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=", - "dev": true, - "requires": { - "homedir-polyfill": "1.0.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "dev": true, - "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - } - }, "wbuf": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", @@ -15090,7 +15339,7 @@ "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", "dev": true, "requires": { - "acorn": "5.4.1", + "acorn": "5.5.0", "acorn-dynamic-import": "2.0.2", "ajv": "5.5.2", "ajv-keywords": "2.1.1", @@ -15109,7 +15358,7 @@ "supports-color": "4.5.0", "tapable": "0.2.8", "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", + "watchpack": "1.5.0", "webpack-sources": "1.1.0", "yargs": "8.0.2" }, @@ -15396,9 +15645,9 @@ } }, "webpack-dev-server": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz", - "integrity": "sha512-ombhu5KsO/85sVshIDTyQ5HF3xjZR3N0sf5Ao6h3vFwpNyzInEzA1GV3QPVjTMLTNckp8PjfG1PFGznzBwS5lg==", + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.2.tgz", + "integrity": "sha512-zrPoX97bx47vZiAXfDrkw8pe9QjJ+lunQl3dypojyWwWr1M5I2h0VSrMPfTjopHQPRNn+NqfjcMmhoLcUJe2gA==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -15425,7 +15674,7 @@ "sockjs-client": "1.1.4", "spdy": "3.4.7", "strip-ansi": "3.0.1", - "supports-color": "5.2.0", + "supports-color": "5.3.0", "webpack-dev-middleware": "1.12.2", "yargs": "6.6.0" }, @@ -15436,7 +15685,7 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.6", + "micromatch": "3.1.9", "normalize-path": "2.1.1" } }, @@ -15469,7 +15718,7 @@ "snapdragon": "0.8.1", "snapdragon-node": "2.1.1", "split-string": "3.1.0", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -15515,7 +15764,7 @@ "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0", - "upath": "1.0.2" + "upath": "1.0.4" } }, "debug": { @@ -15537,9 +15786,9 @@ "define-property": "0.2.5", "extend-shallow": "2.0.1", "posix-character-classes": "0.1.1", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -15599,9 +15848,9 @@ "expand-brackets": "2.1.4", "extend-shallow": "2.0.1", "fragment-cache": "0.2.1", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -15762,9 +16011,9 @@ "dev": true }, "micromatch": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.6.tgz", - "integrity": "sha512-6hezhKgmSIRZeSCiVB84GOmH1Ajvo8XgnaEq/uPQ/wv0g+MQlaVonSEru7VMDZXzRWFoclakpADfInbg/5FGjw==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", "dev": true, "requires": { "arr-diff": "4.0.0", @@ -15777,15 +16026,15 @@ "kind-of": "6.0.2", "nanomatch": "1.2.9", "object.pick": "1.3.0", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -15830,9 +16079,9 @@ } }, "webpack-merge": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.1.tgz", - "integrity": "sha512-geQsZ86YkXOVOjvPC5yv3JSNnL6/X3Kzh935AQ/gJNEYXEfJDQFu/sdFuktS9OW2JcH/SJec8TGfRdrpHshH7A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", + "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", "dev": true, "requires": { "lodash": "4.17.5" @@ -15930,9 +16179,9 @@ "dev": true }, "worker-farm": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", - "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.4.tgz", + "integrity": "sha512-ITyClEvcfv0ozqJl1vmWFWhvI+OIrkbInYqkEPE50wFPXj8J9Gd3FYf8+CkZJXJJsQBYe+2DvmoK9Zhx5w8W+w==", "dev": true, "requires": { "errno": "0.1.7", diff --git a/src/apps/universal-app/package-lock.json b/src/apps/universal-app/package-lock.json index 68a350546..25d107a45 100644 --- a/src/apps/universal-app/package-lock.json +++ b/src/apps/universal-app/package-lock.json @@ -12,16 +12,8 @@ "requires": { "loader-utils": "1.1.0", "source-map": "0.5.7", - "typescript": "2.6.2", + "typescript": "file:https:/registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", "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=", - "dev": true - } } }, "@angular-devkit/core": { @@ -46,6 +38,32 @@ "rxjs": "5.5.6" } }, + "@angular/animations": { + "version": "file:https:/registry.npmjs.org/@angular/animations/-/animations-5.2.6.tgz", + "integrity": "sha512-LMfg1NYTPPu+mEweOcwWEHM7Aaw7OnzjGE7UeUGYHd4ujQlOc8f6u4Z0X4Wfo4vIpHIz8ClNKbSuQ8+5S4Ofsg==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/cdk": { + "version": "file:https:/registry.npmjs.org/@angular/cdk/-/cdk-5.2.0.tgz", + "integrity": "sha1-Q2j2dJ6RXNzHXTJa4z/bP4WogQg=", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, "@angular/cli": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-1.6.6.tgz", @@ -62,15 +80,15 @@ "chalk": "2.2.2", "circular-dependency-plugin": "4.4.0", "common-tags": "1.7.2", - "copy-webpack-plugin": "4.4.1", + "copy-webpack-plugin": "4.4.2", "core-object": "3.1.5", - "css-loader": "0.28.9", + "css-loader": "0.28.10", "cssnano": "3.10.0", "denodeify": "1.2.1", "ember-cli-string-utils": "1.1.0", "exports-loader": "0.6.4", "extract-text-webpack-plugin": "3.0.2", - "file-loader": "1.1.6", + "file-loader": "1.1.10", "fs-extra": "4.0.3", "glob": "7.1.2", "html-webpack-plugin": "2.30.1", @@ -78,7 +96,7 @@ "karma-source-map-support": "1.2.0", "less": "2.7.3", "less-loader": "4.0.5", - "license-webpack-plugin": "1.1.1", + "license-webpack-plugin": "1.1.2", "loader-utils": "1.1.0", "lodash": "4.17.5", "memory-fs": "0.4.1", @@ -89,8 +107,8 @@ "opn": "5.1.0", "portfinder": "1.0.13", "postcss-import": "11.1.0", - "postcss-loader": "2.1.0", - "postcss-url": "7.3.0", + "postcss-loader": "2.1.1", + "postcss-url": "7.3.1", "raw-loader": "0.5.1", "resolve": "1.5.0", "rxjs": "5.5.6", @@ -101,13 +119,13 @@ "source-map-support": "0.4.18", "style-loader": "0.13.2", "stylus": "0.54.5", - "stylus-loader": "3.0.1", - "uglifyjs-webpack-plugin": "1.2.0", + "stylus-loader": "3.0.2", + "uglifyjs-webpack-plugin": "1.2.2", "url-loader": "0.6.2", "webpack": "3.10.0", "webpack-dev-middleware": "1.12.2", - "webpack-dev-server": "2.11.1", - "webpack-merge": "4.1.1", + "webpack-dev-server": "2.11.2", + "webpack-merge": "4.1.2", "webpack-sources": "1.1.0", "webpack-subresource-integrity": "1.0.4" }, @@ -385,11 +403,164 @@ } } }, + "@angular/common": { + "version": "file:https:/registry.npmjs.org/@angular/common/-/common-5.2.6.tgz", + "integrity": "sha512-gJrUKW9rDeVGP0pBNGDEEP/U+vBtgIVd1+52X5mc+dNFuUQdQ2kNTK5+fbDfwVstEWE86gloHlG2GS2Ga94R3Q==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/compiler": { + "version": "file:https:/registry.npmjs.org/@angular/compiler/-/compiler-5.2.6.tgz", + "integrity": "sha512-RVIIIbCmJwkfmL1jYmwTV2ve5k2JaNqVXKg8eT/wWiaCeqqZOydbIdcBUfgRxqn4ABZYgaeDNmjrsMl6acKv0A==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/compiler-cli": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.2.6.tgz", + "integrity": "sha512-HKA6AvM6LZVkNFEDoQ9cRzPkiUpLIuJ+ndACg8cXkEDV30FetBiNC2p8viB14fdSzcuTnU+MULODhW/Tk3OAqA==", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.12", + "tsickle": "0.27.2" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "@angular/core": { + "version": "file:https:/registry.npmjs.org/@angular/core/-/core-5.2.6.tgz", + "integrity": "sha512-BOkF7RM4VcqfIlQeOz17FucfocUmyZBsGIWxVSggeCBz2pQDyOUJ1IqrDh5c4yldW9G4Gjhhn/AkPykvPevI3w==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, "@angular/flex-layout": { - "version": "file:../../../dist/releases/flex-layout/angular-flex-layout-2.0.0-beta.12.tgz", - "integrity": "sha512-Oc0Dr7xSC1uOOdQ0RhI2g9vy1XDZDlrzHwY1n95bdx8GbitYp7piXWz1+VmJWKkt0wgqoMXPPqvgdC8CktlECg==", + "version": "file:../../../dist/releases/flex-layout/angular-flex-layout.tgz", + "integrity": "sha512-QCQ3y7e186wNh/9TCR3eujeoORtqhy9f2Ggxsmj9oliD3HO9PNiWas+loVRs8ChEb5McScoQBp8RhMZvbX22Uw==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/forms": { + "version": "file:https:/registry.npmjs.org/@angular/forms/-/forms-5.2.6.tgz", + "integrity": "sha512-Zo0uADD9nx6esfRx7oLLqw4uiA4zjvBh+MVeJj6ZfL7TYOJzLYyawt4qsvJFQ02tweldjs/duWaaf4tLHf6L0g==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/http": { + "version": "file:https:/registry.npmjs.org/@angular/http/-/http-5.2.6.tgz", + "integrity": "sha512-8ecA0HrDY88vO9YKl6aG82budd0+vwFoECmZ9xRCiNu+HqlgJ7siyLzwdjllmoi90pJbvhQITytfy2zEmDBNIA==", "requires": { "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/language-service": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-5.2.6.tgz", + "integrity": "sha512-46PaLwRCVhzOb3/zvvznSqF1WQ7ITADCnFuhc09TS1YKH2yf62sOjnnuAo1ZZDdN6UI/Y1zajaBrhpupTit9Rw==", + "dev": true + }, + "@angular/platform-browser": { + "version": "file:https:/registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.6.tgz", + "integrity": "sha512-5jP0TeOCCM2SfXjC8306x6p3hdj7+GLuWsXuKyqozqdnr69RKI0vssY0XUzU0If/YsLWVoW/aY6wuiF8ybfIuA==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/platform-browser-dynamic": { + "version": "file:https:/registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.6.tgz", + "integrity": "sha512-forNn/W2nYDGfHTw7qWX20d6FCICeI1hYoGGAXcjuODmFix1ebzFaxG1IOzGZqf/J3Zj43pEMdPMEp5tiukSVA==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } + } + }, + "@angular/platform-server": { + "version": "file:https:/registry.npmjs.org/@angular/platform-server/-/platform-server-5.2.6.tgz", + "integrity": "sha512-6UMPu4GoLWw4rCkK/YDb4pPqPApW1BTwkt6IoNzlsKDYAJ1h6EYykbguv+aX4YPO1QJB3uvxdCJdLfDFSAWVJA==", + "requires": { + "domino": "1.0.30", + "tslib": "1.9.0", + "xhr2": "0.1.4" + }, + "dependencies": { + "domino": { + "version": "1.0.30", + "bundled": true + }, + "tslib": { + "version": "1.9.0", + "bundled": true + }, + "xhr2": { + "version": "0.1.4", + "bundled": true + } + } + }, + "@angular/router": { + "version": "file:https:/registry.npmjs.org/@angular/router/-/router-5.2.6.tgz", + "integrity": "sha512-10Otnr5nmDWrlCpR5DTuDZmLj2hGf8WX1yFkfQ8H4EJWYe3YCTwGvz5D/smrWL6m6I2rOFgYOO3rFj9iYvMumA==", + "requires": { + "tslib": "1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "bundled": true + } } }, "@ngtools/json-schema": { @@ -420,15 +591,7 @@ "integrity": "sha512-PHE5gk/ogPY/aN94dbbtauHMCq+/7w4Kdcl7tGmSS8mPKEI0wa6XJi//Wq/tHi55lb2fP58oEZU6n6w/wQascw==", "dev": true, "requires": { - "typescript": "2.6.2" - }, - "dependencies": { - "typescript": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", - "dev": true - } + "typescript": "file:https:/registry.npmjs.org/typescript/-/typescript-2.6.2.tgz" } }, "@types/jasmine": { @@ -578,7 +741,7 @@ "dev": true, "requires": { "co": "4.6.0", - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -871,9 +1034,9 @@ "dev": true }, "ast-types": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.0.tgz", - "integrity": "sha512-pVJEncOT/ifepKV3IRW9/Uz10xrHdkiZNR6snFWBusHWhKDsxQkUSV1TK3PThiQ2slGGk479cbfZ4GRwZERl1w==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.2.tgz", + "integrity": "sha512-aL+pcOQ+6dpWd0xrUe+Obo2CgdkFvsntkXEmzZKqEN4cR0PStF+1MBuc4V+YZsv4Q36luvyjG7F4lc+wH2bmag==", "dev": true, "optional": true }, @@ -941,7 +1104,7 @@ "dev": true, "requires": { "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000809", + "caniuse-lite": "1.0.30000810", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.19", @@ -1077,7 +1240,7 @@ "babylon": "6.18.0", "debug": "2.6.9", "globals": "9.18.0", - "invariant": "2.2.2", + "invariant": "2.2.3", "lodash": "4.17.5" } }, @@ -1126,6 +1289,15 @@ "pascalcase": "0.1.1" }, "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" + } + }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -1594,8 +1766,8 @@ "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000809", - "electron-to-chromium": "1.3.33" + "caniuse-lite": "1.0.30000810", + "electron-to-chromium": "1.3.34" } }, "buffer": { @@ -1751,7 +1923,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000809", + "caniuse-db": "1.0.30000810", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" }, @@ -1762,22 +1934,22 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000809", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000810", + "electron-to-chromium": "1.3.34" } } } }, "caniuse-db": { - "version": "1.0.30000809", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000809.tgz", - "integrity": "sha1-sLiENKWY9AtUbUak29g5sP95j00=", + "version": "1.0.30000810", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000810.tgz", + "integrity": "sha1-vSWDDEHvq2Qzmi44H0lnc0PIRQk=", "dev": true }, "caniuse-lite": { - "version": "1.0.30000809", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000809.tgz", - "integrity": "sha512-tLn4flj2upmMsko3larTkQh21Vp9pylnNPUOhw5+mubL+67U5Fpm4UG5AutzGBc+gBIPSsPFHDynsiMWp5m46g==", + "version": "1.0.30000810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000810.tgz", + "integrity": "sha512-/0Q00Oie9C72P8zQHtFvzmkrMC3oOFUnMWjCy5F2+BE8lzICm91hQPhh0+XIsAFPKOe2Dh3pKgbRmU3EKxfldA==", "dev": true }, "caseless": { @@ -2221,9 +2393,9 @@ } }, "compression": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", - "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "dev": true, "requires": { "accepts": "1.3.4", @@ -2338,9 +2510,9 @@ "dev": true }, "copy-webpack-plugin": { - "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==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.4.2.tgz", + "integrity": "sha512-tf1XKKQ5h+BPvXJ5/zx2xKVdF0/6J8XNvhB6fdmIReMnAfQGMbzph8F7ok2QF9kqWMfIgkCxwzk1zXkYqcLIqg==", "dev": true, "requires": { "cacache": "10.0.4", @@ -2507,9 +2679,9 @@ "dev": true }, "css-loader": { - "version": "0.28.9", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.9.tgz", - "integrity": "sha512-r3dgelMm/mkPz5Y7m9SeiGE46i2VsEU/OYbez+1llfxtv8b2y5/b5StaeEvPK3S5tlNQI+tDW/xDIhKJoZgDtw==", + "version": "0.28.10", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.10.tgz", + "integrity": "sha512-X1IJteKnW9Llmrd+lJ0f7QZHh9Arf+11S7iRcoT2+riig3BK0QaCaOtubAulMK6Itbo08W6d3l8sW21r+Jhp5Q==", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -2687,7 +2859,7 @@ "dev": true, "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000809", + "caniuse-db": "1.0.30000810", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -2700,8 +2872,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000809", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000810", + "electron-to-chromium": "1.3.34" } }, "chalk": { @@ -2889,12 +3061,21 @@ } }, "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, "defined": { @@ -2910,8 +3091,8 @@ "dev": true, "optional": true, "requires": { - "ast-types": "0.11.0", - "escodegen": "1.9.0", + "ast-types": "0.11.2", + "escodegen": "1.9.1", "esprima": "3.1.3" }, "dependencies": { @@ -3222,9 +3403,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.33", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz", - "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=", + "version": "1.3.34", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.34.tgz", + "integrity": "sha1-2TSY9AORuwwWpgPYJBuZUUBBV+0=", "dev": true }, "elliptic": { @@ -3485,9 +3666,9 @@ "dev": true }, "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "dev": true, "optional": true, "requires": { @@ -3495,7 +3676,7 @@ "estraverse": "4.2.0", "esutils": "2.0.2", "optionator": "0.8.2", - "source-map": "0.5.7" + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -3504,6 +3685,13 @@ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", "dev": true, "optional": 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, + "optional": true } } }, @@ -3515,7 +3703,7 @@ "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, @@ -3526,13 +3714,12 @@ "dev": true }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -3723,7 +3910,7 @@ "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "2.0.3", "qs": "6.5.1", "range-parser": "1.2.0", "safe-buffer": "5.1.1", @@ -3743,12 +3930,24 @@ "dev": true }, "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } } }, "extglob": { @@ -3779,9 +3978,9 @@ "dev": true }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "fast-json-stable-stringify": { @@ -3813,13 +4012,36 @@ } }, "file-loader": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.6.tgz", - "integrity": "sha512-873ztuL+/hfvXbLDJ262PGO6XjERnybJu2gW1/5j8HUfxSiFJI9Hj/DhZ50ZGRUxBvuNiazb/cM2rh9pqrxP6Q==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.10.tgz", + "integrity": "sha512-dNnT4yJgUPtGDg0+m03kQ0b/PZi3Y12EnqYuRPNCsbYkBZc6j+fwVWy40jWzZjn5kIzQ4BLIxzJimbwAYlnPGw==", "dev": true, "requires": { "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "schema-utils": "0.4.5" + }, + "dependencies": { + "ajv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", + "dev": true, + "requires": { + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.2.0", + "ajv-keywords": "3.1.0" + } + } } }, "file-uri-to-path": { @@ -3879,7 +4101,7 @@ "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.1.0", + "make-dir": "1.2.0", "pkg-dir": "2.0.0" } }, @@ -4030,7 +4252,7 @@ "dev": true, "optional": true, "requires": { - "nan": "2.8.0", + "nan": "2.9.2", "node-pre-gyp": "0.6.39" }, "dependencies": { @@ -5501,7 +5723,7 @@ "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.3.11" + "uglify-js": "3.3.12" } }, "html-webpack-plugin": { @@ -5935,9 +6157,9 @@ "dev": true }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", + "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", "dev": true, "requires": { "loose-envify": "1.3.1" @@ -5956,9 +6178,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, "is-absolute-url": { "version": "2.1.0", @@ -6152,22 +6374,19 @@ } }, "is-odd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", - "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "3.0.0" + "is-number": "4.0.0" }, "dependencies": { "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" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true } } }, @@ -6279,6 +6498,12 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "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 + }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -6635,7 +6860,7 @@ "mime": "1.4.1", "minimatch": "3.0.4", "optimist": "0.6.1", - "qjobs": "1.1.5", + "qjobs": "1.2.0", "range-parser": "1.2.0", "rimraf": "2.6.2", "safe-buffer": "5.1.1", @@ -6839,9 +7064,9 @@ "dev": true }, "license-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-TjKOyiC0exqd4Idy/4M8/DETR22dXBZks387DuS5LbslxHiMRXGx/Q2F/j9IUtvEoH5uFvt72vRgk/G6f8j3Dg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-L40JKqFGSJ2z5bKOleYK3IgdOaTCoRx1p+zScf5yMCYQ1HsKrcCGFxVjZYvIWatcqGtdoEC0PZOBFgSaHMmvrw==", "dev": true, "requires": { "ejs": "2.5.7" @@ -6920,24 +7145,6 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "lodash.endswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", - "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", - "dev": true - }, - "lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "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.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6951,12 +7158,6 @@ "dev": true, "optional": true }, - "lodash.startswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", - "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=", - "dev": true - }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", @@ -7106,7 +7307,7 @@ "oauth-sign": "0.8.2", "qs": "6.2.3", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.4.3" } }, @@ -7254,9 +7455,9 @@ } }, "make-dir": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", - "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { "pify": "3.0.0" @@ -7625,29 +7826,30 @@ "dev": true }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", + "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", "dev": true, "optional": true }, "nanomatch": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", - "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", "fragment-cache": "0.2.1", - "is-odd": "1.0.0", - "kind-of": "5.1.0", + "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", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -7663,9 +7865,9 @@ "dev": true }, "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==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } @@ -7803,7 +8005,7 @@ "lodash.mergewith": "4.6.1", "meow": "3.7.0", "mkdirp": "0.5.1", - "nan": "2.8.0", + "nan": "2.9.2", "node-gyp": "3.6.2", "npmlog": "4.1.2", "request": "2.79.0", @@ -7882,7 +8084,7 @@ "oauth-sign": "0.8.2", "qs": "6.3.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.4.3", "uuid": "3.2.1" } @@ -9372,9 +9574,9 @@ } }, "postcss-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.0.tgz", - "integrity": "sha512-S/dKzpDwGFmP9g8eyCu9sUIV+/+3UooeTpYlsKf23qKDdrhHuA4pTSfytVu0rEJ0iDqUavXrgtOPq5KhNyNMOw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.1.tgz", + "integrity": "sha512-f0J/DWE/hyO9/LH0WHpXkny/ZZ238sSaG3p1SRBtVZnFWUtD7GXIEgHoBg8cnAeRbmEvUxHQptY46zWfwNYj/w==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -9384,12 +9586,12 @@ }, "dependencies": { "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -9400,7 +9602,7 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", + "ajv": "6.2.0", "ajv-keywords": "3.1.0" } } @@ -9563,8 +9765,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000809", - "electron-to-chromium": "1.3.33" + "caniuse-db": "1.0.30000810", + "electron-to-chromium": "1.3.34" } }, "chalk": { @@ -10475,9 +10677,9 @@ } }, "postcss-url": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.0.tgz", - "integrity": "sha512-VBP6uf6iL3AZra23nkPkOEkS/5azj1xf/toRrjfkolfFEgg9Gyzg9UhJZeIsz12EGKZTNVeGbPa2XtaZm/iZvg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.1.tgz", + "integrity": "sha512-Ya5KIjGptgz0OtrVYfi2UbLxVAZ6Emc4Of+Grx4Sf1deWlRpFwLr8FrtkUxfqh+XiZIVkXbjQrddE10ESpNmdA==", "dev": true, "requires": { "mime": "1.4.1", @@ -10733,12 +10935,12 @@ } }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" + "ipaddr.js": "1.6.0" } }, "proxy-agent": { @@ -10826,9 +11028,9 @@ "dev": true }, "qjobs": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz", - "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true }, "qs": { @@ -11078,14 +11280,14 @@ "optional": true, "requires": { "double-ended-queue": "2.1.0-0", - "redis-commands": "1.3.1", + "redis-commands": "1.3.3", "redis-parser": "2.6.0" } }, "redis-commands": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz", - "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.3.tgz", + "integrity": "sha512-i41GK1SzbNp5nqmuVAMQw9sgar/cvk4YqD6M2RXp2p94D4itY82OZGVs28Jl8JcslGnOdQvlBrDLPt6jYQzuow==", "dev": true, "optional": true }, @@ -11132,6 +11334,12 @@ } } }, + "reflect-metadata": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz", + "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==", + "dev": true + }, "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", @@ -11154,12 +11362,13 @@ } }, "regex-not": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", - "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "2.0.1" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -11267,7 +11476,7 @@ "qs": "6.4.0", "safe-buffer": "5.1.1", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", "uuid": "3.2.1" }, @@ -11356,6 +11565,12 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -11406,6 +11621,15 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -11615,6 +11839,17 @@ "is-extendable": "0.1.1", "is-plain-object": "2.0.4", "split-string": "3.1.0" + }, + "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" + } + } } }, "setimmediate": { @@ -11781,6 +12016,15 @@ "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", @@ -11851,7 +12095,16 @@ "snapdragon-util": "3.0.1" }, "dependencies": { - "isobject": { + "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" + } + }, + "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", @@ -11887,7 +12140,7 @@ "engine.io": "3.1.5", "socket.io-adapter": "1.1.1", "socket.io-client": "2.0.4", - "socket.io-parser": "3.1.2" + "socket.io-parser": "3.1.3" } }, "socket.io-adapter": { @@ -11913,22 +12166,31 @@ "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "3.1.2", + "socket.io-parser": "3.1.3", "to-array": "0.1.4" } }, "socket.io-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz", - "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", + "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "2.6.9", + "debug": "3.1.0", "has-binary2": "1.0.2", "isarray": "2.0.1" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", @@ -12130,27 +12392,6 @@ "dev": true, "requires": { "extend-shallow": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } } }, "sprintf-js": { @@ -12493,9 +12734,9 @@ } }, "stylus-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.1.tgz", - "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -12664,82 +12905,15 @@ } }, "to-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", - "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "regex-not": "1.0.0" - }, - "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" - } - }, - "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 - } + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12770,9 +12944,9 @@ "dev": true }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { "punycode": "1.4.1" @@ -12831,7 +13005,7 @@ "chalk": "2.3.1", "enhanced-resolve": "3.4.1", "loader-utils": "1.1.0", - "micromatch": "3.1.5", + "micromatch": "3.1.9", "semver": "5.5.0" }, "dependencies": { @@ -12864,7 +13038,27 @@ "snapdragon": "0.8.1", "snapdragon-node": "2.1.1", "split-string": "3.1.0", - "to-regex": "3.0.1" + "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" + } + } } }, "chalk": { @@ -12888,9 +13082,9 @@ "define-property": "0.2.5", "extend-shallow": "2.0.1", "posix-character-classes": "0.1.1", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -12901,6 +13095,32 @@ "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-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 } } }, @@ -12915,9 +13135,29 @@ "expand-brackets": "2.1.4", "extend-shallow": "2.0.1", "fragment-cache": "0.2.1", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "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": { @@ -12930,6 +13170,17 @@ "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" + } + } } }, "has-flag": { @@ -12978,25 +13229,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-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -13030,24 +13262,24 @@ "dev": true }, "micromatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", - "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", "dev": true, "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", "braces": "2.3.1", - "define-property": "1.0.0", - "extend-shallow": "2.0.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.7", + "nanomatch": "1.2.9", "object.pick": "1.3.0", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" } }, "supports-color": { @@ -13075,7 +13307,7 @@ "mkdirp": "0.5.1", "source-map-support": "0.5.3", "tsconfig": "7.0.0", - "v8flags": "3.0.1", + "v8flags": "3.0.2", "yn": "2.0.0" }, "dependencies": { @@ -13148,6 +13380,41 @@ } } }, + "tsickle": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.27.2.tgz", + "integrity": "sha512-KW+ZgY0t2cq2Qib1sfdgMiRnk+cr3brUtzZoVWjv+Ot3jNxVorFBUH+6In6hl8Dg7BI2AAFf69NHkwvZNMSFwA==", + "dev": true, + "requires": { + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map": "0.6.1", + "source-map-support": "0.5.3" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "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 + }, + "source-map-support": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz", + "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==", + "dev": true, + "requires": { + "source-map": "0.6.1" + } + } + } + }, "tslib": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", @@ -13170,7 +13437,7 @@ "resolve": "1.5.0", "semver": "5.5.0", "tslib": "1.9.0", - "tsutils": "2.21.1" + "tsutils": "2.21.2" }, "dependencies": { "chalk": { @@ -13209,9 +13476,9 @@ "optional": true }, "tsutils": { - "version": "2.21.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.21.1.tgz", - "integrity": "sha512-heMkdeQ9iUc90ynfiNo5Y+GXrEEGy86KMvnSTfHO+Q40AuNQ1lZGXcv58fuU9XTUxI0V7YIN9xPN+CO9b1Gn3w==", + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.21.2.tgz", + "integrity": "sha512-iaIuyjIUeFLdD39MYdzqBuY7Zv6+uGxSwRH4mf+HuzsnznjFz0R2tGrAe0/JvtNh91WrN8UN/DZRFTZNDuVekA==", "dev": true, "requires": { "tslib": "1.9.0" @@ -13263,10 +13530,15 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typescript": { + "version": "file:https:/registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true + }, "uglify-js": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.11.tgz", - "integrity": "sha512-AKLsYcdV+sS5eAE4NtVXF6f2u/DCQynQm0jTGxF261+Vltu1dYNuHzjqDmk11gInj+H/zJIM2EAwXG3MzPb3VA==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.12.tgz", + "integrity": "sha512-4jxrTXlV0HaXTsNILfXW0eey7Qo8qHYM6ih5ZNh45erDWU2GHmKDmekwBTskDb12h+kdd2DBvdzqVb47YzNmTA==", "dev": true, "requires": { "commander": "2.14.1", @@ -13289,9 +13561,9 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.0.tgz", - "integrity": "sha512-Bc2NeyTTSJAy2JuKaBpdvWyuySPSPHNcj70KFqu7FhfrfsjPo0Kta9jgAvPrQxnz86mOH1tk4n/I8wvZrXvetA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz", + "integrity": "sha512-CG/NvzXfemUAm5Y4Guh5eEaJYHtkG7kKNpXEJHp9QpxsFVB5/qKvYWoMaq4sa99ccZ0hM3MK8vQV9XPZB4357A==", "dev": true, "requires": { "cacache": "10.0.4", @@ -13301,16 +13573,16 @@ "source-map": "0.6.1", "uglify-es": "3.3.9", "webpack-sources": "1.1.0", - "worker-farm": "1.5.2" + "worker-farm": "1.5.4" }, "dependencies": { "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -13327,7 +13599,7 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", + "ajv": "6.2.0", "ajv-keywords": "3.1.0" } }, @@ -13379,6 +13651,15 @@ "set-value": "0.4.3" }, "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" + } + }, "set-value": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", @@ -13490,16 +13771,10 @@ } }, "upath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.2.tgz", - "integrity": "sha512-fCmij7T5LnwUme3dbnVSejvOHHlARjB3ikJFwgZfz386pHmf/gueuTLRFU94FZEaeCLlbQrweiUU700gG41tUw==", - "dev": true, - "requires": { - "lodash.endswith": "4.2.1", - "lodash.isfunction": "3.0.9", - "lodash.isstring": "4.0.1", - "lodash.startswith": "4.2.1" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz", + "integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==", + "dev": true }, "upper-case": { "version": "1.1.3", @@ -13712,9 +13987,9 @@ "optional": true }, "v8flags": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.1.tgz", - "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.2.tgz", + "integrity": "sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==", "dev": true, "requires": { "homedir-polyfill": "1.0.1" @@ -13871,15 +14146,15 @@ } }, "webpack": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", - "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz", + "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==", "dev": true, "requires": { "acorn": "5.4.1", "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", + "ajv": "6.2.0", + "ajv-keywords": "3.1.0", "async": "2.6.0", "enhanced-resolve": "3.4.1", "escope": "3.6.0", @@ -13900,11 +14175,16 @@ "yargs": "8.0.2" }, "dependencies": { - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true + "ajv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", + "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", + "dev": true, + "requires": { + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } }, "ansi-regex": { "version": "3.0.0", @@ -14190,16 +14470,16 @@ } }, "webpack-dev-server": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz", - "integrity": "sha512-ombhu5KsO/85sVshIDTyQ5HF3xjZR3N0sf5Ao6h3vFwpNyzInEzA1GV3QPVjTMLTNckp8PjfG1PFGznzBwS5lg==", + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.2.tgz", + "integrity": "sha512-zrPoX97bx47vZiAXfDrkw8pe9QjJ+lunQl3dypojyWwWr1M5I2h0VSrMPfTjopHQPRNn+NqfjcMmhoLcUJe2gA==", "dev": true, "requires": { "ansi-html": "0.0.7", "array-includes": "3.0.3", "bonjour": "3.5.0", "chokidar": "2.0.2", - "compression": "1.7.1", + "compression": "1.7.2", "connect-history-api-fallback": "1.5.0", "debug": "3.1.0", "del": "3.0.0", @@ -14230,7 +14510,7 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.5", + "micromatch": "3.1.9", "normalize-path": "2.1.1" } }, @@ -14263,7 +14543,27 @@ "snapdragon": "0.8.1", "snapdragon-node": "2.1.1", "split-string": "3.1.0", - "to-regex": "3.0.1" + "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" + } + } } }, "camelcase": { @@ -14289,7 +14589,7 @@ "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0", - "upath": "1.0.2" + "upath": "1.0.4" } }, "debug": { @@ -14311,9 +14611,9 @@ "define-property": "0.2.5", "extend-shallow": "2.0.1", "posix-character-classes": "0.1.1", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -14333,6 +14633,32 @@ "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-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 } } }, @@ -14347,9 +14673,29 @@ "expand-brackets": "2.1.4", "extend-shallow": "2.0.1", "fragment-cache": "0.2.1", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "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": { @@ -14362,6 +14708,17 @@ "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" + } + } } }, "glob-parent": { @@ -14431,25 +14788,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", @@ -14498,24 +14836,24 @@ "dev": true }, "micromatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", - "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", "dev": true, "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", "braces": "2.3.1", - "define-property": "1.0.0", - "extend-shallow": "2.0.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.7", + "nanomatch": "1.2.9", "object.pick": "1.3.0", - "regex-not": "1.0.0", + "regex-not": "1.0.2", "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "to-regex": "3.0.2" } }, "supports-color": { @@ -14566,9 +14904,9 @@ } }, "webpack-merge": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.1.tgz", - "integrity": "sha512-geQsZ86YkXOVOjvPC5yv3JSNnL6/X3Kzh935AQ/gJNEYXEfJDQFu/sdFuktS9OW2JcH/SJec8TGfRdrpHshH7A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", + "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", "dev": true, "requires": { "lodash": "4.17.5" @@ -14666,9 +15004,9 @@ "dev": true }, "worker-farm": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", - "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.4.tgz", + "integrity": "sha512-ITyClEvcfv0ozqJl1vmWFWhvI+OIrkbInYqkEPE50wFPXj8J9Gd3FYf8+CkZJXJJsQBYe+2DvmoK9Zhx5w8W+w==", "dev": true, "requires": { "errno": "0.1.7", diff --git a/src/apps/universal-app/package.json b/src/apps/universal-app/package.json index c1364b067..8818c12cc 100644 --- a/src/apps/universal-app/package.json +++ b/src/apps/universal-app/package.json @@ -17,10 +17,11 @@ "private": true, "dependencies": { "@angular/animations": "file:../../../node_modules/@angular/animations", + "@angular/cdk": "file:../../../node_modules/@angular/cdk", "@angular/common": "file:../../../node_modules/@angular/common", "@angular/compiler": "file:../../../node_modules/@angular/compiler", "@angular/core": "file:../../../node_modules/@angular/core", - "@angular/flex-layout": "file:../../../dist/releases/flex-layout/angular-flex-layout-2.0.0-beta.12.tgz", + "@angular/flex-layout": "file:../../../dist/releases/flex-layout/angular-flex-layout.tgz", "@angular/forms": "file:../../../node_modules/@angular/forms", "@angular/http": "file:../../../node_modules/@angular/http", "@angular/platform-browser": "file:../../../node_modules/@angular/platform-browser", @@ -34,8 +35,8 @@ }, "devDependencies": { "@angular/cli": "1.6.6", - "@angular/compiler-cli": "file:../../../node_modules/@angular/compiler-cli", - "@angular/language-service": "file:../../../node_modules/@angular/language-service", + "@angular/compiler-cli": "~5.2.0", + "@angular/language-service": "~5.2.0", "@types/jasmine": "~2.8.3", "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", @@ -51,7 +52,7 @@ "ts-loader": "^3.4.0", "ts-node": "~4.1.0", "tslint": "~5.9.1", - "typescript": "~2.6.2", + "typescript": "file:../../../node_modules/typescript", "webpack": "^3.10.0" } } diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts deleted file mode 100644 index 327e7b9d2..000000000 --- a/src/lib/api/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -export * from './core/base'; -export * from './core/base-adapter'; -export * from './core/responsive-activation'; - -export * from './flexbox/layout'; -export * from './flexbox/layout-align'; -export * from './flexbox/layout-gap'; - -export * from './flexbox/flex'; -export * from './flexbox/flex-align'; -export * from './flexbox/flex-fill'; -export * from './flexbox/flex-offset'; -export * from './flexbox/flex-order'; - -export * from './ext/class'; -export * from './ext/style'; -export * from './ext/show-hide'; -export * from './ext/img-src'; - diff --git a/src/lib/bidi/README.md b/src/lib/bidi/README.md deleted file mode 100644 index 3d39cf408..000000000 --- a/src/lib/bidi/README.md +++ /dev/null @@ -1,6 +0,0 @@ -This directory contains a mirror of the Angular CDK `BidiModule`. It is included in this package to -avoid a direct dependency on `@angular/cdk`, which may be a burden to users. - -This package may/may not be removed in upcoming releases, so users are encouraged not to depend on it -explicitly. If there are any issues encountered with the `BidiModule`, please file them in the -Angular Material [repo](https://github.com/angular/material2/issues). \ No newline at end of file diff --git a/src/lib/bidi/bidi-module.ts b/src/lib/bidi/bidi-module.ts deleted file mode 100644 index 84c482f10..000000000 --- a/src/lib/bidi/bidi-module.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import {NgModule} from '@angular/core'; -import {DOCUMENT} from '@angular/common'; -import {Dir} from './dir'; -import {DIR_DOCUMENT, Directionality} from './directionality'; - - -@NgModule({ - exports: [Dir], - declarations: [Dir], - providers: [ - {provide: DIR_DOCUMENT, useExisting: DOCUMENT}, - Directionality, - ] -}) -export class BidiModule { } diff --git a/src/lib/bidi/bidi.md b/src/lib/bidi/bidi.md deleted file mode 100644 index 0ae5f4ed4..000000000 --- a/src/lib/bidi/bidi.md +++ /dev/null @@ -1,39 +0,0 @@ -The `bidi` package provides a common system for components to get and respond to change in the -application's LTR/RTL layout direction. This directory was copied straight from -https://github.com/angular/material2/blob/master/src/cdk/bidi/ - -### Directionality - -When including the CDK's `BidiModule`, components can inject `Directionality` to get the current -text direction (RTL or LTR); - -#### Example -```ts -@Component({ ... }) -export class MyWidget implements OnDestroy { - - /** Whether the widget is in RTL mode or not. */ - private isRtl: boolean; - - /** Subscription to the Directionality change EventEmitter. */ - private _dirChangeSubscription = Subscription.EMPTY; - - constructor(dir: Directionality) { - this.isRtl = dir.value === 'rtl'; - - _dirChangeSubscription = dir.change.subscribe(() => { - this.flipDirection(); - }); - } - - ngOnDestroy() { - this._dirChangeSubscription.unsubscribe(); - } -} -``` - -### The `Dir` directive -The `BidiModule` also includes a directive that matches any elements with a `dir` attribute. This -directive has the same API as Directionality and provides itself _as_ `Directionality`. By doing -this, any component that injects `Directionality` will get the closest ancestor layout direction -context. \ No newline at end of file diff --git a/src/lib/bidi/dir.ts b/src/lib/bidi/dir.ts deleted file mode 100644 index 56a3f0194..000000000 --- a/src/lib/bidi/dir.ts +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { - Directive, - Output, - Input, - EventEmitter, - AfterContentInit, - OnDestroy, - } from '@angular/core'; - - import {Direction, Directionality} from './directionality'; - - /** - * Directive to listen for changes of direction of part of the DOM. - * - * Provides itself as Directionality such that descendant directives only need to ever inject - * Directionality to get the closest direction. - */ - @Directive({ - selector: '[dir]', - providers: [{provide: Directionality, useExisting: Dir}], - host: {'[dir]': 'dir'}, - exportAs: 'dir', - }) - export class Dir implements Directionality, AfterContentInit, OnDestroy { - _dir: Direction = 'ltr'; - - /** Whether the `value` has been set to its initial value. */ - private _isInitialized: boolean = false; - - /** Event emitted when the direction changes. */ - @Output('dirChange') change = new EventEmitter(); - - /** @docs-private */ - @Input() - get dir(): Direction { return this._dir; } - set dir(v: Direction) { - const old = this._dir; - this._dir = v; - if (old !== this._dir && this._isInitialized) { - this.change.emit(this._dir); - } - } - - /** Current layout direction of the element. */ - get value(): Direction { return this.dir; } - - /** Initialize once default value has been set. */ - ngAfterContentInit() { - this._isInitialized = true; - } - - ngOnDestroy() { - this.change.complete(); - } - } diff --git a/src/lib/bidi/directionality.spec.ts b/src/lib/bidi/directionality.spec.ts deleted file mode 100644 index ad14f0117..000000000 --- a/src/lib/bidi/directionality.spec.ts +++ /dev/null @@ -1,121 +0,0 @@ -import {async, fakeAsync, TestBed} from '@angular/core/testing'; -import {Component} from '@angular/core'; -import {By} from '@angular/platform-browser'; -import {BidiModule, Directionality, Direction, DIR_DOCUMENT} from './index'; - -describe('Directionality', () => { - let fakeDocument: FakeDocument; - - beforeEach(async(() => { - fakeDocument = {body: {}, documentElement: {}}; - - TestBed.configureTestingModule({ - imports: [BidiModule], - declarations: [ElementWithDir, InjectsDirectionality], - providers: [{provide: DIR_DOCUMENT, useFactory: () => fakeDocument}], - }).compileComponents(); - })); - - describe('Service', () => { - it('should read dir from the html element if not specified on the body', () => { - fakeDocument.documentElement.dir = 'rtl'; - - let fixture = TestBed.createComponent(InjectsDirectionality); - let testComponent = fixture.debugElement.componentInstance; - - expect(testComponent.dir.value).toBe('rtl'); - }); - - it('should read dir from the body even it is also specified on the html element', () => { - fakeDocument.documentElement.dir = 'ltr'; - fakeDocument.body.dir = 'rtl'; - - let fixture = TestBed.createComponent(InjectsDirectionality); - let testComponent = fixture.debugElement.componentInstance; - - expect(testComponent.dir.value).toBe('rtl'); - }); - - it('should default to ltr if nothing is specified on either body or the html element', () => { - let fixture = TestBed.createComponent(InjectsDirectionality); - let testComponent = fixture.debugElement.componentInstance; - - expect(testComponent.dir.value).toBe('ltr'); - }); - }); - - describe('Dir directive', () => { - it('should provide itself as Directionality', () => { - let fixture = TestBed.createComponent(ElementWithDir); - const injectedDirectionality = - fixture.debugElement.query(By.directive(InjectsDirectionality)).componentInstance.dir; - - fixture.detectChanges(); - - expect(injectedDirectionality.value).toBe('rtl'); - }); - - it('should emit a change event when the value changes', fakeAsync(() => { - let fixture = TestBed.createComponent(ElementWithDir); - const injectedDirectionality = - fixture.debugElement.query(By.directive(InjectsDirectionality)).componentInstance.dir; - - fixture.detectChanges(); - - let direction = injectedDirectionality.value; - injectedDirectionality.change.subscribe((dir: Direction) => { direction = dir; }); - - expect(direction).toBe('rtl'); - expect(injectedDirectionality.value).toBe('rtl'); - expect(fixture.componentInstance.changeCount).toBe(0); - - fixture.componentInstance.direction = 'ltr'; - - fixture.detectChanges(); - - expect(direction).toBe('ltr'); - expect(injectedDirectionality.value).toBe('ltr'); - expect(fixture.componentInstance.changeCount).toBe(1); - })); - - it('should complete the change stream on destroy', fakeAsync(() => { - const fixture = TestBed.createComponent(ElementWithDir); - const dir = - fixture.debugElement.query(By.directive(InjectsDirectionality)).componentInstance.dir; - const spy = jasmine.createSpy('complete spy'); - const subscription = dir.change.subscribe(undefined, undefined, spy); - - fixture.destroy(); - expect(spy).toHaveBeenCalled(); - subscription.unsubscribe(); - })); - - }); -}); - - -@Component({ - template: ` -
- -
- ` -}) -class ElementWithDir { - direction = 'rtl'; - changeCount = 0; -} - -/** Test component with Dir directive. */ -@Component({ - selector: 'injects-directionality', - template: `
` -}) -class InjectsDirectionality { - constructor(public dir: Directionality) { } -} - -interface FakeDocument { - documentElement: {dir?: string}; - body: {dir?: string}; -} diff --git a/src/lib/bidi/directionality.ts b/src/lib/bidi/directionality.ts deleted file mode 100644 index 323ec17b9..000000000 --- a/src/lib/bidi/directionality.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { - EventEmitter, - Injectable, - Optional, - Inject, - InjectionToken, - } from '@angular/core'; - - - export type Direction = 'ltr' | 'rtl'; - - /** - * Injection token used to inject the document into Directionality. - * This is used so that the value can be faked in tests. - * - * We can't use the real document in tests because changing the real `dir` causes geometry-based - * tests in Safari to fail. - * - * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests - * themselves use things like `querySelector` in test code. - */ - export const DIR_DOCUMENT = new InjectionToken('cdk-dir-doc'); - - /** - * The directionality (LTR / RTL) context for the application (or a subtree of it). - * Exposes the current direction and a stream of direction changes. - */ - @Injectable() - export class Directionality { - /** The current 'ltr' or 'rtl' value. */ - readonly value: Direction = 'ltr'; - - /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */ - readonly change = new EventEmitter(); - - constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) { - if (_document) { - // TODO: handle 'auto' value - - // We still need to account for dir="auto". - // It looks like HTMLElemenet.dir is also "auto" when that's set to the attribute, - // but getComputedStyle return either "ltr" or "rtl". avoiding getComputedStyle for now - const bodyDir = _document.body ? _document.body.dir : null; - const htmlDir = _document.documentElement ? _document.documentElement.dir : null; - this.value = (bodyDir || htmlDir || 'ltr') as Direction; - } - } - } diff --git a/src/lib/core/README.md b/src/lib/core/README.md new file mode 100644 index 000000000..102cbd507 --- /dev/null +++ b/src/lib/core/README.md @@ -0,0 +1,25 @@ +The `core` entrypoint contains all of the common utilities to build Layout +components. Its primary exports are the `MediaQuery` utilities (`MatchMedia`, +`ObservableMedia`) and the module that encapsulates the imports of these +providers, the `MediaQueriesModule`, and the base directive for layout +components, `BaseFxDirective`. These utilies can be imported separately +from the root module to take advantage of tree shaking. + +```typescript +import {NgModule} from '@angular/core'; +import {MediaQueriesModule} from '@angular/flex-layout/core'; + +@NgModule(({ + imports: [ + ... other imports here + MediaQueriesModule, + ] +})) +export class AppModule {} +``` + +```typescript +import {BaseFxDirective} from '@angular/flex-layout/core'; + +export class NewLayoutDirective extends BaseFxDirective {} +``` \ No newline at end of file diff --git a/src/lib/utils/add-alias.ts b/src/lib/core/add-alias.ts similarity index 75% rename from src/lib/utils/add-alias.ts rename to src/lib/core/add-alias.ts index 6b0b62412..ae9206fa0 100644 --- a/src/lib/utils/add-alias.ts +++ b/src/lib/core/add-alias.ts @@ -5,9 +5,9 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {MediaChange} from '../media-query/media-change'; -import {BreakPoint} from '../media-query/breakpoints/break-point'; -import {extendObject} from './object-extend'; +import {MediaChange} from './media-change'; +import {BreakPoint} from './breakpoints/break-point'; +import {extendObject} from '../utils/object-extend'; /** * For the specified MediaChange, make sure it contains the breakpoint alias diff --git a/src/lib/api/core/base-adapter.spec.ts b/src/lib/core/base/base-adapter.spec.ts similarity index 92% rename from src/lib/api/core/base-adapter.spec.ts rename to src/lib/core/base/base-adapter.spec.ts index c68a1ec72..dde126ca7 100644 --- a/src/lib/api/core/base-adapter.spec.ts +++ b/src/lib/core/base/base-adapter.spec.ts @@ -8,8 +8,8 @@ import {ElementRef} from '@angular/core'; import {BaseFxDirectiveAdapter} from './base-adapter'; import {expect} from '../../utils/testing/custom-matchers'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {StyleUtils} from '../../utils/styling/style-utils'; +import {MediaMonitor} from '../media-monitor/media-monitor'; +import {StyleUtils} from '../style-utils/style-utils'; describe('BaseFxDirectiveAdapter class', () => { let component; diff --git a/src/lib/api/core/base-adapter.ts b/src/lib/core/base/base-adapter.ts similarity index 93% rename from src/lib/api/core/base-adapter.ts rename to src/lib/core/base/base-adapter.ts index 885b0173f..c4639edcb 100644 --- a/src/lib/api/core/base-adapter.ts +++ b/src/lib/core/base/base-adapter.ts @@ -8,10 +8,10 @@ import {ElementRef} from '@angular/core'; import {BaseFxDirective} from './base'; -import {ResponsiveActivation} from './responsive-activation'; -import {MediaQuerySubscriber} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {StyleUtils} from '../../utils/styling/style-utils'; +import {ResponsiveActivation} from '../responsive-activation/responsive-activation'; +import {MediaQuerySubscriber} from '../media-change'; +import {MediaMonitor} from '../media-monitor/media-monitor'; +import {StyleUtils} from '../style-utils/style-utils'; /** diff --git a/src/lib/api/core/base.ts b/src/lib/core/base/base.ts similarity index 96% rename from src/lib/api/core/base.ts rename to src/lib/core/base/base.ts index 439f4ad88..955e4730a 100644 --- a/src/lib/api/core/base.ts +++ b/src/lib/core/base/base.ts @@ -17,11 +17,11 @@ import {buildLayoutCSS} from '../../utils/layout-validator'; import { StyleDefinition, StyleUtils, -} from '../../utils/styling/style-utils'; +} from '../style-utils/style-utils'; -import {ResponsiveActivation, KeyOptions} from '../core/responsive-activation'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {MediaQuerySubscriber} from '../../media-query/media-change'; +import {ResponsiveActivation, KeyOptions} from '../responsive-activation/responsive-activation'; +import {MediaMonitor} from '../media-monitor/media-monitor'; +import {MediaQuerySubscriber} from '../media-change'; /** Abstract base class for the Layout API styling directives. */ export abstract class BaseFxDirective implements OnDestroy, OnChanges { diff --git a/src/lib/bidi/public-api.ts b/src/lib/core/base/index.ts similarity index 60% rename from src/lib/bidi/public-api.ts rename to src/lib/core/base/index.ts index 3e20fe799..855382060 100644 --- a/src/lib/bidi/public-api.ts +++ b/src/lib/core/base/index.ts @@ -6,6 +6,5 @@ * found in the LICENSE file at https://angular.io/license */ -export {Directionality, DIR_DOCUMENT, Direction} from './directionality'; -export {Dir} from './dir'; -export * from './bidi-module'; +export * from './base'; +export * from './base-adapter'; diff --git a/src/lib/media-query/breakpoints/break-point-registry.spec.ts b/src/lib/core/breakpoints/break-point-registry.spec.ts similarity index 100% rename from src/lib/media-query/breakpoints/break-point-registry.spec.ts rename to src/lib/core/breakpoints/break-point-registry.spec.ts diff --git a/src/lib/media-query/breakpoints/break-point-registry.ts b/src/lib/core/breakpoints/break-point-registry.ts similarity index 100% rename from src/lib/media-query/breakpoints/break-point-registry.ts rename to src/lib/core/breakpoints/break-point-registry.ts diff --git a/src/lib/media-query/breakpoints/break-point.ts b/src/lib/core/breakpoints/break-point.ts similarity index 100% rename from src/lib/media-query/breakpoints/break-point.ts rename to src/lib/core/breakpoints/break-point.ts diff --git a/src/lib/media-query/breakpoints/break-points-provider.ts b/src/lib/core/breakpoints/break-points-provider.ts similarity index 97% rename from src/lib/media-query/breakpoints/break-points-provider.ts rename to src/lib/core/breakpoints/break-points-provider.ts index d1c0a9844..7340392c7 100644 --- a/src/lib/media-query/breakpoints/break-points-provider.ts +++ b/src/lib/core/breakpoints/break-points-provider.ts @@ -13,7 +13,7 @@ import {DEFAULT_BREAKPOINTS} from './data/break-points'; import {ORIENTATION_BREAKPOINTS} from './data/orientation-break-points'; import {extendObject} from '../../utils/object-extend'; -import {mergeByAlias, validateSuffixes} from '../../utils/breakpoint-tools'; +import {mergeByAlias, validateSuffixes} from './breakpoint-tools'; /** diff --git a/src/lib/media-query/breakpoints/break-points-token.ts b/src/lib/core/breakpoints/break-points-token.ts similarity index 100% rename from src/lib/media-query/breakpoints/break-points-token.ts rename to src/lib/core/breakpoints/break-points-token.ts diff --git a/src/lib/utils/breakpoint-tools.spec.ts b/src/lib/core/breakpoints/breakpoint-tools.spec.ts similarity index 95% rename from src/lib/utils/breakpoint-tools.spec.ts rename to src/lib/core/breakpoints/breakpoint-tools.spec.ts index 6c025e62e..90ebf7a14 100644 --- a/src/lib/utils/breakpoint-tools.spec.ts +++ b/src/lib/core/breakpoints/breakpoint-tools.spec.ts @@ -7,12 +7,12 @@ */ import {TestBed, inject} from '@angular/core/testing'; -import {BreakPoint} from '../media-query/breakpoints/break-point'; -import {BREAKPOINTS} from '../media-query/breakpoints/break-points-token'; +import {BreakPoint} from './break-point'; +import {BREAKPOINTS} from './break-points-token'; import { DEFAULT_BREAKPOINTS_PROVIDER, buildMergedBreakPoints -} from '../media-query/breakpoints/break-points-provider'; +} from './break-points-provider'; import {validateSuffixes, mergeByAlias} from './breakpoint-tools'; describe('breakpoint-tools', () => { diff --git a/src/lib/utils/breakpoint-tools.ts b/src/lib/core/breakpoints/breakpoint-tools.ts similarity index 94% rename from src/lib/utils/breakpoint-tools.ts rename to src/lib/core/breakpoints/breakpoint-tools.ts index 542b878b8..f39fd9d19 100644 --- a/src/lib/utils/breakpoint-tools.ts +++ b/src/lib/core/breakpoints/breakpoint-tools.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import {BreakPoint} from '../media-query/breakpoints/break-point'; -import {extendObject} from './object-extend'; +import {BreakPoint} from './break-point'; +import {extendObject} from '../../utils/object-extend'; const ALIAS_DELIMITERS = /(\.|-|_)/g; function firstUpperCase(part: string) { diff --git a/src/lib/media-query/breakpoints/data/break-points.spec.ts b/src/lib/core/breakpoints/data/break-points.spec.ts similarity index 100% rename from src/lib/media-query/breakpoints/data/break-points.spec.ts rename to src/lib/core/breakpoints/data/break-points.spec.ts diff --git a/src/lib/media-query/breakpoints/data/break-points.ts b/src/lib/core/breakpoints/data/break-points.ts similarity index 100% rename from src/lib/media-query/breakpoints/data/break-points.ts rename to src/lib/core/breakpoints/data/break-points.ts diff --git a/src/lib/media-query/breakpoints/data/orientation-break-points.spec.ts b/src/lib/core/breakpoints/data/orientation-break-points.spec.ts similarity index 100% rename from src/lib/media-query/breakpoints/data/orientation-break-points.spec.ts rename to src/lib/core/breakpoints/data/orientation-break-points.spec.ts diff --git a/src/lib/media-query/breakpoints/data/orientation-break-points.ts b/src/lib/core/breakpoints/data/orientation-break-points.ts similarity index 100% rename from src/lib/media-query/breakpoints/data/orientation-break-points.ts rename to src/lib/core/breakpoints/data/orientation-break-points.ts diff --git a/src/lib/core/breakpoints/index.ts b/src/lib/core/breakpoints/index.ts new file mode 100644 index 000000000..e2e937ac3 --- /dev/null +++ b/src/lib/core/breakpoints/index.ts @@ -0,0 +1,15 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './data/break-points'; +export * from './data/orientation-break-points'; + +export * from './break-point'; +export * from './break-point-registry'; +export * from './break-points-provider'; +export * from './break-points-token'; diff --git a/src/lib/utils/styling/browser-provider.ts b/src/lib/core/browser-provider.ts similarity index 100% rename from src/lib/utils/styling/browser-provider.ts rename to src/lib/core/browser-provider.ts diff --git a/src/lib/bidi/index.ts b/src/lib/core/index.ts similarity index 100% rename from src/lib/bidi/index.ts rename to src/lib/core/index.ts diff --git a/src/lib/utils/styling/index.ts b/src/lib/core/match-media/index.ts similarity index 54% rename from src/lib/utils/styling/index.ts rename to src/lib/core/match-media/index.ts index 1e06510cc..22fa3c238 100644 --- a/src/lib/utils/styling/index.ts +++ b/src/lib/core/match-media/index.ts @@ -6,8 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -export * from './style-utils'; -export * from './style-transforms'; -export * from './browser-provider'; -export * from './server-stylesheet'; -export * from './server-token'; +export * from './match-media'; +export * from './mock/mock-match-media'; +export * from './server-match-media'; diff --git a/src/lib/media-query/match-media.spec.ts b/src/lib/core/match-media/match-media.spec.ts similarity index 94% rename from src/lib/media-query/match-media.spec.ts rename to src/lib/core/match-media/match-media.spec.ts index 69c11f652..7ffc69d38 100644 --- a/src/lib/media-query/match-media.spec.ts +++ b/src/lib/core/match-media/match-media.spec.ts @@ -9,14 +9,14 @@ import {Observable} from 'rxjs/Observable'; import {TestBed, inject, async} from '@angular/core/testing'; -import {MediaChange} from './media-change'; -import {BreakPoint} from './breakpoints/break-point'; +import {MediaChange} from '../media-change'; +import {BreakPoint} from '../breakpoints/break-point'; import {MockMatchMedia} from './mock/mock-match-media'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from './breakpoints/break-points-provider'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; +import {DEFAULT_BREAKPOINTS_PROVIDER} from '../breakpoints/break-points-provider'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; import {MatchMedia} from './match-media'; -import {ObservableMedia} from './observable-media'; -import {OBSERVABLE_MEDIA_PROVIDER} from './observable-media-provider'; +import {ObservableMedia} from '../observable-media/observable-media'; +import {OBSERVABLE_MEDIA_PROVIDER} from '../observable-media/observable-media-provider'; describe('match-media', () => { let matchMedia: MockMatchMedia; diff --git a/src/lib/media-query/match-media.ts b/src/lib/core/match-media/match-media.ts similarity index 99% rename from src/lib/media-query/match-media.ts rename to src/lib/core/match-media/match-media.ts index 2abbabb61..1f921b09d 100644 --- a/src/lib/media-query/match-media.ts +++ b/src/lib/core/match-media/match-media.ts @@ -11,7 +11,7 @@ import {BehaviorSubject} from 'rxjs/BehaviorSubject'; import {Observable} from 'rxjs/Observable'; import {filter} from 'rxjs/operators/filter'; -import {MediaChange} from './media-change'; +import {MediaChange} from '../media-change'; /** * MediaMonitor configures listeners to mediaQuery changes and publishes an Observable facade to diff --git a/src/lib/media-query/mock/mock-match-media.spec.ts b/src/lib/core/match-media/mock/mock-match-media.spec.ts similarity index 96% rename from src/lib/media-query/mock/mock-match-media.spec.ts rename to src/lib/core/match-media/mock/mock-match-media.spec.ts index 24aeab4d7..1f98fcf43 100644 --- a/src/lib/media-query/mock/mock-match-media.spec.ts +++ b/src/lib/core/match-media/mock/mock-match-media.spec.ts @@ -8,11 +8,11 @@ import {TestBed, inject, async} from '@angular/core/testing'; -import {MediaChange} from '../media-change'; -import {BreakPoint} from '../breakpoints/break-point'; +import {MediaChange} from '../../media-change'; +import {BreakPoint} from '../../breakpoints/break-point'; import {MockMatchMedia} from './mock-match-media'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../breakpoints/break-points-provider'; +import {BreakPointRegistry} from '../../breakpoints/break-point-registry'; describe('mock-match-media', () => { let breakPoints: BreakPointRegistry; diff --git a/src/lib/media-query/mock/mock-match-media.ts b/src/lib/core/match-media/mock/mock-match-media.ts similarity index 98% rename from src/lib/media-query/mock/mock-match-media.ts rename to src/lib/core/match-media/mock/mock-match-media.ts index 679e466e9..81d87a5da 100644 --- a/src/lib/media-query/mock/mock-match-media.ts +++ b/src/lib/core/match-media/mock/mock-match-media.ts @@ -9,7 +9,7 @@ import {Inject, Injectable, NgZone, PLATFORM_ID} from '@angular/core'; import {DOCUMENT} from '@angular/common'; import {MatchMedia} from '../match-media'; -import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {BreakPointRegistry} from '../../breakpoints/break-point-registry'; /** * MockMatchMedia mocks calls to the Window API matchMedia with a build of a simulated diff --git a/src/lib/media-query/server-match-media.ts b/src/lib/core/match-media/server-match-media.ts similarity index 97% rename from src/lib/media-query/server-match-media.ts rename to src/lib/core/match-media/server-match-media.ts index a7020cc51..a54fafc3a 100644 --- a/src/lib/media-query/server-match-media.ts +++ b/src/lib/core/match-media/server-match-media.ts @@ -8,10 +8,11 @@ import {DOCUMENT} from '@angular/common'; import {Inject, Injectable, NgZone, PLATFORM_ID} from '@angular/core'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; -import {MediaChange} from './media-change'; -import {BreakPoint} from './breakpoints/break-point'; import {Observable} from 'rxjs/Observable'; + +import {BreakPoint} from '../breakpoints/break-point'; import {MatchMedia} from './match-media'; +import {MediaChange} from '../media-change'; /** * Special server-only class to simulate a MediaQueryList and diff --git a/src/lib/media-query/media-change.ts b/src/lib/core/media-change.ts similarity index 100% rename from src/lib/media-query/media-change.ts rename to src/lib/core/media-change.ts diff --git a/src/lib/core/media-monitor/index.ts b/src/lib/core/media-monitor/index.ts new file mode 100644 index 000000000..f9e05a2a5 --- /dev/null +++ b/src/lib/core/media-monitor/index.ts @@ -0,0 +1,10 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './media-monitor'; +export * from './media-monitor-provider'; diff --git a/src/lib/media-query/media-monitor-provider.ts b/src/lib/core/media-monitor/media-monitor-provider.ts similarity index 88% rename from src/lib/media-query/media-monitor-provider.ts rename to src/lib/core/media-monitor/media-monitor-provider.ts index 30f239f25..189603423 100644 --- a/src/lib/media-query/media-monitor-provider.ts +++ b/src/lib/core/media-monitor/media-monitor-provider.ts @@ -8,8 +8,8 @@ import {Optional, SkipSelf} from '@angular/core'; import {MediaMonitor} from './media-monitor'; -import {MatchMedia} from './match-media'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; +import {MatchMedia} from '../match-media/match-media'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; /** * Ensure a single global service provider diff --git a/src/lib/media-query/media-monitor.spec.ts b/src/lib/core/media-monitor/media-monitor.spec.ts similarity index 92% rename from src/lib/media-query/media-monitor.spec.ts rename to src/lib/core/media-monitor/media-monitor.spec.ts index 26f3e573f..7882e54e6 100644 --- a/src/lib/media-query/media-monitor.spec.ts +++ b/src/lib/core/media-monitor/media-monitor.spec.ts @@ -7,12 +7,12 @@ */ import {TestBed, inject, async} from '@angular/core/testing'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from './breakpoints/break-points-provider'; -import {DEFAULT_BREAKPOINTS} from './breakpoints/data/break-points'; -import {MediaChange} from './media-change'; -import {MockMatchMedia} from './mock/mock-match-media'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; -import {MatchMedia} from './match-media'; +import {DEFAULT_BREAKPOINTS_PROVIDER} from '../breakpoints/break-points-provider'; +import {DEFAULT_BREAKPOINTS} from '../breakpoints/data/break-points'; +import {MediaChange} from '../media-change'; +import {MockMatchMedia} from '../match-media/mock/mock-match-media'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {MatchMedia} from '../match-media/match-media'; import {MediaMonitor} from './media-monitor'; describe('media-monitor', () => { diff --git a/src/lib/media-query/media-monitor.ts b/src/lib/core/media-monitor/media-monitor.ts similarity index 92% rename from src/lib/media-query/media-monitor.ts rename to src/lib/core/media-monitor/media-monitor.ts index f26359291..42083c569 100644 --- a/src/lib/media-query/media-monitor.ts +++ b/src/lib/core/media-monitor/media-monitor.ts @@ -6,18 +6,17 @@ * found in the LICENSE file at https://angular.io/license */ import {Injectable} from '@angular/core'; - -import {BreakPoint} from './breakpoints/break-point'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; -import {MatchMedia} from './match-media'; -import {MediaChange} from './media-change'; - -import {mergeAlias} from '../utils/add-alias'; - import {Observable} from 'rxjs/Observable'; import {filter} from 'rxjs/operators/filter'; import {map} from 'rxjs/operators/map'; +import {BreakPoint} from '../breakpoints/break-point'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {MatchMedia} from '../match-media/match-media'; +import {MediaChange} from '../media-change'; +import {mergeAlias} from '../add-alias'; + + /** * MediaMonitor uses the MatchMedia service to observe mediaQuery changes (both activations and * deactivations). These changes are are published as MediaChange notifications. diff --git a/src/lib/media-query/_module.ts b/src/lib/core/module.ts similarity index 84% rename from src/lib/media-query/_module.ts rename to src/lib/core/module.ts index 33155f076..cf549ca58 100644 --- a/src/lib/media-query/_module.ts +++ b/src/lib/core/module.ts @@ -7,11 +7,11 @@ */ import {NgModule} from '@angular/core'; -import {MediaMonitor} from './media-monitor'; -import {OBSERVABLE_MEDIA_PROVIDER} from './observable-media-provider'; +import {MediaMonitor} from './media-monitor/media-monitor'; +import {OBSERVABLE_MEDIA_PROVIDER} from './observable-media/observable-media-provider'; import {DEFAULT_BREAKPOINTS_PROVIDER} from './breakpoints/break-points-provider'; import {BreakPointRegistry} from './breakpoints/break-point-registry'; -import {MatchMedia} from './match-media'; +import {MatchMedia} from './match-media/match-media'; /** * ***************************************************************** diff --git a/src/lib/core/observable-media/index.ts b/src/lib/core/observable-media/index.ts new file mode 100644 index 000000000..f59db303b --- /dev/null +++ b/src/lib/core/observable-media/index.ts @@ -0,0 +1,10 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './observable-media'; +export * from './observable-media-provider'; diff --git a/src/lib/media-query/observable-media-provider.ts b/src/lib/core/observable-media/observable-media-provider.ts similarity index 85% rename from src/lib/media-query/observable-media-provider.ts rename to src/lib/core/observable-media/observable-media-provider.ts index 7d2329f72..e547f85fe 100644 --- a/src/lib/media-query/observable-media-provider.ts +++ b/src/lib/core/observable-media/observable-media-provider.ts @@ -5,14 +5,10 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import { - Optional, - SkipSelf -} from '@angular/core'; +import {Optional, SkipSelf} from '@angular/core'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; - -import {MatchMedia} from './match-media'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {MatchMedia} from '../match-media/match-media'; import {ObservableMedia, MediaService} from './observable-media'; /** diff --git a/src/lib/media-query/observable-media.spec.ts b/src/lib/core/observable-media/observable-media.spec.ts similarity index 94% rename from src/lib/media-query/observable-media.spec.ts rename to src/lib/core/observable-media/observable-media.spec.ts index 030d2b1c1..c5fa6e5c7 100644 --- a/src/lib/media-query/observable-media.spec.ts +++ b/src/lib/core/observable-media/observable-media.spec.ts @@ -6,23 +6,21 @@ * found in the LICENSE file at https://angular.io/license */ import {TestBed, inject, async} from '@angular/core/testing'; - import {filter} from 'rxjs/operators/filter'; import {map} from 'rxjs/operators/map'; -import {BreakPoint} from './breakpoints/break-point'; -import {BREAKPOINTS} from './breakpoints/break-points-token'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; +import {BreakPoint} from '../breakpoints/break-point'; +import {BREAKPOINTS} from '../breakpoints/break-points-token'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; import { DEFAULT_BREAKPOINTS_PROVIDER, CUSTOM_BREAKPOINTS_PROVIDER_FACTORY -} from './breakpoints/break-points-provider'; - -import {MatchMedia} from './match-media'; -import {MediaChange} from './media-change'; +} from '../breakpoints/break-points-provider'; +import {MatchMedia} from '../match-media/match-media'; +import {MediaChange} from '../media-change'; import {ObservableMedia} from './observable-media'; import {OBSERVABLE_MEDIA_PROVIDER} from './observable-media-provider'; -import {MockMatchMediaProvider} from './mock/mock-match-media'; +import {MockMatchMediaProvider} from '../match-media/mock/mock-match-media'; describe('observable-media', () => { diff --git a/src/lib/media-query/observable-media.ts b/src/lib/core/observable-media/observable-media.ts similarity index 95% rename from src/lib/media-query/observable-media.ts rename to src/lib/core/observable-media/observable-media.ts index 0fc6241bc..4854df9b3 100644 --- a/src/lib/media-query/observable-media.ts +++ b/src/lib/core/observable-media/observable-media.ts @@ -6,19 +6,16 @@ * found in the LICENSE file at https://angular.io/license */ import {Injectable} from '@angular/core'; - import {Subscription} from 'rxjs/Subscription'; import {Observable, Subscribable} from 'rxjs/Observable'; - import {map} from 'rxjs/operators/map'; import {filter} from 'rxjs/operators/filter'; -import {BreakPointRegistry} from './breakpoints/break-point-registry'; - -import {MediaChange} from './media-change'; -import {MatchMedia} from './match-media'; -import {mergeAlias} from './../utils/add-alias'; -import {BreakPoint} from './breakpoints/break-point'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {MediaChange} from '../media-change'; +import {MatchMedia} from '../match-media/match-media'; +import {mergeAlias} from '../add-alias'; +import {BreakPoint} from '../breakpoints/break-point'; /** * Base class for MediaService and pseudo-token for diff --git a/src/lib/core/public-api.ts b/src/lib/core/public-api.ts new file mode 100644 index 000000000..a73541f89 --- /dev/null +++ b/src/lib/core/public-api.ts @@ -0,0 +1,22 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './browser-provider'; +export * from './module'; +export * from './media-change'; +export * from './renderer-adapter'; +export * from './server-stylesheet'; +export * from './server-token'; + +export * from './base/index'; +export * from './breakpoints/index'; +export * from './match-media/index'; +export * from './media-monitor/index'; +export * from './observable-media/index'; +export * from './responsive-activation/responsive-activation'; +export * from './style-utils/style-utils'; diff --git a/src/lib/api/core/renderer-adapter.ts b/src/lib/core/renderer-adapter.ts similarity index 100% rename from src/lib/api/core/renderer-adapter.ts rename to src/lib/core/renderer-adapter.ts diff --git a/src/lib/api/core/responsive-activation.spec.ts b/src/lib/core/responsive-activation/responsive-activation.spec.ts similarity index 91% rename from src/lib/api/core/responsive-activation.spec.ts rename to src/lib/core/responsive-activation/responsive-activation.spec.ts index c5d4f6625..86d6c7c30 100644 --- a/src/lib/api/core/responsive-activation.spec.ts +++ b/src/lib/core/responsive-activation/responsive-activation.spec.ts @@ -5,19 +5,15 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ - -// RxJS Operators used by the classes... - import {TestBed, inject} from '@angular/core/testing'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; - -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; -import {MediaMonitor} from '../../media-query/media-monitor'; +import {DEFAULT_BREAKPOINTS_PROVIDER} from '../breakpoints/break-points-provider'; +import {BreakPointRegistry} from '../breakpoints/break-point-registry'; +import {MockMatchMedia} from '../match-media/mock/mock-match-media'; +import {MatchMedia} from '../match-media/match-media'; +import {MediaMonitor} from '../media-monitor/media-monitor'; import {ResponsiveActivation, KeyOptions} from './responsive-activation'; -import {MediaQuerySubscriber, MediaChange} from '../../media-query/media-change'; +import {MediaQuerySubscriber, MediaChange} from '../media-change'; describe('responsive-activation', () => { let monitor: MediaMonitor; diff --git a/src/lib/api/core/responsive-activation.ts b/src/lib/core/responsive-activation/responsive-activation.ts similarity index 96% rename from src/lib/api/core/responsive-activation.ts rename to src/lib/core/responsive-activation/responsive-activation.ts index 070d62067..c5e093f40 100644 --- a/src/lib/api/core/responsive-activation.ts +++ b/src/lib/core/responsive-activation/responsive-activation.ts @@ -8,13 +8,12 @@ import {Subscription} from 'rxjs/Subscription'; import {map} from 'rxjs/operators/map'; -import {MediaChange, MediaQuerySubscriber} from '../../media-query/media-change'; -import {BreakPoint} from '../../media-query/breakpoints/break-point'; -import {MediaMonitor} from '../../media-query/media-monitor'; - +import {MediaChange, MediaQuerySubscriber} from '../media-change'; +import {BreakPoint} from '../breakpoints/break-point'; +import {MediaMonitor} from '../media-monitor/media-monitor'; import {extendObject} from '../../utils/object-extend'; -export declare type SubscriptionList = Subscription[ ]; +export declare type SubscriptionList = Subscription[]; export interface BreakPointX extends BreakPoint { key: string; diff --git a/src/lib/utils/styling/server-stylesheet.ts b/src/lib/core/server-stylesheet.ts similarity index 100% rename from src/lib/utils/styling/server-stylesheet.ts rename to src/lib/core/server-stylesheet.ts diff --git a/src/lib/utils/styling/server-token.ts b/src/lib/core/server-token.ts similarity index 100% rename from src/lib/utils/styling/server-token.ts rename to src/lib/core/server-token.ts diff --git a/src/lib/utils/styling/style-utils.spec.ts b/src/lib/core/style-utils/style-utils.spec.ts similarity index 92% rename from src/lib/utils/styling/style-utils.spec.ts rename to src/lib/core/style-utils/style-utils.spec.ts index a42d2ca56..d7a24bc46 100644 --- a/src/lib/utils/styling/style-utils.spec.ts +++ b/src/lib/core/style-utils/style-utils.spec.ts @@ -9,10 +9,10 @@ import {Component, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, inject, TestBed} from '@angular/core/testing'; -import {customMatchers} from '../testing/custom-matchers'; -import {makeCreateTestComponent, expectNativeEl} from '../testing/helpers'; +import {customMatchers} from '../../utils/testing/custom-matchers'; +import {makeCreateTestComponent, expectNativeEl} from '../../utils/testing/helpers'; import {StyleUtils} from './style-utils'; -import {ServerStylesheet} from './server-stylesheet'; +import {ServerStylesheet} from '../server-stylesheet'; describe('styler', () => { let styler: StyleUtils; diff --git a/src/lib/utils/styling/style-utils.ts b/src/lib/core/style-utils/style-utils.ts similarity index 96% rename from src/lib/utils/styling/style-utils.ts rename to src/lib/core/style-utils/style-utils.ts index 5b7a62135..980710b64 100644 --- a/src/lib/utils/styling/style-utils.ts +++ b/src/lib/core/style-utils/style-utils.ts @@ -8,9 +8,9 @@ import {Inject, Injectable, Optional, PLATFORM_ID} from '@angular/core'; import {isPlatformBrowser, isPlatformServer} from '@angular/common'; -import {applyCssPrefixes} from '../auto-prefixer'; -import {ServerStylesheet} from './server-stylesheet'; -import {SERVER_TOKEN} from './server-token'; +import {applyCssPrefixes} from '../../utils/auto-prefixer'; +import {ServerStylesheet} from '../server-stylesheet'; +import {SERVER_TOKEN} from '../server-token'; @Injectable() export class StyleUtils { diff --git a/src/lib/core/tsconfig-build.json b/src/lib/core/tsconfig-build.json new file mode 100644 index 000000000..58439b793 --- /dev/null +++ b/src/lib/core/tsconfig-build.json @@ -0,0 +1,15 @@ +{ + "extends": "../tsconfig-build", + "files": [ + "public-api.ts", + "../typings.d.ts" + ], + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "strictMetadataEmit": false, // Workaround for Angular #22210 + "flatModuleOutFile": "index.js", + "flatModuleId": "@angular/flex-layout/core", + "skipTemplateCodegen": true, + "fullTemplateTypeCheck": true + } +} diff --git a/src/lib/extended/README.md b/src/lib/extended/README.md new file mode 100644 index 000000000..1cdcc1fcc --- /dev/null +++ b/src/lib/extended/README.md @@ -0,0 +1,18 @@ +The `extended` entrypoint contains all of the extended APIs provided by the +Layout library. This includes extensions for Angular directives like NgClass +and NgStyle, and HTML elements like ``. The main export from this +entrypoint is the `ExtendedModule` that encapsulates these directives, and +can be imported separately to take advantage of tree shaking. + +```typescript +import {NgModule} from '@angular/core'; +import {ExtendedModule} from '@angular/flex-layout/extended'; + +@NgModule(({ + imports: [ + ... other imports here + ExtendedModule, + ] +})) +export class AppModule {} +``` diff --git a/src/lib/api/ext/class.spec.ts b/src/lib/extended/class/class.spec.ts similarity index 97% rename from src/lib/api/ext/class.spec.ts rename to src/lib/extended/class/class.spec.ts index 62b6c2cad..160786107 100644 --- a/src/lib/api/ext/class.spec.ts +++ b/src/lib/extended/class/class.spec.ts @@ -8,21 +8,21 @@ import {Component, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, TestBed, async, inject} from '@angular/core/testing'; +import {MatButtonModule} from '@angular/material'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MediaQueriesModule, + MockMatchMedia, + ServerStylesheet, + StyleUtils +} from '@angular/flex-layout/core'; import {customMatchers, expect} from '../../utils/testing/custom-matchers'; import {makeCreateTestComponent, expectNativeEl, queryFor} from '../../utils/testing/helpers'; - -import {MatButtonModule} from '@angular/material'; - -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; - import {ClassDirective} from './class'; -import {MediaQueriesModule} from '../../media-query/_module'; -import {ServerStylesheet} from '../../utils/styling/server-stylesheet'; -import {StyleUtils} from '../../utils/styling/style-utils'; + describe('class directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/ext/class.ts b/src/lib/extended/class/class.ts similarity index 94% rename from src/lib/api/ext/class.ts rename to src/lib/extended/class/class.ts index 8611285c9..f3990f3ea 100644 --- a/src/lib/api/ext/class.ts +++ b/src/lib/extended/class/class.ts @@ -21,13 +21,15 @@ import { OnInit, } from '@angular/core'; import {NgClass} from '@angular/common'; +import { + BaseFxDirective, + BaseFxDirectiveAdapter, + MediaChange, + MediaMonitor, + RendererAdapter, + StyleUtils, +} from '@angular/flex-layout/core'; -import {BaseFxDirective} from '../core/base'; -import {BaseFxDirectiveAdapter} from '../core/base-adapter'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {RendererAdapter} from '../core/renderer-adapter'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** NgClass allowed inputs **/ export type NgClassType = string | string[] | Set | {[klass: string]: any}; diff --git a/src/lib/api/ext/img-src.spec.ts b/src/lib/extended/img-src/img-src.spec.ts similarity index 95% rename from src/lib/api/ext/img-src.spec.ts rename to src/lib/extended/img-src/img-src.spec.ts index b6f031daf..71449453c 100644 --- a/src/lib/api/ext/img-src.spec.ts +++ b/src/lib/extended/img-src/img-src.spec.ts @@ -8,19 +8,20 @@ import {Component, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; import {FlexLayoutModule} from '../../module'; - import {customMatchers} from '../../utils/testing/custom-matchers'; import {expectEl, makeCreateTestComponent, queryFor} from '../../utils/testing/helpers'; import {expect} from '../../utils/testing/custom-matchers'; import {_dom as _} from '../../utils/testing/dom-tools'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; -import {StyleUtils} from '../../utils/styling/style-utils'; const SRC_URLS = { 'xs': [ diff --git a/src/lib/api/ext/img-src.ts b/src/lib/extended/img-src/img-src.ts similarity index 95% rename from src/lib/api/ext/img-src.ts rename to src/lib/extended/img-src/img-src.ts index a3deefcc1..e4e17ba9e 100644 --- a/src/lib/api/ext/img-src.ts +++ b/src/lib/extended/img-src/img-src.ts @@ -16,11 +16,13 @@ import { PLATFORM_ID, } from '@angular/core'; import {isPlatformServer} from '@angular/common'; +import { + BaseFxDirective, + MediaMonitor, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {BaseFxDirective} from '../core/base'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; /** * This directive provides a responsive API for the HTML 'src' attribute diff --git a/src/lib/extended/index.ts b/src/lib/extended/index.ts new file mode 100644 index 000000000..676ca90f1 --- /dev/null +++ b/src/lib/extended/index.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './public-api'; diff --git a/src/lib/extended/module.ts b/src/lib/extended/module.ts new file mode 100644 index 000000000..e145bca56 --- /dev/null +++ b/src/lib/extended/module.ts @@ -0,0 +1,46 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import {NgModule} from '@angular/core'; +import { + BROWSER_PROVIDER, + MediaQueriesModule, + ServerStylesheet, + StyleUtils +} from '@angular/flex-layout/core'; + +import {ImgSrcDirective} from './img-src/img-src'; +import {ClassDirective} from './class/class'; +import {ShowHideDirective} from './show-hide/show-hide'; +import {StyleDirective} from './style/style'; + + +const ALL_DIRECTIVES = [ + ShowHideDirective, + ClassDirective, + StyleDirective, + ImgSrcDirective +]; + +/** + * ***************************************************************** + * Define module for the Extended API + * ***************************************************************** + */ + +@NgModule({ + imports: [MediaQueriesModule], + declarations: [...ALL_DIRECTIVES], + exports: [...ALL_DIRECTIVES], + providers: [ + ServerStylesheet, + StyleUtils, + BROWSER_PROVIDER, + ] +}) +export class ExtendedModule { +} diff --git a/src/lib/extended/public-api.ts b/src/lib/extended/public-api.ts new file mode 100644 index 000000000..607613c49 --- /dev/null +++ b/src/lib/extended/public-api.ts @@ -0,0 +1,14 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './module'; + +export * from './class/class'; +export * from './img-src/img-src'; +export * from './show-hide/show-hide'; +export * from './style/style'; diff --git a/src/lib/api/ext/hide.spec.ts b/src/lib/extended/show-hide/hide.spec.ts similarity index 93% rename from src/lib/api/ext/hide.spec.ts rename to src/lib/extended/show-hide/hide.spec.ts index fa9f8bd6c..b9a513edb 100644 --- a/src/lib/api/ext/hide.spec.ts +++ b/src/lib/extended/show-hide/hide.spec.ts @@ -8,23 +8,24 @@ import {Component, OnInit, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; - -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; -import {ObservableMedia} from '../../media-query/observable-media'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MediaQueriesModule, + MockMatchMedia, + ObservableMedia, + ServerStylesheet, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; import {customMatchers, expect, NgMatchers} from '../../utils/testing/custom-matchers'; import { makeCreateTestComponent, expectNativeEl, queryFor } from '../../utils/testing/helpers'; import {ShowHideDirective} from './show-hide'; -import {MediaQueriesModule} from '../../media-query/_module'; -import {ServerStylesheet} from '../../utils/styling/server-stylesheet'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('hide directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/ext/show-hide.ts b/src/lib/extended/show-hide/show-hide.ts similarity index 95% rename from src/lib/api/ext/show-hide.ts rename to src/lib/extended/show-hide/show-hide.ts index 71d1692a9..834e0504c 100644 --- a/src/lib/api/ext/show-hide.ts +++ b/src/lib/extended/show-hide/show-hide.ts @@ -20,13 +20,15 @@ import { } from '@angular/core'; import {isPlatformServer} from '@angular/common'; import {Subscription} from 'rxjs/Subscription'; - -import {BaseFxDirective} from '../core/base'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {LayoutDirective} from '../flexbox/layout'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; +import { + BaseFxDirective, + MediaChange, + MediaMonitor, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; + +import {LayoutDirective} from '@angular/flex-layout/flex'; const FALSY = ['false', false, 0]; diff --git a/src/lib/api/ext/show.spec.ts b/src/lib/extended/show-hide/show.spec.ts similarity index 92% rename from src/lib/api/ext/show.spec.ts rename to src/lib/extended/show-hide/show.spec.ts index d8c63033b..254fbbc72 100644 --- a/src/lib/api/ext/show.spec.ts +++ b/src/lib/extended/show-hide/show.spec.ts @@ -8,19 +8,20 @@ import {Component, OnInit, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + ObservableMedia, + ServerStylesheet, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MatchMedia} from '../../media-query/match-media'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {ObservableMedia} from '../../media-query/observable-media'; import {FlexLayoutModule} from '../../module'; - import {customMatchers} from '../../utils/testing/custom-matchers'; import {makeCreateTestComponent, expectNativeEl} from '../../utils/testing/helpers'; -import {ServerStylesheet} from '../../utils/styling/server-stylesheet'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('show directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/utils/styling/style-transforms.spec.ts b/src/lib/extended/style/style-transforms.spec.ts similarity index 96% rename from src/lib/utils/styling/style-transforms.spec.ts rename to src/lib/extended/style/style-transforms.spec.ts index 412143232..56b0df99d 100644 --- a/src/lib/utils/styling/style-transforms.spec.ts +++ b/src/lib/extended/style/style-transforms.spec.ts @@ -5,7 +5,7 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {customMatchers, expect} from '../testing/custom-matchers'; +import {customMatchers, expect} from '../../utils/testing/custom-matchers'; import {NgStyleRawList, NgStyleMap, ngStyleUtils as _} from './style-transforms'; describe('ngStyleUtils', () => { diff --git a/src/lib/utils/styling/style-transforms.ts b/src/lib/extended/style/style-transforms.ts similarity index 100% rename from src/lib/utils/styling/style-transforms.ts rename to src/lib/extended/style/style-transforms.ts diff --git a/src/lib/api/ext/style.spec.ts b/src/lib/extended/style/style.spec.ts similarity index 90% rename from src/lib/api/ext/style.spec.ts rename to src/lib/extended/style/style.spec.ts index 4dcdb60b8..a69145711 100644 --- a/src/lib/api/ext/style.spec.ts +++ b/src/lib/extended/style/style.spec.ts @@ -8,22 +8,22 @@ import {Component} from '@angular/core'; import {CommonModule} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MediaQueriesModule, + MockMatchMedia, + ServerStylesheet, + StyleUtils, +} from '@angular/flex-layout/core'; +import {LayoutDirective} from '@angular/flex-layout/flex'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; - -import {LayoutDirective} from '../flexbox/layout'; import {StyleDirective} from './style'; -import {MediaQueriesModule} from '../../media-query/_module'; - import {customMatchers} from '../../utils/testing/custom-matchers'; import { makeCreateTestComponent, expectNativeEl } from '../../utils/testing/helpers'; -import {ServerStylesheet} from '../../utils/styling/server-stylesheet'; -import {StyleUtils} from '../../utils/styling/style-utils'; describe('style directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/ext/style.ts b/src/lib/extended/style/style.ts similarity index 95% rename from src/lib/api/ext/style.ts rename to src/lib/extended/style/style.ts index d1c3d585d..9d3244791 100644 --- a/src/lib/api/ext/style.ts +++ b/src/lib/extended/style/style.ts @@ -22,21 +22,22 @@ import { } from '@angular/core'; import {NgStyle} from '@angular/common'; import {DomSanitizer} from '@angular/platform-browser'; +import { + BaseFxDirective, + BaseFxDirectiveAdapter, + MediaChange, + MediaMonitor, + RendererAdapter, + StyleUtils, +} from '@angular/flex-layout/core'; -import {BaseFxDirective} from '../core/base'; -import {BaseFxDirectiveAdapter} from '../core/base-adapter'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; import {extendObject} from '../../utils/object-extend'; - import { NgStyleRawList, NgStyleType, NgStyleSanitizer, ngStyleUtils as _ -} from '../../utils/styling/style-transforms'; -import {RendererAdapter} from '../core/renderer-adapter'; -import {StyleUtils} from '../../utils/styling/style-utils'; +} from './style-transforms'; /** diff --git a/src/lib/extended/tsconfig-build.json b/src/lib/extended/tsconfig-build.json new file mode 100644 index 000000000..e677105f4 --- /dev/null +++ b/src/lib/extended/tsconfig-build.json @@ -0,0 +1,15 @@ +{ + "extends": "../tsconfig-build", + "files": [ + "public-api.ts", + "../typings.d.ts" + ], + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "strictMetadataEmit": false, // Workaround for Angular #22210 + "flatModuleOutFile": "index.js", + "flatModuleId": "@angular/flex-layout/extended", + "skipTemplateCodegen": true, + "fullTemplateTypeCheck": true + } +} diff --git a/src/lib/flex/README.md b/src/lib/flex/README.md new file mode 100644 index 000000000..bdc0f3ae9 --- /dev/null +++ b/src/lib/flex/README.md @@ -0,0 +1,19 @@ +The `flex` entrypoint contains all of the flexbox APIs provided by the +Layout library. This includes directives for flexbox containers like +`fxLayout` (a.k.a. `FlexLayoutDirective`) and children like `fxFlex` +(a.k.a. `FlexDirective`). The main export from this entrypoint is the +`FlexModule` that encapsulates these directives, and can be +imported separately to take advantage of tree shaking. + +```typescript +import {NgModule} from '@angular/core'; +import {FlexModule} from '@angular/flex-layout/flex'; + +@NgModule(({ + imports: [ + ... other imports here + FlexModule, + ] +})) +export class AppModule {} +``` diff --git a/src/lib/api/flexbox/flex-align.ts b/src/lib/flex/flex-align/flex-align.ts similarity index 94% rename from src/lib/api/flexbox/flex-align.ts rename to src/lib/flex/flex-align/flex-align.ts index 5acd0df91..4cc703319 100644 --- a/src/lib/api/flexbox/flex-align.ts +++ b/src/lib/flex/flex-align/flex-align.ts @@ -14,11 +14,8 @@ import { OnDestroy, SimpleChanges, } from '@angular/core'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; -import {BaseFxDirective} from '../core/base'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** * 'flex-align' flexbox styling directive diff --git a/src/lib/api/flexbox/flex-fill.ts b/src/lib/flex/flex-fill/flex-fill.ts similarity index 83% rename from src/lib/api/flexbox/flex-fill.ts rename to src/lib/flex/flex-fill/flex-fill.ts index 812732641..7ec49629c 100644 --- a/src/lib/api/flexbox/flex-fill.ts +++ b/src/lib/flex/flex-fill/flex-fill.ts @@ -6,10 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ import {Directive, ElementRef} from '@angular/core'; +import {BaseFxDirective, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {BaseFxDirective} from '../core/base'; -import {StyleUtils} from '../../utils/styling/style-utils'; const FLEX_FILL_CSS = { 'margin': 0, diff --git a/src/lib/api/flexbox/flex-offset.spec.ts b/src/lib/flex/flex-offset/flex-offset.spec.ts similarity index 93% rename from src/lib/api/flexbox/flex-offset.spec.ts rename to src/lib/flex/flex-offset/flex-offset.spec.ts index 66d9e70e4..8f119a061 100644 --- a/src/lib/api/flexbox/flex-offset.spec.ts +++ b/src/lib/flex/flex-offset/flex-offset.spec.ts @@ -9,24 +9,24 @@ import {Component, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, inject, TestBed} from '@angular/core/testing'; import {Platform, PlatformModule} from '@angular/cdk/platform'; +import {DIR_DOCUMENT} from '@angular/cdk/bidi'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DIR_DOCUMENT} from '../../bidi/directionality'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; import {FlexLayoutModule} from '../../module'; - import {customMatchers} from '../../utils/testing/custom-matchers'; - import { makeCreateTestComponent, queryFor, expectEl, expectNativeEl, } from '../../utils/testing/helpers'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('flex-offset directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/flexbox/flex-offset.ts b/src/lib/flex/flex-offset/flex-offset.ts similarity index 94% rename from src/lib/api/flexbox/flex-offset.ts rename to src/lib/flex/flex-offset/flex-offset.ts index 7e41f870b..ec633d482 100644 --- a/src/lib/api/flexbox/flex-offset.ts +++ b/src/lib/flex/flex-offset/flex-offset.ts @@ -16,16 +16,12 @@ import { SimpleChanges, SkipSelf, } from '@angular/core'; - +import {Directionality} from '@angular/cdk/bidi'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; import {Subscription} from 'rxjs/Subscription'; -import {BaseFxDirective} from '../core/base'; -import {Directionality} from '../../bidi/directionality'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {LayoutDirective} from './layout'; +import {LayoutDirective} from '../layout/layout'; import {isFlowHorizontal} from '../../utils/layout-validator'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** * 'flex-offset' flexbox styling directive diff --git a/src/lib/api/flexbox/flex-order.ts b/src/lib/flex/flex-order/flex-order.ts similarity index 94% rename from src/lib/api/flexbox/flex-order.ts rename to src/lib/flex/flex-order/flex-order.ts index 407cb52ef..5009d5408 100644 --- a/src/lib/api/flexbox/flex-order.ts +++ b/src/lib/flex/flex-order/flex-order.ts @@ -14,11 +14,8 @@ import { OnDestroy, SimpleChanges, } from '@angular/core'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; -import {BaseFxDirective} from '../core/base'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** * 'flex-order' flexbox styling directive diff --git a/src/lib/api/flexbox/flex.spec.ts b/src/lib/flex/flex/flex.spec.ts similarity index 97% rename from src/lib/api/flexbox/flex.spec.ts rename to src/lib/flex/flex/flex.spec.ts index 6c86bf929..f00152bac 100644 --- a/src/lib/api/flexbox/flex.spec.ts +++ b/src/lib/flex/flex/flex.spec.ts @@ -9,25 +9,25 @@ import {Component, PLATFORM_ID, ViewChild} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {ComponentFixture, TestBed, async, inject} from '@angular/core/testing'; import {Platform, PlatformModule} from '@angular/cdk/platform'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; import {FlexLayoutModule} from '../../module'; -import {FlexDirective} from '../../api/flexbox/flex'; -import {LayoutDirective} from '../../api/flexbox/layout'; - +import {FlexDirective} from './flex'; +import {LayoutDirective} from '../layout/layout'; import {customMatchers, expect} from '../../utils/testing/custom-matchers'; - import { makeCreateTestComponent, expectNativeEl, queryFor, expectEl, } from '../../utils/testing/helpers'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('flex directive', () => { diff --git a/src/lib/api/flexbox/flex.ts b/src/lib/flex/flex/flex.ts similarity index 97% rename from src/lib/api/flexbox/flex.ts rename to src/lib/flex/flex/flex.ts index 57edbd1c3..95c8218e6 100644 --- a/src/lib/api/flexbox/flex.ts +++ b/src/lib/flex/flex/flex.ts @@ -16,17 +16,13 @@ import { SimpleChanges, SkipSelf, } from '@angular/core'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; import {Subscription} from 'rxjs/Subscription'; -import {extendObject} from '../../utils/object-extend'; - -import {BaseFxDirective} from '../core/base'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {LayoutDirective} from './layout'; +import {extendObject} from '../../utils/object-extend'; +import {LayoutDirective} from '../layout/layout'; import {validateBasis} from '../../utils/basis-validator'; import {isFlowHorizontal} from '../../utils/layout-validator'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** Built-in aliases for different flex-basis values. */ diff --git a/src/lib/flex/index.ts b/src/lib/flex/index.ts new file mode 100644 index 000000000..676ca90f1 --- /dev/null +++ b/src/lib/flex/index.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './public-api'; diff --git a/src/lib/api/flexbox/layout-align.spec.ts b/src/lib/flex/layout-align/layout-align.spec.ts similarity index 96% rename from src/lib/api/flexbox/layout-align.spec.ts rename to src/lib/flex/layout-align/layout-align.spec.ts index aeeb71b2d..d5c856bb5 100644 --- a/src/lib/api/flexbox/layout-align.spec.ts +++ b/src/lib/flex/layout-align/layout-align.spec.ts @@ -9,19 +9,19 @@ import {Component, OnInit} from '@angular/core'; import {CommonModule} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; import {Platform, PlatformModule} from '@angular/cdk/platform'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; - -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; import {FlexLayoutModule} from '../../module'; - import {extendObject} from '../../utils/object-extend'; import {customMatchers} from '../../utils/testing/custom-matchers'; import {makeCreateTestComponent, expectNativeEl} from '../../utils/testing/helpers'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('layout-align directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/flexbox/layout-align.ts b/src/lib/flex/layout-align/layout-align.ts similarity index 96% rename from src/lib/api/flexbox/layout-align.ts rename to src/lib/flex/layout-align/layout-align.ts index 838f54d87..1de410f06 100644 --- a/src/lib/api/flexbox/layout-align.ts +++ b/src/lib/flex/layout-align/layout-align.ts @@ -16,16 +16,12 @@ import { SimpleChanges, Self, } from '@angular/core'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; import {Subscription} from 'rxjs/Subscription'; -import {extendObject} from '../../utils/object-extend'; - -import {BaseFxDirective} from '../core/base'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; -import {LayoutDirective} from './layout'; +import {extendObject} from '../../utils/object-extend'; +import {LayoutDirective} from '../layout/layout'; import {LAYOUT_VALUES, isFlowHorizontal} from '../../utils/layout-validator'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** * 'layout-align' flexbox styling directive diff --git a/src/lib/api/flexbox/layout-gap.spec.ts b/src/lib/flex/layout-gap/layout-gap.spec.ts similarity index 96% rename from src/lib/api/flexbox/layout-gap.spec.ts rename to src/lib/flex/layout-gap/layout-gap.spec.ts index 95eab16d3..d7c41236f 100644 --- a/src/lib/api/flexbox/layout-gap.spec.ts +++ b/src/lib/flex/layout-gap/layout-gap.spec.ts @@ -8,18 +8,19 @@ import {Component, OnInit, PLATFORM_ID} from '@angular/core'; import {CommonModule, isPlatformServer} from '@angular/common'; import {TestBed, ComponentFixture, async, inject} from '@angular/core/testing'; +import {DIR_DOCUMENT} from '@angular/cdk/bidi'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DIR_DOCUMENT} from '../../bidi/directionality'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; import {FlexLayoutModule} from '../../module'; - import {customMatchers, expect} from '../../utils/testing/custom-matchers'; import {expectEl, makeCreateTestComponent, queryFor} from '../../utils/testing/helpers'; -import {StyleUtils} from '../../utils/styling/style-utils'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('layout-gap directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/flexbox/layout-gap.ts b/src/lib/flex/layout-gap/layout-gap.ts similarity index 95% rename from src/lib/api/flexbox/layout-gap.ts rename to src/lib/flex/layout-gap/layout-gap.ts index 8cd4edd91..7c23caa5d 100644 --- a/src/lib/api/flexbox/layout-gap.ts +++ b/src/lib/flex/layout-gap/layout-gap.ts @@ -17,15 +17,12 @@ import { OnDestroy, NgZone, } from '@angular/core'; +import {Directionality} from '@angular/cdk/bidi'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; import {Subscription} from 'rxjs/Subscription'; -import {BaseFxDirective} from '../core/base'; -import {LayoutDirective} from './layout'; -import {Directionality} from '../../bidi/directionality'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; +import {LayoutDirective} from '../layout/layout'; import {LAYOUT_VALUES} from '../../utils/layout-validator'; -import {StyleUtils} from '../../utils/styling/style-utils'; /** * 'layout-padding' styling directive diff --git a/src/lib/api/flexbox/layout.spec.ts b/src/lib/flex/layout/layout.spec.ts similarity index 96% rename from src/lib/api/flexbox/layout.spec.ts rename to src/lib/flex/layout/layout.spec.ts index 4e23860b7..283447540 100644 --- a/src/lib/api/flexbox/layout.spec.ts +++ b/src/lib/flex/layout/layout.spec.ts @@ -8,18 +8,19 @@ import {Component, OnInit} from '@angular/core'; import {CommonModule} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; +import { + BreakPointRegistry, + DEFAULT_BREAKPOINTS_PROVIDER, + MatchMedia, + MockMatchMedia, + SERVER_TOKEN, + StyleUtils, +} from '@angular/flex-layout/core'; -import {DEFAULT_BREAKPOINTS_PROVIDER} from '../../media-query/breakpoints/break-points-provider'; -import {BreakPointRegistry} from '../../media-query/breakpoints/break-point-registry'; -import {MockMatchMedia} from '../../media-query/mock/mock-match-media'; -import {MatchMedia} from '../../media-query/match-media'; import {FlexLayoutModule} from '../../module'; - import {customMatchers} from '../../utils/testing/custom-matchers'; import {makeCreateTestComponent, expectNativeEl, expectEl} from '../../utils/testing/helpers'; -import {StyleUtils} from '../../utils/styling/style-utils'; import {queryFor} from '../../utils/testing/helpers'; -import {SERVER_TOKEN} from '../../utils/styling/server-token'; describe('layout directive', () => { let fixture: ComponentFixture; diff --git a/src/lib/api/flexbox/layout.ts b/src/lib/flex/layout/layout.ts similarity index 95% rename from src/lib/api/flexbox/layout.ts rename to src/lib/flex/layout/layout.ts index 5a4ab0177..763feb9f2 100644 --- a/src/lib/api/flexbox/layout.ts +++ b/src/lib/flex/layout/layout.ts @@ -14,14 +14,12 @@ import { OnDestroy, SimpleChanges, } from '@angular/core'; +import {BaseFxDirective, MediaChange, MediaMonitor, StyleUtils} from '@angular/flex-layout/core'; import {Observable} from 'rxjs/Observable'; +import {ReplaySubject} from 'rxjs/ReplaySubject'; -import {BaseFxDirective} from '../core/base'; -import {MediaChange} from '../../media-query/media-change'; -import {MediaMonitor} from '../../media-query/media-monitor'; import {buildLayoutCSS} from '../../utils/layout-validator'; -import {ReplaySubject} from 'rxjs/ReplaySubject'; -import {StyleUtils} from '../../utils/styling/style-utils'; + /** * 'layout' flexbox styling directive * Defines the positioning flow direction for the child elements: row or column diff --git a/src/lib/flex/module.ts b/src/lib/flex/module.ts new file mode 100644 index 000000000..72829dd15 --- /dev/null +++ b/src/lib/flex/module.ts @@ -0,0 +1,55 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +import {NgModule} from '@angular/core'; +import {BidiModule} from '@angular/cdk/bidi'; +import { + BROWSER_PROVIDER, + MediaQueriesModule, + ServerStylesheet, + StyleUtils +} from '@angular/flex-layout/core'; + +import {LayoutDirective} from './layout/layout'; +import {LayoutGapDirective} from './layout-gap/layout-gap'; +import {FlexDirective} from './flex/flex'; +import {FlexOrderDirective} from './flex-order/flex-order'; +import {FlexOffsetDirective} from './flex-offset/flex-offset'; +import {FlexAlignDirective} from './flex-align/flex-align'; +import {FlexFillDirective} from './flex-fill/flex-fill'; +import {LayoutAlignDirective} from './layout-align/layout-align'; + + +const ALL_DIRECTIVES = [ + LayoutDirective, + LayoutGapDirective, + LayoutAlignDirective, + FlexDirective, + FlexOrderDirective, + FlexOffsetDirective, + FlexFillDirective, + FlexAlignDirective, +]; + +/** + * ***************************************************************** + * Define module for the Flex API + * ***************************************************************** + */ + +@NgModule({ + imports: [MediaQueriesModule, BidiModule], + declarations: [...ALL_DIRECTIVES], + exports: [...ALL_DIRECTIVES], + providers: [ + ServerStylesheet, + StyleUtils, + BROWSER_PROVIDER, + ] +}) +export class FlexModule { +} diff --git a/src/lib/flex/public-api.ts b/src/lib/flex/public-api.ts new file mode 100644 index 000000000..6a21b4175 --- /dev/null +++ b/src/lib/flex/public-api.ts @@ -0,0 +1,18 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './module'; + +export * from './flex/flex'; +export * from './flex-align/flex-align'; +export * from './flex-fill/flex-fill'; +export * from './flex-offset/flex-offset'; +export * from './flex-order/flex-order'; +export * from './layout/layout'; +export * from './layout-align/layout-align'; +export * from './layout-gap/layout-gap'; diff --git a/src/lib/flex/tsconfig-build.json b/src/lib/flex/tsconfig-build.json new file mode 100644 index 000000000..841901f33 --- /dev/null +++ b/src/lib/flex/tsconfig-build.json @@ -0,0 +1,15 @@ +{ + "extends": "../tsconfig-build", + "files": [ + "public-api.ts", + "../typings.d.ts" + ], + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "strictMetadataEmit": false, // Workaround for Angular #22210 + "flatModuleOutFile": "index.js", + "flatModuleId": "@angular/flex-layout/flex", + "skipTemplateCodegen": true, + "fullTemplateTypeCheck": true + } +} diff --git a/src/lib/media-query/index.ts b/src/lib/media-query/index.ts deleted file mode 100644 index 0dce8a0d6..000000000 --- a/src/lib/media-query/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export * from './breakpoints/data/break-points'; -export * from './breakpoints/data/orientation-break-points'; -export * from './breakpoints/break-point'; -export * from './breakpoints/break-points-token'; -export * from './breakpoints/break-point-registry'; - -export * from './observable-media'; -export * from './match-media'; -export * from './media-change'; -export * from './media-monitor'; - -export * from './breakpoints/break-points-provider'; -export * from './observable-media-provider'; -export * from './media-monitor-provider'; -export * from './server-match-media'; - -export * from './_module'; diff --git a/src/lib/module.ts b/src/lib/module.ts index d640e6558..016db7b5b 100644 --- a/src/lib/module.ts +++ b/src/lib/module.ts @@ -5,36 +5,18 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ - import {Inject, ModuleWithProviders, NgModule, Optional, PLATFORM_ID} from '@angular/core'; import {isPlatformServer} from '@angular/common'; - -import {MediaQueriesModule} from './media-query/_module'; -import {BreakPoint} from './media-query/breakpoints/break-point'; import { + BreakPoint, BreakPointProviderOptions, - CUSTOM_BREAKPOINTS_PROVIDER_FACTORY -} from './media-query/breakpoints/break-points-provider'; - -import {FlexDirective} from './api/flexbox/flex'; -import {LayoutDirective} from './api/flexbox/layout'; -import {FlexAlignDirective} from './api/flexbox/flex-align'; -import {FlexFillDirective} from './api/flexbox/flex-fill'; -import {FlexOffsetDirective} from './api/flexbox/flex-offset'; -import {FlexOrderDirective} from './api/flexbox/flex-order'; -import {LayoutAlignDirective} from './api/flexbox/layout-align'; -import {LayoutGapDirective} from './api/flexbox/layout-gap'; + CUSTOM_BREAKPOINTS_PROVIDER_FACTORY, + MediaQueriesModule, + SERVER_TOKEN, +} from '@angular/flex-layout/core'; +import {ExtendedModule} from '@angular/flex-layout/extended'; +import {FlexModule} from '@angular/flex-layout/flex'; -import {ShowHideDirective} from './api/ext/show-hide'; -import {ClassDirective} from './api/ext/class'; -import {StyleDirective} from './api/ext/style'; -import {ImgSrcDirective} from './api/ext/img-src'; - -import {BidiModule} from './bidi/bidi-module'; -import {BROWSER_PROVIDER} from './utils/styling/browser-provider'; -import {StyleUtils} from './utils/styling/style-utils'; -import {ServerStylesheet} from './utils/styling/server-stylesheet'; -import {SERVER_TOKEN} from './utils/styling/server-token'; /** * Since the equivalent results are easily achieved with a css class attached to each @@ -44,33 +26,12 @@ import {SERVER_TOKEN} from './utils/styling/server-token'; * import {LayoutMarginDirective} from './api/flexbox/layout-margin'; */ -const ALL_DIRECTIVES = [ - LayoutDirective, - LayoutGapDirective, - LayoutAlignDirective, - FlexDirective, - FlexOrderDirective, - FlexOffsetDirective, - FlexFillDirective, - FlexAlignDirective, - ShowHideDirective, - ClassDirective, - StyleDirective, - ImgSrcDirective -]; - /** * */ @NgModule({ - imports: [MediaQueriesModule, BidiModule], - exports: [MediaQueriesModule, ...ALL_DIRECTIVES], - declarations: [...ALL_DIRECTIVES], - providers: [ - ServerStylesheet, - StyleUtils, - BROWSER_PROVIDER, - ] + imports: [FlexModule, ExtendedModule, MediaQueriesModule], + exports: [FlexModule, ExtendedModule, MediaQueriesModule] }) export class FlexLayoutModule { diff --git a/src/lib/package.json b/src/lib/package.json index e8348adb0..5e6270a47 100644 --- a/src/lib/package.json +++ b/src/lib/package.json @@ -23,6 +23,7 @@ }, "homepage": "https://github.com/angular/flex-layout#readme", "peerDependencies": { + "@angular/cdk": "0.0.0-CDK", "@angular/core": "0.0.0-NG", "@angular/common": "0.0.0-NG", "rxjs": "^5.5.0" diff --git a/src/lib/public-api.ts b/src/lib/public-api.ts index 318326cf7..ac29addd1 100644 --- a/src/lib/public-api.ts +++ b/src/lib/public-api.ts @@ -13,9 +13,10 @@ */ export * from './version'; -export * from './api/index'; -export * from './media-query/index'; -export * from './utils/index'; +export * from '@angular/flex-layout/core'; +export * from '@angular/flex-layout/extended'; +export * from '@angular/flex-layout/flex'; +export * from '@angular/flex-layout/server'; // Flex-Layout Module export * from './module'; diff --git a/src/lib/server/server-provider.ts b/src/lib/server/server-provider.ts index f0b887415..2918c6c31 100644 --- a/src/lib/server/server-provider.ts +++ b/src/lib/server/server-provider.ts @@ -8,16 +8,15 @@ import {InjectionToken} from '@angular/core'; import {DOCUMENT} from '@angular/common'; import {BEFORE_APP_SERIALIZED} from '@angular/platform-server'; - import { BreakPoint, BREAKPOINTS, CLASS_NAME, MatchMedia, + ServerMatchMedia, ServerStylesheet, SERVER_TOKEN, - ServerMatchMedia -} from '@angular/flex-layout'; +} from '@angular/flex-layout/core'; /** diff --git a/src/lib/server/tsconfig-build.json b/src/lib/server/tsconfig-build.json index 62a908bd9..2a15d56fb 100644 --- a/src/lib/server/tsconfig-build.json +++ b/src/lib/server/tsconfig-build.json @@ -1,19 +1,12 @@ { "extends": "../tsconfig-build", "files": [ - "../typings.d.ts", - "public-api.ts" + "public-api.ts", + "../typings.d.ts" ], - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@angular/flex-layout": ["../../../dist/packages/flex-layout"], - "@angular/flex-layout/*": ["../../../dist/packages/flex-layout/*"] - } - }, "angularCompilerOptions": { "annotateForClosureCompiler": true, - "strictMetadataEmit": true, + "strictMetadataEmit": false, // Workaround for Angular #22210 "flatModuleOutFile": "index.js", "flatModuleId": "@angular/flex-layout/server", "skipTemplateCodegen": true, diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index b5b8920ca..f15eb6cfc 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -6,10 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -export * from './add-alias'; export * from './auto-prefixer'; export * from './basis-validator'; export * from './layout-validator'; -export * from './breakpoint-tools'; export * from './object-extend'; -export * from './styling/index'; diff --git a/src/lib/utils/testing/custom-matchers.ts b/src/lib/utils/testing/custom-matchers.ts index f20b765b7..2cf5bef95 100644 --- a/src/lib/utils/testing/custom-matchers.ts +++ b/src/lib/utils/testing/custom-matchers.ts @@ -5,7 +5,7 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {StyleUtils} from '../styling/style-utils'; +import {StyleUtils} from '../../core/style-utils/style-utils'; declare var global: any; const _global = (typeof window === 'undefined' ? global : window); diff --git a/test/karma-test-shim.js b/test/karma-test-shim.js index 0252e14d9..879175682 100644 --- a/test/karma-test-shim.js +++ b/test/karma-test-shim.js @@ -68,7 +68,11 @@ System.config({ '@angular/cdk/table': 'node:@angular/cdk/bundles/cdk-table.umd.js', // Path mappings for local packages that can be imported inside of tests. - '@angular/flex-layout': 'dist/packages/flex-layout/public-api.js' + '@angular/flex-layout': 'dist/packages/flex-layout/index.js', + '@angular/flex-layout/core': 'dist/packages/flex-layout/core/index.js', + '@angular/flex-layout/extended': 'dist/packages/flex-layout/extended/index.js', + '@angular/flex-layout/flex': 'dist/packages/flex-layout/flex/index.js', + '@angular/flex-layout/server': 'dist/packages/flex-layout/server/index.js', }, packages: { // Thirdparty barrels. diff --git a/tools/gulp/tasks/aot.ts b/tools/gulp/tasks/aot.ts index 191b8dec5..fe4c53c3b 100644 --- a/tools/gulp/tasks/aot.ts +++ b/tools/gulp/tasks/aot.ts @@ -15,15 +15,30 @@ task('aot:run', sequenceTask('aot:deps', 'aot:cli', 'aot:clean')); task('aot:deps', [], execTask( 'npm', ['install'], {cwd: demoAppSource})); -/** Task that builds the universal-app in server mode */ task('aot:cli', execTask( 'ng', ['build', '--prod'], {cwd: demoAppSource, failOnStderr: true} )); -task('aot:clean', [], execTask( +task('aot:clean', sequenceTask('aot:clear:mods', 'aot:clear:lock', 'aot:clear:dist')); + +task('aot:clear:mods', [], execTask( 'rm', ['-rf', 'node_modules'], { failOnStderr: true, cwd: demoAppSource } )); + +task('aot:clear:lock', [], execTask( + 'rm', ['package-lock.json'], { + failOnStderr: true, + cwd: demoAppSource + } +)); + +task('aot:clear:dist', [], execTask( + 'rm', ['-rf', 'dist'], { + failOnStderr: true, + cwd: demoAppSource + } +)); diff --git a/tools/gulp/tasks/unit-test-ssr.ts b/tools/gulp/tasks/unit-test-ssr.ts index 5585a7779..982ef5c4a 100644 --- a/tools/gulp/tasks/unit-test-ssr.ts +++ b/tools/gulp/tasks/unit-test-ssr.ts @@ -1,6 +1,7 @@ import {task} from 'gulp'; import {join} from 'path'; import {buildConfig} from 'lib-build-tools'; +import {register} from 'tsconfig-paths'; const {projectDir} = buildConfig; const {patchTestBed} = require(join(projectDir, 'test/patch-testbed')); @@ -12,7 +13,11 @@ const {patchTestBed} = require(join(projectDir, 'test/patch-testbed')); * sets the DOCUMENT value to the Domino instance */ task('test:ssr', [':test:build'], (done: () => void) => { - + const baseUrl = join(projectDir, 'dist', 'packages', 'flex-layout'); + const paths = { + '@angular/flex-layout/*': ['./*'] + }; + register({baseUrl, paths}); const jasmine = new (require('jasmine'))({projectBaseDir: projectDir}); require('zone.js'); require('zone.js/dist/zone-testing'); diff --git a/tools/gulp/tasks/universal.ts b/tools/gulp/tasks/universal.ts index 9ffb89aac..1275bc494 100644 --- a/tools/gulp/tasks/universal.ts +++ b/tools/gulp/tasks/universal.ts @@ -5,7 +5,9 @@ import {buildConfig, sequenceTask} from 'lib-build-tools'; const {outputDir, packagesDir, projectVersion} = buildConfig; const distDir = join(outputDir, 'releases', 'flex-layout'); -const tarBall = join(distDir, `angular-flex-layout-${projectVersion}.tgz`); +const tarName = `angular-flex-layout-${projectVersion}.tgz`; +const genericName = 'angular-flex-layout.tgz'; +const genericTar = join(distDir, genericName); const appDir = join(packagesDir, 'apps', 'universal-app'); task('universal:serve', sequenceTask( @@ -22,16 +24,26 @@ task('prerender:pre', sequenceTask( 'clean', 'flex-layout:build-release', 'prerender:bundle', + 'prerender:bundle:rename', 'prerender:clean', - 'prerender:deps') + 'prerender:deps', + 'prerender:add:tar') ); task('prerender:bundle', [], execTask( 'npm', ['pack'], {cwd: distDir} )); +task('prerender:bundle:rename', [], execTask( + 'mv', [tarName, genericName], {cwd: distDir} +)); + task('prerender:deps', [], execTask( - 'npm', ['install', tarBall], {cwd: appDir} + 'npm', ['install'], {cwd: appDir} +)); + +task('prerender:add:tar', [], execTask( + 'npm', ['install', genericTar], {cwd: appDir} )); /** Task that builds the universal-app in server mode */ @@ -50,7 +62,11 @@ task('prerender:run:server', execTask( {cwd: appDir, failOnStderr: true} )); -task('prerender:clean', sequenceTask('prerender:clear:deps', 'prerender:clear:dist')); +task('prerender:clean', sequenceTask( + 'prerender:clear:deps', + 'prerender:clear:dist', + 'prerender:clear:lock' +)); task('prerender:clear:deps', [], execTask( 'rm', ['-rf', 'node_modules'], { @@ -59,6 +75,13 @@ task('prerender:clear:deps', [], execTask( } )); +task('prerender:clear:lock', [], execTask( + 'rm', ['package-lock.json'], { + failOnStderr: true, + cwd: appDir + } +)); + task('prerender:clear:dist', [], execTask( 'rm', ['-rf', 'dist'], { failOnStderr: true, diff --git a/tools/package-tools/build-config.ts b/tools/package-tools/build-config.ts index f0f170ebb..a7e383282 100644 --- a/tools/package-tools/build-config.ts +++ b/tools/package-tools/build-config.ts @@ -5,6 +5,8 @@ export interface BuildConfig { projectVersion: string; /** Required Angular version for the project. */ angularVersion: string; + /** Required Angular CDK version for the project. */ + cdkVersion: string; /** Path to the root of the project. */ projectDir: string; /** Path to the directory where all packages are living. */ diff --git a/tools/package-tools/build-package.ts b/tools/package-tools/build-package.ts index d62a25154..1c1949fc6 100644 --- a/tools/package-tools/build-package.ts +++ b/tools/package-tools/build-package.ts @@ -25,7 +25,7 @@ export class BuildPackage { esm5OutputDir: string; /** Whether this package will re-export its secondary-entry points at the root module. */ - exportsSecondaryEntryPointsAtRoot = false; + exportsSecondaryEntryPointsAtRoot = true; /** Whether the secondary entry-point styles should be copied to the release output. */ copySecondaryEntryPointStylesToRoot = false; @@ -59,21 +59,17 @@ export class BuildPackage { /** Compiles the package sources with all secondary entry points. */ async compile() { - // Compile the primary entry-point. - await this._compileBothTargets(); - // Compile all secondary entry-points with the same depth in parallel, and each separate depth // group in sequence. This will look something like: // Depth 0: coercion, platform, keycodes, bidi // Depth 1: a11y, scrolling // Depth 2: overlay - // NOTE: this deviates from Angular Material and should not be removed - // * This is because the server endpoint depends on the main library being compiled - // before itself - // * This can be removed once we switch to Bazel builds for (const entryPointGroup of this.secondaryEntryPointsByDepth) { await Promise.all(entryPointGroup.map(p => this._compileBothTargets(p))); } + + // Compile the primary entry-point. + await this._compileBothTargets(); } /** Compiles the TypeScript test source files for the package. */ diff --git a/tools/package-tools/rollup-globals.ts b/tools/package-tools/rollup-globals.ts index 156dd98c9..02bb0a998 100644 --- a/tools/package-tools/rollup-globals.ts +++ b/tools/package-tools/rollup-globals.ts @@ -36,6 +36,7 @@ export const rollupGlobals = { '@angular/common/http/testing': 'ng.common.http.testing', '@angular/material': 'ng.material', '@angular/cdk': 'ng.cdk', + '@angular/cdk/bidi': 'ng.cdk.bidi', '@angular/cdk/platform': 'ng.cdk.platform', // Some packages are not really needed for the UMD bundles, but for the missingRollupGlobals rule. diff --git a/tools/package-tools/version-placeholders.ts b/tools/package-tools/version-placeholders.ts index f91b8e942..fc8277616 100644 --- a/tools/package-tools/version-placeholders.ts +++ b/tools/package-tools/version-placeholders.ts @@ -9,12 +9,18 @@ const versionPlaceholderText = '0.0.0-PLACEHOLDER'; /** Placeholder that will be replaced with the required Angular version. */ const ngVersionPlaceholderText = '0.0.0-NG'; +/** Placeholder that will be replaced with the required Angular CDK version. */ +const cdkVersionPlaceholderText = '0.0.0-CDK'; + /** RegExp that matches version placeholders inside of a file. */ const ngVersionPlaceholderRegex = new RegExp(ngVersionPlaceholderText, 'g'); /** Expression that matches Angular version placeholders within a file. */ const versionPlaceholderRegex = new RegExp(versionPlaceholderText, 'g'); +/** Expression that matches Angular CDK version placeholders within a file. */ +const cdkVersionPlaceholderRegex = new RegExp(cdkVersionPlaceholderText, 'g'); + /** * Walks through every file in a directory and replaces the version placeholders with the current * version of Library. @@ -29,7 +35,8 @@ export function replaceVersionPlaceholders(packageDir: string) { files.forEach(filePath => { const fileContent = readFileSync(filePath, 'utf-8') .replace(ngVersionPlaceholderRegex, buildConfig.angularVersion) - .replace(versionPlaceholderRegex, buildConfig.projectVersion); + .replace(versionPlaceholderRegex, buildConfig.projectVersion) + .replace(cdkVersionPlaceholderRegex, buildConfig.cdkVersion); writeFileSync(filePath, fileContent); });