From 31fb108b6ff2db4a3d9f2618cb78721bbc957efc Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Wed, 18 Jul 2018 19:12:40 +0300 Subject: [PATCH 01/89] Project setup --- .gitattributes | 20 + .gitignore | 3 + Gruntfile.js | 111 + README.md | 24 +- development.md | 27 + package-lock.json | 9531 ++++++++++++++++++ package.json | 68 + src/ReferenceSelector.webmodeler.ts | 11 + src/ReferenceSelector.xml | 16 + src/components/Alert.ts | 19 + src/components/ReferenceSelector.ts | 11 + src/components/ReferenceSelectorContainer.ts | 26 + src/package.xml | 11 + src/utils/ContainerUtils.ts | 17 + tsconfig.json | 32 + webpack.config.js | 71 + xsd/widget.xsd | 157 + 17 files changed, 10154 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 development.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/ReferenceSelector.webmodeler.ts create mode 100644 src/ReferenceSelector.xml create mode 100644 src/components/Alert.ts create mode 100644 src/components/ReferenceSelector.ts create mode 100644 src/components/ReferenceSelectorContainer.ts create mode 100644 src/package.xml create mode 100644 src/utils/ContainerUtils.ts create mode 100644 tsconfig.json create mode 100644 webpack.config.js create mode 100644 xsd/widget.xsd diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e439d13 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,20 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.ts text eol=lf +*.js text eol=lf +*.css text eol=lf +*.scss text eol=lf +*.json text eol=lf +*.xml text eol=lf +*.yml text eol=lf +*.md text eol=lf +*.gitattributes eol=lf +*.gitignore eol=lf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary +*.gif binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a331c19 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +dist/ +node_modules/ +.vscode diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..6fbd75b --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,111 @@ +"use strict"; +const webpack = require("webpack"); +const webpackConfig = require("./webpack.config"); +const merge = require("webpack-merge"); + +const webpackConfigRelease = webpackConfig.map(config => merge(config, { + devtool: false, + mode: "production", + optimization: { + minimize: true + } +})); + +module.exports = function(grunt) { + const pkg = grunt.file.readJSON("package.json"); + grunt.initConfig({ + + watch: { + updateWidgetFiles: { + files: [ "./src/**/*" ], + tasks: [ "webpack:develop", "file_append", "compress:dist", "copy" ], + options: { + debounceDelay: 250 + } + } + }, + + compress: { + dist: { + options: { + archive: "./dist/" + pkg.version + "/" + pkg.widgetName + ".mpk", + mode: "zip" + }, + files: [ { + expand: true, + date: new Date(), + store: false, + cwd: "./dist/tmp/src", + src: [ "**/*" ] + } ] + } + }, + + copy: { + distDeployment: { + files: [ { + dest: "./dist/MxTestProject/deployment/web/widgets", + cwd: "./dist/tmp/src/", + src: [ "**/*" ], + expand: true + } ] + }, + mpk: { + files: [ { + dest: "./dist/MxTestProject/widgets", + cwd: "./dist/" + pkg.version + "/", + src: [ pkg.widgetName + ".mpk" ], + expand: true + } ] + } + }, + + file_append: { + addSourceURL: { + files: [ { + append: `\n\n//# sourceURL=${pkg.widgetName}.webmodeler.js\n`, + input: `dist/tmp/src/${pkg.widgetName}.webmodeler.js` + } ] + } + }, + + webpack: { + develop: webpackConfig, + release: webpackConfigRelease + }, + + clean: { + build: [ + "./dist/" + pkg.version + "/" + pkg.widgetName + "/*", + "./dist/tmp/**/*", + "./dist/MxTestProject/deployment/web/widgets/" + pkg.widgetName + "/*", + "./dist/MxTestProject/widgets/" + pkg.widgetName + ".mpk" + ] + }, + + checkDependencies: { + this: {} + } + }); + + grunt.loadNpmTasks("grunt-check-dependencies"); + grunt.loadNpmTasks("grunt-contrib-clean"); + grunt.loadNpmTasks("grunt-contrib-compress"); + grunt.loadNpmTasks("grunt-contrib-copy"); + grunt.loadNpmTasks("grunt-contrib-watch"); + grunt.loadNpmTasks("grunt-file-append"); + grunt.loadNpmTasks("grunt-webpack"); + + grunt.registerTask("default", [ "clean build", "watch" ]); + grunt.registerTask( + "clean build", + "Compiles all the assets and copies the files to the dist directory.", + [ "checkDependencies", "clean:build", "webpack:develop", "file_append", "compress:dist", "copy" ] + ); + grunt.registerTask( + "release", + "Compiles all the assets and copies the files to the dist directory. Minified without source mapping", + [ "checkDependencies", "clean:build", "webpack:release", "file_append", "compress:dist", "copy" ] + ); + grunt.registerTask("build", [ "clean build" ]); +}; diff --git a/README.md b/README.md index 30725a9..89ef222 100644 --- a/README.md +++ b/README.md @@ -1 +1,23 @@ -# dropdown-type-ahead \ No newline at end of file +[![Build Status](https://travis-ci.org/FlockOfBirds/camera.svg?branch=feature%2Finitial)](https://travis-ci.org/FlockOfBirds/camera "Travis build status") +[![codecov](https://codecov.io/gh/flockofbirds/camera/graph/badge.svg?/branch=feature%2Finitial)](https://codecov.io/gh/flockofbirds/camera "Percentage of code coverage") +![badge](https://img.shields.io/badge/mendix-7.11.0-green.svg) +[![Percentage of issues still open](http://isitmaintained.com/badge/open/FlockOfBirds/camera.svg)](http://isitmaintained.com/project/FlockOfBirds/camera "Percentage of issues still open") + +# Dropdown Type Ahead +an input widget that can be used to display and edit associations + +## Features + + +## Dependencies +Mendix 7.16 + +## Demo project + +## Usage + +## Issues, suggestions and feature requests + + +## Development and contribution +Please follow [development guide](/development.md) diff --git a/development.md b/development.md new file mode 100644 index 0000000..88c7afc --- /dev/null +++ b/development.md @@ -0,0 +1,27 @@ +# Development and contribution + Prerequisite: Install git, node package manager, webpack CLI, grunt CLI, Karma CLI + + To contribute, fork and clone. + + > git clone https://github.com/.git + + The code is in typescript. Use a typescript IDE of your choice, like Visual Studio Code or WebStorm. + + To set up the development environment, run: + + > npm install + + Create a folder named `dist` in the project root. + + Create a Mendix test project in the dist folder and rename its root folder to `dist/MxTestProject`. Changes to the widget code shall be automatically pushed to this test project. + Or get the test project from [https://github.com/releases] + (https://github.com/releases) + + To automatically compile, bundle and push code changes to the running test project, run: + > grunt + + To run the project unit tests with code coverage, results can be found at dist/testresults/coverage/index.html, run: + > npm test + +or run the test continuously during development: + > karma start diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9df9774 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9531 @@ +{ + "name": "referenceselector", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz", + "integrity": "sha1-zgBCgEX7t9XrwOp7+DV4nxU2arI=", + "requires": { + "@babel/types": "7.0.0-beta.51", + "lodash": "^4.17.5" + } + }, + "@babel/types": { + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz", + "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/babel-utils": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.7.tgz", + "integrity": "sha512-U6iTV9HurrZ0ye8VOTIGcV4tMdDtAIGbfCH58L/NdOhW05pV/KVlNmbXsHp01VMSM+pgmSkGqHSLLE8zdDYJvA==", + "requires": { + "@emotion/hash": "^0.6.5", + "@emotion/memoize": "^0.6.5", + "@emotion/serialize": "^0.8.5", + "convert-source-map": "^1.5.1", + "find-root": "^1.1.0", + "source-map": "^0.7.2" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "@emotion/hash": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.5.tgz", + "integrity": "sha512-JlZbn5+adseTdDPTUkx/O1/UZbhaGR5fCLLWQDCIJ4eP9fJcVdP/qjlTveEX6mkNoJHWFbZ47wArWQQ0Qk6nMA==" + }, + "@emotion/memoize": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.5.tgz", + "integrity": "sha512-n1USr7yICA4LFIv7z6kKsXM8rZJxd1btKCBmDewlit+3OJ2j4bDfgXTAxTHYbPkHS/eztHmFWfsbxW2Pu5mDqA==" + }, + "@emotion/serialize": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.8.5.tgz", + "integrity": "sha512-NObUNfK7lqxFpSJWHRwJeeGSZaElEgMn5eR76ift06yx9FdwIfFY47ffapkf2lJUoIUx4ffP55fPSVPMgv0Qgw==", + "requires": { + "@emotion/hash": "^0.6.5", + "@emotion/memoize": "^0.6.5", + "@emotion/unitless": "^0.6.5", + "@emotion/utils": "^0.7.3" + } + }, + "@emotion/stylis": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.6.12.tgz", + "integrity": "sha512-yS+t7l5FeYeiIyADyqjFBJvdotpphHb2S3mP4qak5BpV7ODvxuyAVF24IchEslW+A1MWHAhn5SiOW6GZIumiEQ==" + }, + "@emotion/unitless": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.5.tgz", + "integrity": "sha512-kAFHWyQTMLcOvse+RfEfJ6uwwOlVFZcUOMX0wuBvEMwnF3Zb/6VQ/xDgbx9fNlp3I6AAmijAtUtIyT2qVldpnA==" + }, + "@emotion/utils": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.7.3.tgz", + "integrity": "sha512-1bGqG9IYJETOOqQEjWinGx1deLlAW/Fcew4GyrzZx0dJIgAjivZTmwzjrhB+Vhj7TgjMr0aTyj5byHmZezisZQ==" + }, + "@types/big.js": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", + "integrity": "sha1-9lMMemn5j68hjYmS395+SyW/fMk=", + "dev": true + }, + "@types/classnames": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.5.tgz", + "integrity": "sha512-zGjPvgyTSpD+ow5YfWRVGC4HrgAm5L1lF+SBwGyxQyqHwNE/5fXmXDEhdqcIVrpol6FhBehsGYIzJ7FdGvc0BA==", + "dev": true + }, + "@types/core-js": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@types/core-js/-/core-js-2.5.0.tgz", + "integrity": "sha512-qjkHL3wF0JMHMqgm/kmL8Pf8rIiqvueEiZ0g6NVTcBX1WN46GWDr+V5z+gsHUeL0n8TfAmXnYmF7ajsxmBp4PQ==", + "dev": true + }, + "@types/dojo": { + "version": "1.9.40", + "resolved": "https://registry.npmjs.org/@types/dojo/-/dojo-1.9.40.tgz", + "integrity": "sha512-FbU4UeyeVHzJS2gih3+dZU4kiWl1yVNsHzeCVZ7d4rPpgw/K7TQUUJ0kqNx8YBLXHRXuxvLLUDP/Y43Bh6txwQ==", + "dev": true + }, + "@types/jasmine": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz", + "integrity": "sha512-OJSUxLaxXsjjhob2DBzqzgrkLmukM3+JMpRp0r0E4HTdT1nwDCWhaswjYxazPij6uOdzHCJfNbDjmQ1/rnNbCg==", + "dev": true + }, + "@types/node": { + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", + "dev": true + }, + "@types/react": { + "version": "16.4.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.6.tgz", + "integrity": "sha512-9LDZdhsuKSc+DjY65SjBkA958oBWcTWSVWAd2cD9XqKBjhGw1KzAkRhWRw2eIsXvaIE/TOTjjKMFVC+JA1iU4g==", + "requires": { + "csstype": "^2.2.0" + } + }, + "@types/react-dom": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.6.tgz", + "integrity": "sha512-M+1zmwa5KxUpkCuxA4whlDJKYTGNvNQW4pIoCLH16xGbClicD9CzPry4y94kTjCCk/bJZCZ/GVqUsP7eKcO/mQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/react": "*" + } + }, + "@types/react-select": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.2.10.tgz", + "integrity": "sha512-2BBjILgzea4RZRbJgg6vNDox32YF8stWBc64+IXZxsCNXRbpsPoSDXflWwn6a7aZYcrXPO8dYnYRVS3B0yJPpw==", + "requires": { + "@types/react": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", + "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "debug": "^3.1.0", + "mamacro": "^0.0.3" + }, + "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" + } + } + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", + "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", + "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", + "integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==", + "dev": true, + "requires": { + "debug": "^3.1.0" + }, + "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" + } + } + } + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", + "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.5.13" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", + "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", + "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "mamacro": "^0.0.3" + }, + "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" + } + } + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", + "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", + "integrity": "sha512-IJ/goicOZ5TT1axZFSnlAtz4m8KEjYr12BNOANAwGFPKXM4byEDaMNXYowHMG0yKV9a397eU/NlibFaLwr1fbw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "debug": "^3.1.0" + }, + "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" + } + } + } + }, + "@webassemblyjs/ieee754": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", + "integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==", + "dev": true, + "requires": { + "ieee754": "^1.1.11" + } + }, + "@webassemblyjs/leb128": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", + "integrity": "sha512-0NRMxrL+GG3eISGZBmLBLAVjphbN8Si15s7jzThaw1UE9e5BY1oH49/+MA1xBzxpf1OW5sf9OrPDOclk9wj2yg==", + "dev": true, + "requires": { + "long": "4.0.0" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + } + } + }, + "@webassemblyjs/utf8": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", + "integrity": "sha512-Ve1ilU2N48Ew0lVGB8FqY7V7hXjaC4+PeZM+vDYxEd+R2iQ0q+Wb3Rw8v0Ri0+rxhoz6gVGsnQNb4FjRiEH/Ng==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", + "integrity": "sha512-X7ZNW4+Hga4f2NmqENnHke2V/mGYK/xnybJSIXImt1ulxbCOEs/A+ZK/Km2jgihjyVxp/0z0hwIcxC6PrkWtgw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/helper-wasm-section": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "@webassemblyjs/wast-printer": "1.5.13", + "debug": "^3.1.0" + }, + "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" + } + } + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", + "integrity": "sha512-yfv94Se8R73zmr8GAYzezFHc3lDwE/lBXQddSiIZEKZFuqy7yWtm3KMwA1uGbv5G1WphimJxboXHR80IgX1hQA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", + "integrity": "sha512-IkXSkgzVhQ0QYAdIayuCWMmXSYx0dHGU8Ah/AxJf1gBvstMWVnzJnBwLsXLyD87VSBIcsqkmZ28dVb0mOC3oBg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-buffer": "1.5.13", + "@webassemblyjs/wasm-gen": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "debug": "^3.1.0" + }, + "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" + } + } + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", + "integrity": "sha512-XnYoIcu2iqq8/LrtmdnN3T+bRjqYFjRHqWbqK3osD/0r/Fcv4d9ecRzjVtC29ENEuNTK4mQ9yyxCBCbK8S/cpg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-wasm-bytecode": "1.5.13", + "@webassemblyjs/ieee754": "1.5.13", + "@webassemblyjs/leb128": "1.5.13", + "@webassemblyjs/utf8": "1.5.13" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", + "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/floating-point-hex-parser": "1.5.13", + "@webassemblyjs/helper-api-error": "1.5.13", + "@webassemblyjs/helper-code-frame": "1.5.13", + "@webassemblyjs/helper-fsm": "1.5.13", + "long": "^3.2.0", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", + "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/wast-parser": "1.5.13", + "long": "^3.2.0" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "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", + "negotiator": "0.6.1" + }, + "dependencies": { + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + } + } + }, + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dev": true, + "requires": { + "acorn": "^5.0.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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.4", + "normalize-path": "^2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archiver": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", + "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "walkdir": "^0.0.11", + "zip-stream": "^1.1.0" + } + }, + "archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "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 + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "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 + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, + "requires": { + "lodash": "^4.14.0" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + } + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-emotion": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.6.tgz", + "integrity": "sha512-aCRXUPm2pwaUqUtpQ2Gzbn5EeOD2RyUDTQDJl5Yqwg1RLQPs3OvnB6Xt6GUrMomMISxuwFrxuWfBMajHv74UjQ==", + "requires": { + "@babel/helper-module-imports": "7.0.0-beta.51", + "@emotion/babel-utils": "^0.6.4", + "@emotion/hash": "^0.6.2", + "@emotion/memoize": "^0.6.1", + "@emotion/stylis": "^0.6.10", + "babel-core": "^6.26.3", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "find-root": "^1.1.0", + "mkdirp": "^0.5.1", + "source-map": "^0.5.7", + "touch": "^1.0.0" + } + }, + "babel-plugin-macros": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.3.0.tgz", + "integrity": "sha512-Y9h4dQMlzUUKATfNEN+sgiwND/+PGiAkjSW+qwyATIvYMk1y39XmaLHXKI2VojplqtOWQry0y6CumvDw+qETvQ==", + "requires": { + "cosmiconfig": "^4.0.0" + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "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=" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + } + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.x.x" + } + }, + "bower-config": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-1.4.1.tgz", + "integrity": "sha1-hf2d82fCuNu9DKpMXyutQM2Ewsw=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.3", + "mout": "^1.0.0", + "optimist": "^0.6.1", + "osenv": "^0.1.3", + "untildify": "^2.1.0" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", + "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" + } + }, + "check-dependencies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/check-dependencies/-/check-dependencies-1.1.0.tgz", + "integrity": "sha512-GDrbGzzJ6Gc6tQh87HBMGhrJ4UWIlR9MKJwgvlrJyj/gWvTYYb2jQetKbajt/EYK5Y8/4g7gH2LEvq8GdUWTag==", + "dev": true, + "requires": { + "bower-config": "^1.4.0", + "chalk": "^2.1.0", + "findup-sync": "^2.0.0", + "lodash.camelcase": "^4.3.0", + "minimist": "^1.2.0", + "semver": "^5.4.1" + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + }, + "dependencies": { + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + } + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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.5" + } + } + } + }, + "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.0.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 + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone-deep": { + "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": "^6.0.0", + "shallow-clone": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "coffeescript": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", + "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", + "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "dev": true, + "requires": { + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "dev": true, + "requires": { + "mime-db": ">= 1.34.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true + } + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + } + } + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", + "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0", + "require-from-string": "^2.0.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "crc": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", + "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", + "dev": true + }, + "crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "dev": true, + "requires": { + "crc": "^3.4.4", + "readable-stream": "^2.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-emotion": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.6.tgz", + "integrity": "sha512-4g46va26lw6DPfKF7HeWY3OI/qoaNSwpvO+li8dMydZfC6f6+ZffwlYHeIyAhGR8Z8C8c0H9J1pJbQRtb9LScw==", + "requires": { + "@emotion/hash": "^0.6.2", + "@emotion/memoize": "^0.6.1", + "@emotion/stylis": "^0.6.10", + "@emotion/unitless": "^0.6.2", + "csstype": "^2.5.2", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.x.x" + } + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", + "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + } + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" + } + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "csstype": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.5.tgz", + "integrity": "sha512-EGMjeoiN3aqEX5u/cyH5mSdGBDGdLcCQvcEcBWNGFSPXKd9uOTIeVG91YQ22OxI44DKpvI+4C7VUSmEpsHWJaA==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "optional": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true, + "optional": true + }, + "deep-for-each": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-2.0.3.tgz", + "integrity": "sha512-Y9mu+rplGcNZ7veer+5rqcdI9w3aPb7/WyE/nYnsuPevaE2z5YuC2u7/Gz/hIKsa0zo8sE8gKoBimSNsO/sr+A==", + "dev": true, + "requires": { + "lodash.isplainobject": "^4.0.6" + } + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "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.0" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-libc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-0.2.0.tgz", + "integrity": "sha1-R/31ZzSKF+wl/L8LnkRjSKdvn7U=", + "dev": true, + "optional": true + }, + "detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", + "dev": true, + "requires": { + "esutils": "^1.1.6", + "isarray": "0.0.1" + }, + "dependencies": { + "esutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "dom-helpers": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", + "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "emotion": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.6.tgz", + "integrity": "sha512-95/EiWkADklxyy1y1qlJeX5Cepa7WfpJBJSBgbLkDCBzOnP4maluvz52xcV5UaObBTfVnEBq77Go6/bgF7+xaA==", + "requires": { + "babel-plugin-emotion": "^9.2.6", + "create-emotion": "^9.2.6" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", + "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", + "dev": true, + "requires": { + "string-template": "~0.2.1", + "xtend": "~4.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "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.1.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": ">=0.0.5" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "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.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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.5" + } + } + } + }, + "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.0.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 + } + } + }, + "expand-template": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz", + "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==", + "dev": true, + "optional": true + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "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.0" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "extract-text-webpack-plugin": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz", + "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==", + "dev": true, + "requires": { + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, + "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.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "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=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, + "file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "follow-redirects": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", + "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "dev": true, + "requires": { + "debug": "^3.1.0" + }, + "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" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "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.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "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, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "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 + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": 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" + } + }, + "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.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "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.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.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 + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "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 + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "grunt": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz", + "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", + "dev": true, + "requires": { + "coffeescript": "~1.10.0", + "dateformat": "~1.0.12", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.3.0", + "glob": "~7.0.0", + "grunt-cli": "~1.2.0", + "grunt-known-options": "~1.1.0", + "grunt-legacy-log": "~2.0.0", + "grunt-legacy-util": "~1.1.1", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.5.2", + "minimatch": "~3.0.2", + "mkdirp": "~0.5.1", + "nopt": "~3.0.6", + "path-is-absolute": "~1.0.0", + "rimraf": "~2.6.2" + }, + "dependencies": { + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "~5.0.0" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "grunt-cli": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "dev": true, + "requires": { + "findup-sync": "~0.3.0", + "grunt-known-options": "~1.1.0", + "nopt": "~3.0.6", + "resolve": "~1.1.0" + } + } + } + }, + "grunt-check-dependencies": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-check-dependencies/-/grunt-check-dependencies-1.0.0.tgz", + "integrity": "sha1-UYiVh8V+gn3enN9pt1CuCy+IHFA=", + "dev": true, + "requires": { + "check-dependencies": "^1.0.1", + "lodash.clonedeep": "^4.5.0" + } + }, + "grunt-contrib-clean": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz", + "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", + "dev": true, + "requires": { + "async": "^1.5.2", + "rimraf": "^2.5.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "grunt-contrib-compress": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.4.3.tgz", + "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=", + "dev": true, + "requires": { + "archiver": "^1.3.0", + "chalk": "^1.1.1", + "iltorb": "^1.0.13", + "lodash": "^4.7.0", + "pretty-bytes": "^4.0.2", + "stream-buffers": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-watch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", + "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", + "dev": true, + "requires": { + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "grunt-file-append": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/grunt-file-append/-/grunt-file-append-0.0.7.tgz", + "integrity": "sha1-P376M2lvoFdwsoCU9EUIyvxdLto=", + "dev": true + }, + "grunt-known-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", + "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=", + "dev": true + }, + "grunt-legacy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz", + "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", + "dev": true, + "requires": { + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.5" + } + }, + "grunt-legacy-log-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz", + "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", + "dev": true, + "requires": { + "chalk": "~2.4.1", + "lodash": "~4.17.10" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "grunt-legacy-util": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz", + "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", + "dev": true, + "requires": { + "async": "~1.5.2", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.10", + "underscore.string": "~3.3.4", + "which": "~1.3.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "grunt-newer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/grunt-newer/-/grunt-newer-1.3.0.tgz", + "integrity": "sha1-g8y3od2ny9irI7BZAk6+YUrS80I=", + "dev": true, + "requires": { + "async": "^1.5.2", + "rimraf": "^2.5.2" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "grunt-webpack": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.2.tgz", + "integrity": "sha512-Ngixl4W/mNJYyghyXJ+JzJ7pUaVRcVKgvC+74ePXPglAEodc9jMlBrGszZAzmspCuvo5dkhbBIcuBHn+Wv1pOQ==", + "dev": true, + "requires": { + "deep-for-each": "^2.0.2", + "lodash": "^4.7.0" + } + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "dev": true, + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.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.0" + } + } + } + }, + "define-property": { + "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", + "isobject": "^3.0.1" + } + }, + "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" + }, + "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" + } + } + } + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-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 + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "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" + }, + "dependencies": { + "regex-not": { + "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": "^3.0.2", + "safe-regex": "^1.1.0" + } + } + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "iltorb": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-1.3.10.tgz", + "integrity": "sha512-nyB4+ru1u8CQqQ6w7YjasboKN3NQTN8GH/V/eEssNRKhW6UbdxdWhB9fJ5EEdjJfezKY0qPrcwLyIcgjL8hHxA==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^0.2.0", + "nan": "^2.6.2", + "node-gyp": "^3.6.2", + "prebuild-install": "^2.3.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "^3.3.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "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-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-odd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", + "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", + "dev": true, + "requires": { + "is-number": "^3.0.0" + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", + "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jasmine": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.1.0.tgz", + "integrity": "sha1-K9Wf1+xuwOistk4J9Fpo7SrRlSo=", + "dev": true, + "requires": { + "glob": "^7.0.6", + "jasmine-core": "~3.1.0" + } + }, + "jasmine-core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.1.0.tgz", + "integrity": "sha1-pHheE11d9lAk38kiSVPfWFvSdmw=", + "dev": true + }, + "js-base64": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz", + "integrity": "sha512-hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "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" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "livereload-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", + "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "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.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "requires": { + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "^3.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "mendix-client": { + "version": "7.13.4", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.13.4.tgz", + "integrity": "sha512-2lUzmNf8ugoQ+UzsNPY4hq2YmsbQOtNJZ9Eiy0xsTwNQN4MqKa9Vj3CZQAhtP5tfvx4BBLfLTmBVHOABFTT70w==", + "dev": true, + "requires": { + "@types/big.js": "0.0.31", + "@types/dojo": "^1.9.34" + } + }, + "mendix-widget-build-script": { + "version": "1.0.0-rc2", + "resolved": "https://registry.npmjs.org/mendix-widget-build-script/-/mendix-widget-build-script-1.0.0-rc2.tgz", + "integrity": "sha512-b0BqqvxXNyUc64RFZuk7hVNls3oxIHSP/ntQOGXlGEgABoSIcCWAu0FXZIOb9lg77wsBUicgbdV03aGMI6jjBg==", + "dev": true, + "requires": { + "archiver": "^2.0.0", + "node-svn-ultimate": "^1.1.0", + "request": "^2.81.0" + }, + "dependencies": { + "archiver": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", + "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^1.2.0" + } + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", + "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.0", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.0", + "nanomatch": "^1.2.5", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, + "requires": { + "mime-db": "~1.30.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", + "dev": true, + "optional": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "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" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "mout": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mout/-/mout-1.1.0.tgz", + "integrity": "sha512-XsP0vf4As6BfqglxZqbqQ8SR6KQot2AgxvR0gG+WtUkf90vUXchMOZQtPf/Hml1rEffJupqL/tIrU6EYhsUQjw==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", + "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "is-odd": "^1.0.0", + "kind-of": "^5.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "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 + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node-abi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz", + "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==", + "dev": true, + "optional": true, + "requires": { + "semver": "^5.4.1" + } + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true + }, + "node-gyp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + } + }, + "node-sass": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz", + "integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.3.1", + "npmlog": "^4.0.0", + "request": "2.87.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "node-svn-ultimate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-svn-ultimate/-/node-svn-ultimate-1.1.0.tgz", + "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", + "dev": true, + "requires": { + "fs-extra": "^1.0.0", + "semver": "^5.3.0", + "uuid": "^3.0.0", + "xml2js": "^0.4.17" + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", + "dev": true, + "optional": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "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.0" + } + }, + "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.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "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.0.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 + } + } + }, + "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.5" + } + } + } + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, + "original": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz", + "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", + "dev": true, + "requires": { + "url-parse": "~1.4.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "portfinder": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "dev": true, + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "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 + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "prebuild-install": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.1.tgz", + "integrity": "sha512-3DX9L6pzwc1m1ksMkW3Ky2WLgPQUBiySOfXVl3WZyAeJSyJb4wtoH9OmeRGcubAWsMlLiL8BTHbwfm/jPQE9Ag==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^1.0.2", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-abi": "^2.2.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.1.6", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "proxy-addr": { + "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.6.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", + "dev": true + }, + "raf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", + "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, + "rc": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", + "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "react": { + "version": "16.4.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.4.1.tgz", + "integrity": "sha512-3GEs0giKp6E0Oh/Y9ZC60CmYgUPnp7voH9fbjWsvXtYFb4EWtgQub0ADSq0sJR0BbHc4FThLLtzlcFaFXIorwg==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, + "react-dom": { + "version": "16.4.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.1.tgz", + "integrity": "sha512-1Gin+wghF/7gl4Cqcvr1DxFX2Osz7ugxSwl6gBqCMpdrxHjIFUS7GYxrFftZ9Ln44FHw0JxCFD9YtZsrbR5/4A==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, + "react-input-autosize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", + "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-select": { + "version": "2.0.0-beta.7", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.0.0-beta.7.tgz", + "integrity": "sha512-Wj4X28Cl7sk9fY1sXbx0NHRQ9pOXZjadj+JcFnUgsF3ZBd6w2pBFqTIbFEZhu+/rGUULEFYQ6YcecDo/uz6z+A==", + "requires": { + "classnames": "^2.2.5", + "emotion": "^9.1.2", + "prop-types": "^15.6.0", + "raf": "^3.4.0", + "react-input-autosize": "^2.2.1", + "react-transition-group": "^2.2.1" + } + }, + "react-transition-group": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz", + "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==", + "requires": { + "dom-helpers": "^3.3.1", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + }, + "dependencies": { + "prop-types": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "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=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1" + } + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "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 + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "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.10" + } + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "sass-loader": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.0.3.tgz", + "integrity": "sha512-iaSFtQcGo4SSgDw5Aes5p4VTrA5jCGSA7sGmhPIcOloBlgI1VktM2MUrk2IHHjbNagckXlPz+HWq1vAAPrcYxA==", + "dev": true, + "requires": { + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "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.1.0", + "ajv-keywords": "^3.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "dev": true, + "requires": { + "node-forge": "0.7.5" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "serviceworker-webpack-plugin": { + "version": "1.0.0-alpha02", + "resolved": "https://registry.npmjs.org/serviceworker-webpack-plugin/-/serviceworker-webpack-plugin-1.0.0-alpha02.tgz", + "integrity": "sha512-5fHnA4BUch8yD5k/FCihhP+XL8TWNB/c/mlxaYsZHp+LuqHPnWUknqApfaroGSv9Ere/G3HEN0SMYiIste5eVQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-getter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", + "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", + "dev": true, + "requires": { + "to-object-path": "^0.3.0" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "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": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "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 + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "dev": true, + "optional": true + }, + "simple-get": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.7.0.tgz", + "integrity": "sha512-RkE9rGPHcxYZ/baYmgJtOSM63vH0Vyq+ma5TijBcLla41SWlh8t6XYIGMR/oeZcmr+/G8k+zrClkkVrtnQ0esg==", + "dev": true, + "optional": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "snapdragon": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", + "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^2.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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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.5" + } + } + } + }, + "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.0.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 + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "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.5" + } + } + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.x.x" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "dev": true, + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-loader": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.3.tgz", + "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", + "dev": true, + "requires": { + "async": "^2.5.0", + "loader-utils": "~0.2.2", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "dev": true, + "requires": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "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-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "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": "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": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" + } + }, + "spdy-transport": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "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": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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.5" + } + } + } + }, + "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.0.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 + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", + "dev": true + }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "optional": true + }, + "style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + } + } + }, + "stylis": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.3.tgz", + "integrity": "sha512-TxU0aAscJghF9I3V9q601xcK3Uw1JbXvpsBGj/HULqexKOKlOEzzlIpLFRbKkCK990ccuxfXUqmPbIIo7Fq/cQ==" + }, + "stylis-rule-sheet": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + } + }, + "tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tar-fs": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", + "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" + } + }, + "tar-stream": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", + "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "end-of-stream": "^1.0.0", + "readable-stream": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "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" + } + } + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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.5" + } + } + } + }, + "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.0.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 + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "touch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz", + "integrity": "sha1-RJy+LbrlqMgDjjDXH6D/RklHxN4=", + "requires": { + "nopt": "~1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "requires": { + "abbrev": "1" + } + } + } + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "requires": { + "punycode": "^1.4.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "^6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "ts-loader": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.4.2.tgz", + "integrity": "sha512-Z3Y1a7A0KZZ1s/mAZkt74l1NAF7Y5xUhD1V9VB8/1eUlUOk8Qa/oo46tO2Uu5kQ3wXypOlbv77lLQySjXEDcdw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^3.1.4", + "semver": "^5.0.1" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + } + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tslint": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", + "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + } + } + }, + "tslint-eslint-rules": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.3.1.tgz", + "integrity": "sha512-qq2H/AU/FlFbQJKXuxhtIk+ni/nQu9jHHhsFKa6hnA0/n3zl1/RWRc3TVFlL8HfWFMzkST350VeTrFpy1u4OUg==", + "dev": true, + "requires": { + "doctrine": "0.7.2", + "tslib": "1.9.0", + "tsutils": "2.8.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", + "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==", + "dev": true + }, + "tsutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.8.0.tgz", + "integrity": "sha1-AWAXNymzvxOGKN0UoVN+AIUdgUo=", + "dev": true, + "requires": { + "tslib": "^1.7.1" + } + } + } + }, + "tsutils": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.28.0.tgz", + "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + }, + "dependencies": { + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", + "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "underscore.string": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz", + "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=", + "dev": true, + "requires": { + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "untildify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", + "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0" + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "url-parse": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz", + "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", + "dev": true, + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "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.0", + "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.0" + } + }, + "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.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "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.5" + } + } + } + }, + "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.0.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 + } + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "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 + }, + "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": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "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.2.0" + } + }, + "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" + } + }, + "walkdir": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", + "dev": true + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.1.tgz", + "integrity": "sha512-6jpzObU18y7lXDJz7XCLvzgrqcJ0rZ2jhKvnTivza9gM2GvPW93xxtmEll2GgmdC0zVQAtbHrH/9BtyMjSDZfA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/wasm-edit": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.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.0" + } + } + } + }, + "define-property": { + "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", + "isobject": "^3.0.1" + } + }, + "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" + }, + "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" + } + } + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "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 + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "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" + }, + "dependencies": { + "regex-not": { + "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": "^3.0.2", + "safe-regex": "^1.1.0" + } + } + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "requires": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz", + "integrity": "sha512-itcIUDFkHuj1/QQxzUFOEXXmxOj5bku2ScLEsOFPapnq2JRTm58gPdtnBphBJOKL2+M3p6+xygL64bI+3eyzzw==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.1.4", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "3.1.3", + "webpack-log": "^1.1.2", + "yargs": "11.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "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" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" + } + }, + "webpack-merge": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.3.tgz", + "integrity": "sha512-zxwAIGK7nKdu5CIZL0BjTQoq3elV0t0MfB7rUC1zj668geid52abs6hN/ACwZdK6LeMS8dC9B6WmtF978zH5mg==", + "dev": true, + "requires": { + "lodash": "^4.17.5" + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.6.tgz", + "integrity": "sha1-fIJtjYb0eISwWHLL6dJ7Ab7VA/Y=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..47c8ada --- /dev/null +++ b/package.json @@ -0,0 +1,68 @@ +{ + "name": "referenceselector", + "widgetName": "ReferenceSelector", + "version": "1.0.0", + "description": "An input widget that can be used to display and edit associations", + "scripts": { + "start": "nodemon --watch webpack.config.js --watch Gruntfile.js --exec \"grunt", + "lint": "tslint -c tslint.json '**/*.ts' '**/*.tsx' --exclude '**/node_modules/**'", + "lint:fix": "npm run lint -- --fix" + }, + "repository": { + "type": "git", + "url": "https://github.com/" + }, + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/" + }, + "babel": { + "presets": [ + "react", + "es2015", + "stage-0" + ] + }, + "devDependencies": { + "@types/classnames": "^2.2.5", + "@types/core-js": "^2.5.0", + "@types/jasmine": "^2.8.8", + "@types/react": "^16.4.6", + "@types/react-dom": "^16.0.6", + "check-dependencies": "^1.0.1", + "copy-webpack-plugin": "^4.5.2", + "core-js": "^2.5.7", + "css-loader": "^1.0.0", + "extract-text-webpack-plugin": "^4.0.0-beta.0", + "grunt": "^1.0.3", + "grunt-check-dependencies": "^1.0.0", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-compress": "^1.4.3", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-watch": "^1.1.0", + "grunt-file-append": "0.0.7", + "grunt-newer": "^1.3.0", + "grunt-webpack": "^3.1.1", + "jasmine": "^3.1.0", + "mendix-client": "^7.13.4", + "mendix-widget-build-script": "^1.0.0-rc2", + "node-sass": "^4.9.2", + "raw-loader": "^0.5.1", + "react": "^16.4.1", + "react-dom": "^16.4.1", + "sass-loader": "^7.0.3", + "serviceworker-webpack-plugin": "^1.0.0-alpha02", + "source-map-loader": "^0.2.1", + "style-loader": "^0.21.0", + "ts-loader": "^4.4.2", + "tslint": "^5.11.0", + "tslint-eslint-rules": "^5.3.1", + "typescript": "^2.9.2", + "webpack": "^4.16.1", + "webpack-dev-server": "^3.1.4", + "webpack-merge": "^4.1.3" + }, + "dependencies": { + "classnames": "^2.2.6" + } +} diff --git a/src/ReferenceSelector.webmodeler.ts b/src/ReferenceSelector.webmodeler.ts new file mode 100644 index 0000000..022b8ed --- /dev/null +++ b/src/ReferenceSelector.webmodeler.ts @@ -0,0 +1,11 @@ +import { Component, createElement } from "react"; + +declare function require(name: string): string; + +// tslint:disable-next-line class-name +export class preview extends Component<{}> { + + render() { + return createElement("div", {}); + } +} diff --git a/src/ReferenceSelector.xml b/src/ReferenceSelector.xml new file mode 100644 index 0000000..667ddad --- /dev/null +++ b/src/ReferenceSelector.xml @@ -0,0 +1,16 @@ + + + ReferenceSelector + Allows users to take and save pictures on their mendix desktop applications + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCgwJFhuIhoIqAAABhUlEQVRIx+3UP2sUURQF8N9kXVgLG5EQUxjShZDCKSRgwE+wyhb5BEkXkm3sxDKN1YKdlWAjdkFMb2WCSwgZ0TJlAlqJsNGw2bHRdf68iQPbifc2dw7nnvPmvjvD/4gy9Q1PNOx5hlXtEvfMlmERvJKpr7qt4TNanroZsHvveb1zbUmDeZwzHL9CxwOzOfSO6xXS+76O6xOv7bBZ4VYvNzmcSOAwMsrdRDbOvdKXmBG7bxF88Ng9D8ecVKX2gSXM6VjW0rRtKLWGyJcMr7K9acH+r6eBrsi61I5r2jlmsP2HJQsGOayHXanzAjco8IKx++8cWRGXuVPB8fXNWS5tzKrEoEgNCyTiABq7kNQTmHEaQE8pbGylQOzIWQndM+1WmRwa4kdN3QL2SctGgFuxB9siPaNM+6J53+oLDK1jRc9bL3W1zDsIMi/5UHbFGmDaRtA9lUZSl8VAYjY0uj/rcVFxE/ViNKU/QTv9hu86lX+Ev/p7FOGudnnDasSJN95NdP5/JH4CyctNHfjcPXwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMTAtMTJUMDk6MjI6MjcrMDI6MDCMRiaFAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE3LTEwLTEyVDA5OjIyOjI3KzAyOjAw/RueOQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII= + + + Attribute (path) + Data source + + + + + + + diff --git a/src/components/Alert.ts b/src/components/Alert.ts new file mode 100644 index 0000000..90ebcce --- /dev/null +++ b/src/components/Alert.ts @@ -0,0 +1,19 @@ +import { SFC, createElement } from "react"; +import * as classNames from "classnames"; + +export interface AlertProps { + message: string; + className?: string; + bootstrapStyle: "default" | "primary" | "success" | "info" | "warning" | "danger"; +} + +export const Alert: SFC = ({ className, bootstrapStyle, message }: AlertProps) => + message + ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, message) + : null; + +Alert.displayName = "Alert"; + +Alert.defaultProps = { + bootstrapStyle: "danger" +}; diff --git a/src/components/ReferenceSelector.ts b/src/components/ReferenceSelector.ts new file mode 100644 index 0000000..03e4840 --- /dev/null +++ b/src/components/ReferenceSelector.ts @@ -0,0 +1,11 @@ +import { Component, createElement } from "react"; + +export interface ReferenceSelectorProps { + style?: object; +} + +export class ReferenceSelector extends Component { + render() { + return createElement("div", { className: "widget-reference-selector-wrapper" }); + } +} diff --git a/src/components/ReferenceSelectorContainer.ts b/src/components/ReferenceSelectorContainer.ts new file mode 100644 index 0000000..250b230 --- /dev/null +++ b/src/components/ReferenceSelectorContainer.ts @@ -0,0 +1,26 @@ +import { Component, createElement } from "react"; +import { parseStyle } from "../utils/ContainerUtils"; + +interface WrapperProps { + mxObject: mendix.lib.MxObject; + mxform: mxui.lib.form._FormBase; + mxContext: mendix.lib.MxContext; + style?: string; + class?: string; +} + +export interface ReferenceSelectorContainerProps extends WrapperProps { + attribute: string; +} + +export default class ReferenceSelectorContainer extends Component { + constructor(props: ReferenceSelectorContainerProps) { + super(props); + } + + render() { + return createElement("div", { + style: parseStyle(this.props.style) + }); + } +} diff --git a/src/package.xml b/src/package.xml new file mode 100644 index 0000000..b1f04ab --- /dev/null +++ b/src/package.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/utils/ContainerUtils.ts b/src/utils/ContainerUtils.ts new file mode 100644 index 0000000..ddebeb0 --- /dev/null +++ b/src/utils/ContainerUtils.ts @@ -0,0 +1,17 @@ +export const parseStyle = (style = ""): { [key: string]: string } => { + try { + return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { + const pair = line.split(":"); + if (pair.length === 2) { + const name = pair[0].trim().replace(/(-.)/g, match => match[1].toUpperCase()); + styleObject[name] = pair[1].trim(); + } + return styleObject; + }, {}); + } catch (error) { + // tslint:disable-next-line no-console + window.console.log("Failed to parse style", style, error); + } + + return {}; +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..767649b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "rootDir": "./", + "outDir": "dist/tsc/", + "noEmitOnError": true, + "sourceMap": true, + "module": "amd", + "target": "es5", + "lib": [ "es2015", "dom" ], + "types": [ + "mendix-client", + "jasmine", + "core-js" + ], + "moduleResolution": "node", + "declaration": false, + "removeComments": true, + "noLib": false, + "watch": false, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "strict": true, + "skipLibCheck": false, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "exclude": [ + "dist/", + "node_modules/" + ] +} diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..a6a26d9 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,71 @@ +const webpack = require("webpack"); +const path = require("path"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); +const ExtractTextPlugin = require("extract-text-webpack-plugin"); +const pkg = require("./package"); +const widgetName = pkg.widgetName; +const name = pkg.widgetName.toLowerCase(); + +const widgetConfig = { + entry: `./src/components/${widgetName}Container.ts`, + output: { + path: path.resolve(__dirname, "dist/tmp"), + filename: `src/com/mendix/widget/custom/${name}/${widgetName}.js`, + libraryTarget: "umd" + }, + resolve: { + extensions: [ ".ts", ".js" ], + alias: { + "tests": path.resolve(__dirname, "./tests") + } + }, + module: { + rules: [ + { test: /\.ts$/, loader: "ts-loader" }, + { test: /\.css$/, loader: ExtractTextPlugin.extract({ + fallback: "style-loader", + use: "css-loader" + }) }, + { test: /\.scss$/, loader: ExtractTextPlugin.extract({ + fallback: "style-loader", + use: [ + { loader: "css-loader" }, + { loader: "sass-loader" } + ] + }) } + ] + }, + mode: "development", + devtool: "source-map", + externals: [ "react", "react-dom" ], + plugins: [ + new CopyWebpackPlugin([ { from: "src/**/*.xml" }], { copyUnmodified: true }), + new ExtractTextPlugin({ filename: `./src/com/mendix/widget/custom/${name}/ui/${widgetName}.css` }), + new webpack.LoaderOptionsPlugin({ debug: true }) + ] +}; + +const previewConfig = { + entry: `./src/${widgetName}.webmodeler.ts`, + output: { + path: path.resolve(__dirname, "dist/tmp"), + filename: `src/${widgetName}.webmodeler.js`, + libraryTarget: "commonjs" + }, + resolve: { + extensions: [ ".ts", ".js" ] + }, + module: { + rules: [ + { test: /\.ts$/, use: "ts-loader" }, + { test: /\.scss$/, use: [ "raw-loader", "sass-loader" ]}, + { test: /\.css$/, use: "css-loader" }, + ] + }, + mode: "production", + devtool: "inline-source-map", + externals: [ "react", "react-dom" ], + plugins: [ new webpack.LoaderOptionsPlugin({ debug: true }) ] +}; + +module.exports = [ widgetConfig, previewConfig]; diff --git a/xsd/widget.xsd b/xsd/widget.xsd new file mode 100644 index 0000000..84e2090 --- /dev/null +++ b/xsd/widget.xsd @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 4d0dc34b820ec523acf7721b39b91a39b361a228 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Wed, 18 Jul 2018 19:20:56 +0300 Subject: [PATCH 02/89] Add WM configuration --- README.md | 2 +- package.json | 4 +- src/ReferenceSelector.webmodeler.ts | 37 +- src/ReferenceSelector.xml | 82 ++++ src/components/ReferenceSelector.ts | 63 ++- src/components/ReferenceSelectorContainer.ts | 145 ++++++- src/ui/ReferenceSelector.scss | 17 + src/ui/react-select.css | 420 +++++++++++++++++++ src/utils/data.ts | 150 +++++++ tslint.json | 154 +++++++ 10 files changed, 1067 insertions(+), 7 deletions(-) create mode 100644 src/ui/ReferenceSelector.scss create mode 100644 src/ui/react-select.css create mode 100644 src/utils/data.ts create mode 100644 tslint.json diff --git a/README.md b/README.md index 89ef222..f4e19be 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![badge](https://img.shields.io/badge/mendix-7.11.0-green.svg) [![Percentage of issues still open](http://isitmaintained.com/badge/open/FlockOfBirds/camera.svg)](http://isitmaintained.com/project/FlockOfBirds/camera "Percentage of issues still open") -# Dropdown Type Ahead +# ReferenceSelector an input widget that can be used to display and edit associations ## Features diff --git a/package.json b/package.json index 47c8ada..0374816 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,8 @@ "webpack-merge": "^4.1.3" }, "dependencies": { - "classnames": "^2.2.6" + "@types/react-select": "^1.2.10", + "classnames": "^2.2.6", + "react-select": "^2.0.0-beta.7" } } diff --git a/src/ReferenceSelector.webmodeler.ts b/src/ReferenceSelector.webmodeler.ts index 022b8ed..5b882f2 100644 --- a/src/ReferenceSelector.webmodeler.ts +++ b/src/ReferenceSelector.webmodeler.ts @@ -1,11 +1,44 @@ import { Component, createElement } from "react"; +import { parseStyle } from "./utils/ContainerUtils"; +import { ReferenceSelector } from "./components/ReferenceSelector"; +import { ReferenceSelectorContainerProps } from "./components/ReferenceSelectorContainer"; + declare function require(name: string): string; +type VisibilityMap = { + [P in keyof ReferenceSelectorContainerProps]: boolean; +}; + // tslint:disable-next-line class-name -export class preview extends Component<{}> { +export class preview extends Component { + private selected = { + label: this.props.emptyOptionCaption, + value: "noGuid" + }; render() { - return createElement("div", {}); + return createElement(ReferenceSelector as any, { + attribute: this.props.selectableAttribute, + // data: this.state.options, + label: this.props.labelCaption, + selectedValue: this.selected.label, + selectorType: this.props.selectorType, + showLabel: this.props.showLabel, + style: parseStyle(this.props.style) + }); } } + +export function getPreviewCss() { + return ( + require("./ui/ReferenceSelector.scss") + require("./ui/react-select.css") + ); +} + +export function getVisibleProperties(valueMap: ReferenceSelectorContainerProps, visibilityMap: VisibilityMap) { + visibilityMap.source = valueMap.microflow === "microflow"; + // visibilityMap.source = valueMap.nanoflow.nanoflow === "nanoflow"; + + return visibilityMap; +} diff --git a/src/ReferenceSelector.xml b/src/ReferenceSelector.xml index 667ddad..c346811 100644 --- a/src/ReferenceSelector.xml +++ b/src/ReferenceSelector.xml @@ -12,5 +12,87 @@ + + Selecting using + Appearance + + + Page + Drop down + + + + Select page + Appearance + Page to navigate to select items + + + Caption + Appearance + Text displayed before selection + + + Show caption + Appearance + + + Yes + No + + + + Label caption + Appearance + + + + Source + Selectable objects + + + Xpath + Microflow + Nanoflow + + + + Entity + Selectable objects + The entity from which selectable values will be retrieved + + + Attribute + Selectable objects + The attribute from which selectable values will be retrieved + + + + + + Xpath constraint + Selectable objects + + + + Sort order + Selectable objects + + + Ascending + Descending + + + + Microflow + Selectable objects + Returns a list of data values + + + + Nanoflow + Selectable objects + Returns a list of data values + + diff --git a/src/components/ReferenceSelector.ts b/src/components/ReferenceSelector.ts index 03e4840..5d6b70a 100644 --- a/src/components/ReferenceSelector.ts +++ b/src/components/ReferenceSelector.ts @@ -1,11 +1,72 @@ import { Component, createElement } from "react"; +import Select from "react-select"; +import "../ui/ReferenceSelector.scss"; export interface ReferenceSelectorProps { style?: object; + readOnly: boolean; + data: any; + value: string; + label: string; + showLabel: "yes" | "no"; + selectedValue: referenceOption; + selectorType: selector; + handleOnchange: (selectedOption: any) => void; + handleClick: () => void; + id?: string; } +// tslint:disable-next-line:interface-over-type-literal +export type referenceOption = { value: string, label: string }; + +export type selector = "page" | "dropdown"; export class ReferenceSelector extends Component { + // private selectNode?: HTMLElement; + render() { - return createElement("div", { className: "widget-reference-selector-wrapper" }); + return createElement("div", { className: "widget-reference-selector-wrapper" }, + this.showLabel(), + this.createSelector() + ); + } + + private showLabel() { + return this.props.showLabel ? + createElement("div", { className: "div-wrapper" }, + createElement("label", { className: "control-label" }, this.props.label)) : + null; + } + + private createSelector() { + if (this.props.selectorType === "dropdown") { + return createElement("div", { className: "div-wrapper" }, createElement(Select, { + onChange: this.props.handleOnchange, + options: this.props.data, + ref: "list", + value: this.props.selectedValue + })); + } else if (this.props.selectorType === "page") { + return createElement("div", { className: "div-wrapper" }, + createElement("div", { + className: "mx-referenceselector", + focusindex: "0" + }, + createElement("button", { + className: "btn mx-button mx-referenceselector-select-button", + onClick: this.props.handleClick, + type: "button" + }, + createElement("span", { + className: "glyphicon glyphicon-share-alt" + }) + ), createElement("div", { className: "mx-referenceselector-input-wrapper" }, + createElement("input", { + className: "form-control", + readonly: "readonly", + type: "text", + value: this.props.selectedValue.label + }) + ))); + } } } diff --git a/src/components/ReferenceSelectorContainer.ts b/src/components/ReferenceSelectorContainer.ts index 250b230..38adf95 100644 --- a/src/components/ReferenceSelectorContainer.ts +++ b/src/components/ReferenceSelectorContainer.ts @@ -1,5 +1,7 @@ import { Component, createElement } from "react"; import { parseStyle } from "../utils/ContainerUtils"; +import { FetchDataOptions, FetchedData, fetchData } from "../utils/data"; +import { ReferenceSelector, referenceOption, selector } from "./ReferenceSelector"; interface WrapperProps { mxObject: mendix.lib.MxObject; @@ -10,17 +12,156 @@ interface WrapperProps { } export interface ReferenceSelectorContainerProps extends WrapperProps { + emptyOptionCaption: string; attribute: string; + selectorType: selector; + goToPage: string; + source: "xpath"| "microflow" | "nanoflow"; + entityConstraint: string; + sortOrder: "asc" | "des"; + dataEntity: string; + microflow: string; + nanoflow: Nanoflow; + selectableAttribute: string; + labelCaption: string; + showLabel: string; } -export default class ReferenceSelectorContainer extends Component { +export interface ReferenceSelectorState { + options: referenceOption[]; + selected: referenceOption; + mxobject: mendix.lib.MxMetaObject | {}; + index: number; +} + +export interface Nanoflow { + nanoflow: object[]; + paramsSpec: { Progress: string }; +} + +export default class ReferenceSelectorContainer extends Component { + private subscriptionHandles: number[] = []; + constructor(props: ReferenceSelectorContainerProps) { super(props); + + this.state = { + index: 0, + mxobject: {}, + options: [], + selected: { value: "select" , label: this.props.emptyOptionCaption } + }; + + // readonly state: TranscriptState = { value: Value.create() }; + this.onChange = this.onChange.bind(this); } render() { - return createElement("div", { + return createElement(ReferenceSelector as any, { + attribute: this.props.selectableAttribute, + data: this.state.options, + handleClick: this.onClick, + handleOnchange: this.onChange, + label: this.props.labelCaption, + selectedValue: this.state.selected, + selectorType: this.props.selectorType, + showLabel: this.props.showLabel, style: parseStyle(this.props.style) }); } + + componentWillReceiveProps(newProps: ReferenceSelectorContainerProps) { + if (newProps.mxObject !== this.props.mxObject) { + this.retrieveOptions(newProps); + this.resetSubscriptions(newProps.mxObject); + } + } + + componentWillUnmount() { + this.subscriptionHandles.forEach(window.mx.data.unsubscribe); + } + + private setOptions = (item: Promise) => { + const dataOptions: referenceOption[] = []; + + Promise.all([ item ]) + .then((values) => { + const mx = values[0].mxObjects; + if (this.props.selectableAttribute && mx) { + for (const mxObject of mx) { + dataOptions.push({ label: mxObject.get(this.props.selectableAttribute) as string, value: mxObject.getGuid() }); + this.subscriptionHandles.push(window.mx.data.subscribe({ + attr: this.props.selectableAttribute, + callback: this.handleSubscriptions, + guid: mxObject.getGuid() + })); + } + } + this.setState({ options: dataOptions }); + }); + } + + private handleSubscriptions = () => { + this.setState({ selected: this.getValue(this.props.mxObject) }); + } + + private getValue(mxObject: mendix.lib.MxObject) { + return { + label: mxObject.get(this.props.selectableAttribute) as string, + value: mxObject.getGuid() + }; + } + + private resetSubscriptions(mxObject?: mendix.lib.MxObject) { + this.subscriptionHandles.forEach(window.mx.data.unsubscribe); + this.subscriptionHandles = []; + + if (mxObject) { + this.subscriptionHandles.push(window.mx.data.subscribe({ + attr: this.props.selectableAttribute, + callback: this.handleSubscriptions, + guid: mxObject.getGuid() + })); + this.subscriptionHandles.push(window.mx.data.subscribe({ + callback: this.handleSubscriptions, + guid: mxObject.getGuid() + })); + } + } + + private onChange = (newValue: referenceOption) => { + if (!this.props.mxObject) { + return; + } + this.props.mxObject.set(this.props.selectableAttribute, newValue.label); + } + + private onClick = () => { + window.mx.ui.openForm(this.props.goToPage, { + callback: (form: mxui.lib.form._FormBase) => { + form.listen("submit", () => { + const label = (form.domNode.getElementsByClassName("selected")[0].lastChild as any).title; + this.props.mxObject.set(this.props.selectableAttribute, label); + form.close(); + }); + }, + error: (error: Error) => window.mx.ui.error(`Error while opening page ${this.props.goToPage}: ${error.message}`), + location: "popup" + }); + } + + private retrieveOptions(props: ReferenceSelectorContainerProps) { + const { dataEntity, entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = props; + const options = { + constraint: entityConstraint, + entity: dataEntity, + guid: mxObject.getGuid(), + microflow, + mxform: this.props.mxform, + nanoflow, + sortOrder, + source + }; + this.setOptions(fetchData(options as FetchDataOptions)); + } } diff --git a/src/ui/ReferenceSelector.scss b/src/ui/ReferenceSelector.scss new file mode 100644 index 0000000..dd94f08 --- /dev/null +++ b/src/ui/ReferenceSelector.scss @@ -0,0 +1,17 @@ +.widget-reference-selector-wrapper{ + position: relative; + width: 100%; + height: 100%; + } + +.div-wrapper{ + display: inline-block; + padding: 10px; +} + +.css-10nd86i { + position: relative; + min-height: 1px; + width: 399%; + float: left; +} \ No newline at end of file diff --git a/src/ui/react-select.css b/src/ui/react-select.css new file mode 100644 index 0000000..89dd400 --- /dev/null +++ b/src/ui/react-select.css @@ -0,0 +1,420 @@ +.Select { + position: relative; + } + .Select input::-webkit-contacts-auto-fill-button, + .Select input::-webkit-credentials-auto-fill-button { + display: none !important; + } + .Select input::-ms-clear { + display: none !important; + } + .Select input::-ms-reveal { + display: none !important; + } + .Select, + .Select div, + .Select input, + .Select span { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .Select.is-disabled .Select-arrow-zone { + cursor: default; + pointer-events: none; + opacity: 0.35; + } + .Select.is-disabled > .Select-control { + background-color: #f9f9f9; + } + .Select.is-disabled > .Select-control:hover { + box-shadow: none; + } + .Select.is-open > .Select-control { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: #fff; + border-color: #b3b3b3 #ccc #d9d9d9; + } + .Select.is-open > .Select-control .Select-arrow { + top: -2px; + border-color: transparent transparent #999; + border-width: 0 5px 5px; + } + .Select.is-searchable.is-open > .Select-control { + cursor: text; + } + .Select.is-searchable.is-focused:not(.is-open) > .Select-control { + cursor: text; + } + .Select.is-focused > .Select-control { + background: #fff; + } + .Select.is-focused:not(.is-open) > .Select-control { + border-color: #007eff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1); + background: #fff; + } + .Select.has-value.is-clearable.Select--single > .Select-control .Select-value { + padding-right: 42px; + } + .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label { + color: #333; + } + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label { + cursor: pointer; + text-decoration: none; + } + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover, + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { + color: #007eff; + outline: none; + text-decoration: underline; + } + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { + background: #fff; + } + .Select.has-value.is-pseudo-focused .Select-input { + opacity: 0; + } + .Select.is-open .Select-arrow, + .Select .Select-arrow-zone:hover > .Select-arrow { + border-top-color: #666; + } + .Select.Select--rtl { + direction: rtl; + text-align: right; + } + .Select-control { + background-color: #fff; + border-color: #d9d9d9 #ccc #b3b3b3; + border-radius: 4px; + border: 1px solid #ccc; + color: #333; + cursor: default; + display: table; + border-spacing: 0; + border-collapse: separate; + height: 36px; + outline: none; + overflow: hidden; + position: relative; + width: 100%; + } + .Select-control:hover { + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); + } + .Select-control .Select-input:focus { + outline: none; + background: #fff; + } + .Select-placeholder, + .Select--single > .Select-control .Select-value { + bottom: 0; + color: #aaa; + left: 0; + line-height: 34px; + padding-left: 10px; + padding-right: 10px; + position: absolute; + right: 0; + top: 0; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .Select-input { + height: 34px; + padding-left: 10px; + padding-right: 10px; + vertical-align: middle; + } + .Select-input > input { + width: 100%; + background: none transparent; + border: 0 none; + box-shadow: none; + cursor: default; + display: inline-block; + font-family: inherit; + font-size: inherit; + margin: 0; + outline: none; + line-height: 17px; + /* For IE 8 compatibility */ + padding: 8px 0 12px; + /* For IE 8 compatibility */ + -webkit-appearance: none; + } + .is-focused .Select-input > input { + cursor: text; + } + .has-value.is-pseudo-focused .Select-input { + opacity: 0; + } + .Select-control:not(.is-searchable) > .Select-input { + outline: none; + } + .Select-loading-zone { + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 16px; + } + .Select-loading { + -webkit-animation: Select-animation-spin 400ms infinite linear; + -o-animation: Select-animation-spin 400ms infinite linear; + animation: Select-animation-spin 400ms infinite linear; + width: 16px; + height: 16px; + box-sizing: border-box; + border-radius: 50%; + border: 2px solid #ccc; + border-right-color: #333; + display: inline-block; + position: relative; + vertical-align: middle; + } + .Select-clear-zone { + -webkit-animation: Select-animation-fadeIn 200ms; + -o-animation: Select-animation-fadeIn 200ms; + animation: Select-animation-fadeIn 200ms; + color: #999; + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 17px; + } + .Select-clear-zone:hover { + color: #D0021B; + } + .Select-clear { + display: inline-block; + font-size: 18px; + line-height: 1; + } + .Select--multi .Select-clear-zone { + width: 17px; + } + .Select-arrow-zone { + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 25px; + padding-right: 5px; + } + .Select--rtl .Select-arrow-zone { + padding-right: 0; + padding-left: 5px; + } + .Select-arrow { + border-color: #999 transparent transparent; + border-style: solid; + border-width: 5px 5px 2.5px; + display: inline-block; + height: 0; + width: 0; + position: relative; + } + .Select-control > *:last-child { + padding-right: 5px; + } + .Select--multi .Select-multi-value-wrapper { + display: inline-block; + } + .Select .Select-aria-only { + position: absolute; + display: inline-block; + height: 1px; + width: 1px; + margin: -1px; + clip: rect(0, 0, 0, 0); + overflow: hidden; + float: left; + } + @-webkit-keyframes Select-animation-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + @keyframes Select-animation-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + .Select-menu-outer { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + background-color: #fff; + border: 1px solid #ccc; + border-top-color: #e6e6e6; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); + box-sizing: border-box; + margin-top: -1px; + max-height: 200px; + position: absolute; + left: 0; + top: 100%; + width: 100%; + z-index: 1; + -webkit-overflow-scrolling: touch; + } + .Select-menu { + max-height: 198px; + overflow-y: auto; + } + .Select-option { + box-sizing: border-box; + background-color: #fff; + color: #666666; + cursor: pointer; + display: block; + padding: 8px 10px; + } + .Select-option:last-child { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + } + .Select-option.is-selected { + background-color: #f5faff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.04); + color: #333; + } + .Select-option.is-focused { + background-color: #ebf5ff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.08); + color: #333; + } + .Select-option.is-disabled { + color: #cccccc; + cursor: default; + } + .Select-noresults { + box-sizing: border-box; + color: #999999; + cursor: default; + display: block; + padding: 8px 10px; + } + .Select--multi .Select-input { + vertical-align: middle; + margin-left: 10px; + padding: 0; + } + .Select--multi.Select--rtl .Select-input { + margin-left: 0; + margin-right: 10px; + } + .Select--multi.has-value .Select-input { + margin-left: 5px; + } + .Select--multi .Select-value { + background-color: #ebf5ff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.08); + border-radius: 2px; + border: 1px solid #c2e0ff; + /* Fallback color for IE 8 */ + border: 1px solid rgba(0, 126, 255, 0.24); + color: #007eff; + display: inline-block; + font-size: 0.9em; + line-height: 1.4; + margin-left: 5px; + margin-top: 5px; + vertical-align: top; + } + .Select--multi .Select-value-icon, + .Select--multi .Select-value-label { + display: inline-block; + vertical-align: middle; + } + .Select--multi .Select-value-label { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; + cursor: default; + padding: 2px 5px; + } + .Select--multi a.Select-value-label { + color: #007eff; + cursor: pointer; + text-decoration: none; + } + .Select--multi a.Select-value-label:hover { + text-decoration: underline; + } + .Select--multi .Select-value-icon { + cursor: pointer; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; + border-right: 1px solid #c2e0ff; + /* Fallback color for IE 8 */ + border-right: 1px solid rgba(0, 126, 255, 0.24); + padding: 1px 5px 3px; + } + .Select--multi .Select-value-icon:hover, + .Select--multi .Select-value-icon:focus { + background-color: #d8eafd; + /* Fallback color for IE 8 */ + background-color: rgba(0, 113, 230, 0.08); + color: #0071e6; + } + .Select--multi .Select-value-icon:active { + background-color: #c2e0ff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.24); + } + .Select--multi.Select--rtl .Select-value { + margin-left: 0; + margin-right: 5px; + } + .Select--multi.Select--rtl .Select-value-icon { + border-right: none; + border-left: 1px solid #c2e0ff; + /* Fallback color for IE 8 */ + border-left: 1px solid rgba(0, 126, 255, 0.24); + } + .Select--multi.is-disabled .Select-value { + background-color: #fcfcfc; + border: 1px solid #e3e3e3; + color: #333; + } + .Select--multi.is-disabled .Select-value-icon { + cursor: not-allowed; + border-right: 1px solid #e3e3e3; + } + .Select--multi.is-disabled .Select-value-icon:hover, + .Select--multi.is-disabled .Select-value-icon:focus, + .Select--multi.is-disabled .Select-value-icon:active { + background-color: #fcfcfc; + } + @keyframes Select-animation-spin { + to { + transform: rotate(1turn); + } + } + @-webkit-keyframes Select-animation-spin { + to { + -webkit-transform: rotate(1turn); + } + } diff --git a/src/utils/data.ts b/src/utils/data.ts new file mode 100644 index 0000000..346a87f --- /dev/null +++ b/src/utils/data.ts @@ -0,0 +1,150 @@ + +type MxObject = mendix.lib.MxObject; +type SortOrder = "asc" | "desc"; + +export interface FetchDataOptions { + source: "xpath" | "microflow" | "nanoflow"; + entity: string; + guid: string; + constraint?: string; + sortAttribute?: string; + sortOrder?: SortOrder; + attributes?: string[]; + microflow?: string; + nanoflow?: Nanoflow; + mxform?: mxui.lib.form._FormBase; +} + +export interface FetchByXPathOptions { + guid: string; + entity: string; + constraint: string; + sortAttribute?: string; + sortOrder?: SortOrder; + attributes?: string[]; + references?: any; +} + +export interface ReferencesSpec { + attributes?: string[]; + amount?: number; + sort?: Array<[ string, SortOrder ]>; + references?: { + [ index: string ]: ReferencesSpec; + }; +} + +export interface FetchedData { + mxObjects?: mendix.lib.MxObject[]; +} + +export interface Nanoflow { + nanoflow: object[]; + paramsSpec: { Progress: string }; +} + +const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => + path.split("/").reduce((referenceSet, part, index, pathParts) => { + let parent = referenceSet; + // Use relations, skip entities sample: "module.relation_X_Y/module.entity_Y/attribute" + // At the moment Mendix support only 1 level deep. + if (index % 2 === 0) { + for (let i = 0; i < index; i += 2) { + if (parent.references) { + parent = parent.references[pathParts[i]]; + } + } + if (pathParts.length - 1 === index) { + // Skip empty attributes + if (part) { + parent.attributes = parent.attributes ? parent.attributes.concat(part) : [ part ]; + } + } else if (!parent.references) { + parent.references = { [part]: {} }; + } else if (!parent.references[part]) { + parent.references[part] = {}; + } + } + + return referenceSet; + }, references); + +export const fetchData = (options: FetchDataOptions): Promise => + new Promise((resolve, reject) => { + const { guid, entity, sortAttribute, sortOrder } = options; + if (entity && guid) { + if (options.source === "xpath") { + const references = getReferences(options.attributes || []); + fetchByXPath({ + attributes: references.attributes, + constraint: options.constraint || "", + entity, + guid, + references: references.references, + sortAttribute, + sortOrder + }) + .then(mxObjects => resolve({ mxObjects })) + .catch(message => reject({ message })); + } else if (options.source === "microflow" && options.microflow) { + fetchByMicroflow(options.microflow, guid) + .then(mxObjects => resolve({ mxObjects })) + .catch(message => reject({ message })); + } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) {// nanflow + fetchByNanoflow(options.nanoflow, options.mxform) + .then(mxObjects => resolve({ mxObjects })) + .catch(message => reject({ message })); + } else { + reject("entity & guid are required"); + } + } + }); + +export const fetchByXPath = (options: FetchByXPathOptions): Promise => new Promise((resolve, reject) => { + const { guid, entity, constraint, sortAttribute, sortOrder, attributes, references } = options; + const entityPath = entity.split("/"); + const entityName = entityPath.length > 1 ? entityPath[entityPath.length - 1] : entity; + const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; + + window.mx.data.get({ + callback: resolve, + error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), + filter: { + attributes, + references, + sort: sortAttribute && sortAttribute.indexOf("/") === -1 ? [ [ sortAttribute, sortOrder || "asc" ] ] : [] + }, + xpath + }); +}); + +export const fetchByMicroflow = (actionname: string, guid: string): Promise => + new Promise((resolve, reject) => { + const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; + window.mx.ui.action(actionname, { + callback: (result) => resolve(result as any), + error: error => reject(`${errorMessage} ${error.message}`), + params: { applyto: "selection", guids: [ guid ] } + }); + }); + +export const fetchByNanoflow = (actionname: Nanoflow, mxform: mxui.lib.form._FormBase): Promise => + new Promise((resolve, reject) => { + const errorMessage = `An error occurred while retrieving data by nanoflow (${actionname}): `; + const context = new mendix.lib.MxContext(); + window.mx.data.callNanoflow({ + callback: (result) => resolve(result as any), + context, + error: error => reject(`${errorMessage} ${error.message}`), + nanoflow: actionname, + origin: mxform + }); + }); + +const getReferences = (attributePaths: string[]): ReferencesSpec => { + let references: ReferencesSpec = { attributes: [] }; + attributePaths.forEach(attribute => { + references = addPathReference(references, attribute); + }); + return references; +}; diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..f51baaf --- /dev/null +++ b/tslint.json @@ -0,0 +1,154 @@ +{ + "rulesDirectory": [ + "node_modules/tslint-eslint-rules/dist/rules" + ], + "extends": "tslint:latest", + "rules": { + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "eofline": true, + "indent": [ + true, + "spaces" + ], + "member-ordering": [ + true, + "variables-before-functions" + ], + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-console": [ + true + ], + "no-debugger": true, + "no-duplicate-variable": true, + "no-eval": true, + "no-inferrable-types": [ + true + ], + "no-internal-module": true, + "no-shadowed-variable": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unused-expression": true, + "no-var-keyword": true, + "one-line": [ + true, + "check-catch", + "check-finally", + "check-else", + "check-open-brace", + "check-whitespace" + ], + "quotemark": [ + true, + "double" + ], + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "variable-name": [ + true, + "ban-keywords" + ], + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-module", + "check-separator", + "check-type" + ], + "interface-name": [ + false, + "always-prefix" + ], + "no-multi-spaces": [ + true + ], + "no-extra-semi": true, + "no-irregular-whitespace": true, + "no-duplicate-case": true, + "no-control-regex": true, + "no-empty-character-class": true, + "no-ex-assign": true, + "no-extra-boolean-cast": true, + "no-unexpected-multiline": true, + "no-sparse-arrays": true, + "no-regex-spaces": true, + "no-implicit-dependencies": false, + "no-invalid-regexp": true, + "valid-typeof": true, + "array-bracket-spacing": [ + true, + "always" + ], + "block-spacing": [ + true, + "always" + ], + "brace-style": [ + true, + "1tbs", + { + "allowSingleLine": true + } + ], + "object-curly-spacing": [ + true, + "always" + ], + "trailing-comma": [ + true, + { + "multiline": "never", + "singleline": "never" + } + ], + "member-access": false, + "ordered-imports": [ + true, + { + "import-sources-order": "any", + "named-imports-order": "lowercase-last" + } + ], + "curly": false, + "max-line-length": [ + true, + 150 + ], + "arrow-parens": false, + "no-namespace": false + }, + "jsRules": { + "trailing-comma": [ + false + ], + "object-literal-sort-keys": false, + "array-bracket-spacing": [ + true, + "always" + ] + } +} From 0bc43390cd134fa18669d365dbadf7959ae31664 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 19 Jul 2018 08:03:34 +0300 Subject: [PATCH 03/89] Add custom style: overdrive react-select default styles --- src/ReferenceSelector.webmodeler.ts | 5 +- src/components/ReferenceSelector.ts | 2 +- src/ui/ReferenceSelector.scss | 139 ++++++++- src/ui/react-select.css | 420 ---------------------------- 4 files changed, 135 insertions(+), 431 deletions(-) delete mode 100644 src/ui/react-select.css diff --git a/src/ReferenceSelector.webmodeler.ts b/src/ReferenceSelector.webmodeler.ts index 5b882f2..7c3d4e1 100644 --- a/src/ReferenceSelector.webmodeler.ts +++ b/src/ReferenceSelector.webmodeler.ts @@ -31,14 +31,11 @@ export class preview extends Component { } export function getPreviewCss() { - return ( - require("./ui/ReferenceSelector.scss") + require("./ui/react-select.css") - ); + return require("./ui/ReferenceSelector.scss"); } export function getVisibleProperties(valueMap: ReferenceSelectorContainerProps, visibilityMap: VisibilityMap) { visibilityMap.source = valueMap.microflow === "microflow"; - // visibilityMap.source = valueMap.nanoflow.nanoflow === "nanoflow"; return visibilityMap; } diff --git a/src/components/ReferenceSelector.ts b/src/components/ReferenceSelector.ts index 5d6b70a..cfd7487 100644 --- a/src/components/ReferenceSelector.ts +++ b/src/components/ReferenceSelector.ts @@ -32,7 +32,7 @@ export class ReferenceSelector extends Component { private showLabel() { return this.props.showLabel ? - createElement("div", { className: "div-wrapper" }, + createElement("div", { className: "div-wrapper-label" }, createElement("label", { className: "control-label" }, this.props.label)) : null; } diff --git a/src/ui/ReferenceSelector.scss b/src/ui/ReferenceSelector.scss index dd94f08..f35d15b 100644 --- a/src/ui/ReferenceSelector.scss +++ b/src/ui/ReferenceSelector.scss @@ -1,17 +1,144 @@ -.widget-reference-selector-wrapper{ +.widget-reference-selector-wrapper { + display: inline-flex; position: relative; + padding-bottom: 4px; width: 100%; height: 100%; } -.div-wrapper{ +.div-wrapper-label { display: inline-block; - padding: 10px; +} +@media (min-width: 767px) { + .div-wrapper-label { + display: inline-block; + } +} + +@media (min-width: 100px) and (max-width:766px) { + .div-wrapper-label { + display: block; + } + + .css-10nd86i { + position: relative; + min-height: 1px; + width: 100%; + } + + .widget-reference-selector-wrapper { + display: block !important; + } + + .div-wrapper { + padding-left: 0px !important; + } +} + +.div-wrapper { + display: inline-block; + padding-bottom: 8px; + padding-left: 10px; + width: 100% } .css-10nd86i { position: relative; min-height: 1px; - width: 399%; - float: left; -} \ No newline at end of file + width: 100% +} + +.css-1aya2g8 { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color: #FFF; + border-color: hsl(0,0%,80%); + border-radius: 4px; + border-style: solid; + border-width: 1px; + cursor: default; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 38px; + outline: 0 !important; + position: relative; + -webkit-transition: all 100ms; + transition: all 100ms; + box-sizing: border-box; +} + +.css-1rtrksz { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 2px 8px; + -webkit-overflow-scrolling: touch; + position: relative; + box-sizing: border-box; + background-color: #FFF; +} + +.css-1wy0on6 { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + background-color: #FFF; + box-sizing: border-box; +} + +.css-d8oujb { + display: none ! important; +} + +.css-1ep9fjw { + color: #999; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 8px; + -webkit-transition: color 150ms; + transition: color 150ms; + box-sizing: border-box; +} + +.css-19bqh2r { + display: inline-block; + fill: currentColor; + line-height: 1; + stroke: currentColor; + stroke-width: 0; +} diff --git a/src/ui/react-select.css b/src/ui/react-select.css deleted file mode 100644 index 89dd400..0000000 --- a/src/ui/react-select.css +++ /dev/null @@ -1,420 +0,0 @@ -.Select { - position: relative; - } - .Select input::-webkit-contacts-auto-fill-button, - .Select input::-webkit-credentials-auto-fill-button { - display: none !important; - } - .Select input::-ms-clear { - display: none !important; - } - .Select input::-ms-reveal { - display: none !important; - } - .Select, - .Select div, - .Select input, - .Select span { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .Select.is-disabled .Select-arrow-zone { - cursor: default; - pointer-events: none; - opacity: 0.35; - } - .Select.is-disabled > .Select-control { - background-color: #f9f9f9; - } - .Select.is-disabled > .Select-control:hover { - box-shadow: none; - } - .Select.is-open > .Select-control { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; - background: #fff; - border-color: #b3b3b3 #ccc #d9d9d9; - } - .Select.is-open > .Select-control .Select-arrow { - top: -2px; - border-color: transparent transparent #999; - border-width: 0 5px 5px; - } - .Select.is-searchable.is-open > .Select-control { - cursor: text; - } - .Select.is-searchable.is-focused:not(.is-open) > .Select-control { - cursor: text; - } - .Select.is-focused > .Select-control { - background: #fff; - } - .Select.is-focused:not(.is-open) > .Select-control { - border-color: #007eff; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1); - background: #fff; - } - .Select.has-value.is-clearable.Select--single > .Select-control .Select-value { - padding-right: 42px; - } - .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label { - color: #333; - } - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label { - cursor: pointer; - text-decoration: none; - } - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover, - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { - color: #007eff; - outline: none; - text-decoration: underline; - } - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { - background: #fff; - } - .Select.has-value.is-pseudo-focused .Select-input { - opacity: 0; - } - .Select.is-open .Select-arrow, - .Select .Select-arrow-zone:hover > .Select-arrow { - border-top-color: #666; - } - .Select.Select--rtl { - direction: rtl; - text-align: right; - } - .Select-control { - background-color: #fff; - border-color: #d9d9d9 #ccc #b3b3b3; - border-radius: 4px; - border: 1px solid #ccc; - color: #333; - cursor: default; - display: table; - border-spacing: 0; - border-collapse: separate; - height: 36px; - outline: none; - overflow: hidden; - position: relative; - width: 100%; - } - .Select-control:hover { - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); - } - .Select-control .Select-input:focus { - outline: none; - background: #fff; - } - .Select-placeholder, - .Select--single > .Select-control .Select-value { - bottom: 0; - color: #aaa; - left: 0; - line-height: 34px; - padding-left: 10px; - padding-right: 10px; - position: absolute; - right: 0; - top: 0; - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .Select-input { - height: 34px; - padding-left: 10px; - padding-right: 10px; - vertical-align: middle; - } - .Select-input > input { - width: 100%; - background: none transparent; - border: 0 none; - box-shadow: none; - cursor: default; - display: inline-block; - font-family: inherit; - font-size: inherit; - margin: 0; - outline: none; - line-height: 17px; - /* For IE 8 compatibility */ - padding: 8px 0 12px; - /* For IE 8 compatibility */ - -webkit-appearance: none; - } - .is-focused .Select-input > input { - cursor: text; - } - .has-value.is-pseudo-focused .Select-input { - opacity: 0; - } - .Select-control:not(.is-searchable) > .Select-input { - outline: none; - } - .Select-loading-zone { - cursor: pointer; - display: table-cell; - position: relative; - text-align: center; - vertical-align: middle; - width: 16px; - } - .Select-loading { - -webkit-animation: Select-animation-spin 400ms infinite linear; - -o-animation: Select-animation-spin 400ms infinite linear; - animation: Select-animation-spin 400ms infinite linear; - width: 16px; - height: 16px; - box-sizing: border-box; - border-radius: 50%; - border: 2px solid #ccc; - border-right-color: #333; - display: inline-block; - position: relative; - vertical-align: middle; - } - .Select-clear-zone { - -webkit-animation: Select-animation-fadeIn 200ms; - -o-animation: Select-animation-fadeIn 200ms; - animation: Select-animation-fadeIn 200ms; - color: #999; - cursor: pointer; - display: table-cell; - position: relative; - text-align: center; - vertical-align: middle; - width: 17px; - } - .Select-clear-zone:hover { - color: #D0021B; - } - .Select-clear { - display: inline-block; - font-size: 18px; - line-height: 1; - } - .Select--multi .Select-clear-zone { - width: 17px; - } - .Select-arrow-zone { - cursor: pointer; - display: table-cell; - position: relative; - text-align: center; - vertical-align: middle; - width: 25px; - padding-right: 5px; - } - .Select--rtl .Select-arrow-zone { - padding-right: 0; - padding-left: 5px; - } - .Select-arrow { - border-color: #999 transparent transparent; - border-style: solid; - border-width: 5px 5px 2.5px; - display: inline-block; - height: 0; - width: 0; - position: relative; - } - .Select-control > *:last-child { - padding-right: 5px; - } - .Select--multi .Select-multi-value-wrapper { - display: inline-block; - } - .Select .Select-aria-only { - position: absolute; - display: inline-block; - height: 1px; - width: 1px; - margin: -1px; - clip: rect(0, 0, 0, 0); - overflow: hidden; - float: left; - } - @-webkit-keyframes Select-animation-fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - @keyframes Select-animation-fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - .Select-menu-outer { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - background-color: #fff; - border: 1px solid #ccc; - border-top-color: #e6e6e6; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); - box-sizing: border-box; - margin-top: -1px; - max-height: 200px; - position: absolute; - left: 0; - top: 100%; - width: 100%; - z-index: 1; - -webkit-overflow-scrolling: touch; - } - .Select-menu { - max-height: 198px; - overflow-y: auto; - } - .Select-option { - box-sizing: border-box; - background-color: #fff; - color: #666666; - cursor: pointer; - display: block; - padding: 8px 10px; - } - .Select-option:last-child { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - } - .Select-option.is-selected { - background-color: #f5faff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.04); - color: #333; - } - .Select-option.is-focused { - background-color: #ebf5ff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.08); - color: #333; - } - .Select-option.is-disabled { - color: #cccccc; - cursor: default; - } - .Select-noresults { - box-sizing: border-box; - color: #999999; - cursor: default; - display: block; - padding: 8px 10px; - } - .Select--multi .Select-input { - vertical-align: middle; - margin-left: 10px; - padding: 0; - } - .Select--multi.Select--rtl .Select-input { - margin-left: 0; - margin-right: 10px; - } - .Select--multi.has-value .Select-input { - margin-left: 5px; - } - .Select--multi .Select-value { - background-color: #ebf5ff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.08); - border-radius: 2px; - border: 1px solid #c2e0ff; - /* Fallback color for IE 8 */ - border: 1px solid rgba(0, 126, 255, 0.24); - color: #007eff; - display: inline-block; - font-size: 0.9em; - line-height: 1.4; - margin-left: 5px; - margin-top: 5px; - vertical-align: top; - } - .Select--multi .Select-value-icon, - .Select--multi .Select-value-label { - display: inline-block; - vertical-align: middle; - } - .Select--multi .Select-value-label { - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - cursor: default; - padding: 2px 5px; - } - .Select--multi a.Select-value-label { - color: #007eff; - cursor: pointer; - text-decoration: none; - } - .Select--multi a.Select-value-label:hover { - text-decoration: underline; - } - .Select--multi .Select-value-icon { - cursor: pointer; - border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - border-right: 1px solid #c2e0ff; - /* Fallback color for IE 8 */ - border-right: 1px solid rgba(0, 126, 255, 0.24); - padding: 1px 5px 3px; - } - .Select--multi .Select-value-icon:hover, - .Select--multi .Select-value-icon:focus { - background-color: #d8eafd; - /* Fallback color for IE 8 */ - background-color: rgba(0, 113, 230, 0.08); - color: #0071e6; - } - .Select--multi .Select-value-icon:active { - background-color: #c2e0ff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.24); - } - .Select--multi.Select--rtl .Select-value { - margin-left: 0; - margin-right: 5px; - } - .Select--multi.Select--rtl .Select-value-icon { - border-right: none; - border-left: 1px solid #c2e0ff; - /* Fallback color for IE 8 */ - border-left: 1px solid rgba(0, 126, 255, 0.24); - } - .Select--multi.is-disabled .Select-value { - background-color: #fcfcfc; - border: 1px solid #e3e3e3; - color: #333; - } - .Select--multi.is-disabled .Select-value-icon { - cursor: not-allowed; - border-right: 1px solid #e3e3e3; - } - .Select--multi.is-disabled .Select-value-icon:hover, - .Select--multi.is-disabled .Select-value-icon:focus, - .Select--multi.is-disabled .Select-value-icon:active { - background-color: #fcfcfc; - } - @keyframes Select-animation-spin { - to { - transform: rotate(1turn); - } - } - @-webkit-keyframes Select-animation-spin { - to { - -webkit-transform: rotate(1turn); - } - } From 18d6c35b4527d72d6d86992ab08924f1b73eedb5 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 20 Jul 2018 05:15:39 +0300 Subject: [PATCH 04/89] Add overlay on open mendix form --- .vs/slnx.sqlite | Bin 0 -> 2187264 bytes src/components/ReferenceSelector.ts | 6 +-- src/components/ReferenceSelectorContainer.ts | 50 ++++++++++++------- src/ui/ReferenceSelector.scss | 34 +++++++++++-- 4 files changed, 64 insertions(+), 26 deletions(-) create mode 100644 .vs/slnx.sqlite diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..d837b494209b798ac1608074647b9a90f62e24a6 GIT binary patch literal 2187264 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

aDbfTvy?$ff)@z9&H2R^NN6@4d(P>}tS=YP+8 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 z z+vO^Gg6wpD?R>%+g6IQ{&e_f(*3-exp%%{VJ)jrAZn+Om?7J+L5T#Hye`|il95#2E z%ghgHtBr0-)^CF1f0UBi0^SE=XfX@BS+)YlI_$Hj%d-^3BOb2z*nbQr>>u1x~$6HjQ!$`oRTmI;2l} z<1>@<_JczlabMD|l4YE{e(;A=yvDezWQ`)=7iSQG=A^oSGZAk;c*l|ab;mMV!a@Du z8%NyOl&fS}itK*yh$A1!c$KV?4Q_E7oB1HpT(kSZIZk8Kt7KW~yngVJBPE8+(IwSP z#Mckra_DQ)%!l=Zmz>@a|M8=Y=?9Ow+3*a~yHNjTSIM%+jp_$4x}%aw>sQG#+4240 zQ&*WxmW>?b1eB#1*AISn|BbPRzM{V$yzfYxY}K!lWtnC6gYO+_%*3=rjor(b{(f-1 zBMH^(Vo@pb`oZ~*)Vj)Jw-U4DL;Jx4&(L>`Lj^5dem{8Pkx@y@M-$?UlGhI|d4|U& zX_o$e@XaHoZGyS4S8<}IPs!{DzdZ7q5azn4r<3f#v2yzR!7+~{1Qr;*AYN`ixaN^z zRSAp?;f=L(hV--bUY*qs9(u%;5F}dLHY&Qkkqa(*glq85W?WxC_~#khC1ZK}!9C9y z^x$Xxf&Ym;LxaWqC-w{(7XK4_1}Z^!{$^oAwAeGcqc(JF#>r~{Sd8$44xp=0cZTi zq7LpCRc~qFB`aihzrZH;whkB~QF33u36GAfXqo*f+O*Zx)7IXJADa_DNv%S<98^NU zv(&!$iE74u>-*Z3s0K88moI*T%7SGi91g?VP?k5oRbBSfamhR14S!EG|)pmZ-70nSa!Jm9=J5mtwfWUf3Up7$u~6wkB4kKMv7J z6kc~{pAsU8rSrwL_#|K}wtgZiNM;=3laMa}l?w|h{tG~q65^5%Oyvu}mq4k#aV4qYwK5 zaC3q9nfSUIF<*RCyp6=q7q2Ff^u^uQ6o{&yZ=Lqvxo?1v$^SpQ>43i{f!%zd-=u(V zKuC5A0l9&I+&VyR8<2N{rNdf%a{@1$T#biGcMicFkBfB) z{&-w`S8&L?NXdu2ySaQVm$Ovf%E^f3t2h~KJK6;_&EY2svNRd8{1!Rze~PUeV;n>eJn zf{P(66;*U`GSe&gI-FLqnvj z`3w)Lk$xFc5Dasv@`G2Z&(cprz=`%k4jB?Wk3;f;YV3NJb8c`aCzBK8B0NijgKB(W z_64(pM=GgUK3T!(9FiGSV?Hw(e{eh};|p@Je{{6Ili&V@lPO13n!;uKMgJSYA1s%XwbqG%n|g$|eq}tmJz^Rpmx5pX$mJIAnG8 z5Dsar9;_g&%q`XGXv|93T%FFPYO0nwWL33=LmI0E4mq|;jm*q)URlLOn zGTUmtb!202(OdmBC(~2?k%F+NcUQl|A;(p}&ZX+A=D$T}_4Ay}`sx}EX|JBg<-D%C zl#^+z=1284)dgItGitdg;?n80XK?wPR=a~kcGh-s$d1}|9CB){okLEk6***k&EFhy ze(iG{a$fD@9CB{0+BR4{pHq83tYq(CW+c+h^`CR8Zmj2P{)T#fPPwi=#HG5no*#R! zsc++C`s){QNW7j~eMzx;wdPs-iPo!al_8P(EH0mLJ>TC$_3BK--u>!&2bb!qdXs`M znJepl=47s@dyPXbuhUjdv=3fZcQcj|f1SgPhvF}DxD}fC^Bk@=#KUv=_3BS^xV9?( zI46U9)(>S5aLD&%e0jbrJD-y|RJM^rzAZaWL1=A=-;{CdO!4b7ZmlJLHH#Zt#4k#} z;&T4H^dOh>XQi)lGM|**!yzA+-pZx=sPqO7`LL8*+lU{Oa%&s$VCmId&hM9A#v$*O zp2s2YmY&8T@04!kkhe>Z=a7Gw@^yHiw4IZAt5jWi()KLASvrQC|8FxnQaqn}9`jt~ z+38v5Dff)_$nKBa``t13sSwew+C9nbb^Qis_m8-uV4>gXTI`zP8V3IV-^#Cnrh2~I zEiaaf)`f5W-Yd6n~I=W4h+V2o3C`~ZIb`@qZpBu6XU9WdUJYCi<`0p4Xl-@eJd z!afIl`Ulv4hM0bL+V+A?!O^yvwj7%Xu?L^D-UPPs-PZYVb3nG`cguU0$1OKn_JFou zXPIEhF#llwf7tuZ@HmSrTy5{Wwv26Aw#u%$#7bMFEw;e6jBVTvE)?6Ct+ucll8g(4 z8cJxPBm_bUU0aldPUtNVLWhJBLJz$rB=mOQnfcm$-^%dkKKIY%$rEeNoH^6yo1OEX zbDlKa0$YV$rd6h(X)ohf#(x;^G+qwhgIkS@fB?`N-ZngH$Qw>KY%%O-XaQ3G9sOVQ z*XU2uC-rfCjot_x|1-K*R%WQlL0?aFZmM{)N)D*)MGi%@SDB+K2mL)6M=qYM zoL`-T5}!1Jk0+~SfFfUDC|N^A4%&Qfkfa{g=AgnS%1U)SSy_B-4!V4aMG;R{W|@_P z8lS8bWjt9qyCw%+J{bd5JXx8eA_rAI*FuXp2QzYlgIg({>=Y@lItL{_ogXfq>=d(D zxHboEK54t8coO2t$}BZGX!IqusT@yM=BUU)sZSaw#*>w^DsxcilLuBgo~)cXBL`JJ zd9)o7Dzclj3+B+R^_0=*LXpe^DA;t+LH!}@nq$!${cj`L@odiLOfYH zb7l_ec(sOC8mp!pbnkOe6e%Z=mW0Utem9rgOd@>2vz2w@gu8i2ud4u4`=0|?IXiOSEXNF?erYfd}Ll=wMy&< ztJRM8a=w$2P9X`a>1E7=<`T! zc5q;Hq<1$zyt8sp=aH_E+|*znRm#bQD-d&-)+&K0q*|-T1chD(N}QpLf9q&J4Lu<- z%o>A2kBG+bm6*5MF(~!O0w)HW{-Hsf`S8EM^?CZ3pxjFiGK*hHcEuQ!dt@|{nlYX> z2JIeMWyxNmW|R9ebqtz4@?llgGGh#SJ+ev?Fy>YDfBF~{dkVnE6q9t`jzOzea(_xJ z)5iq8p141yoT@SC^`!kLtv*FQlzURXv_GZ%S!2-fY4)d-J#!3NKK1^Ta;J?!(Wls- ziVUdv6#G-km@x(|AHP4Pyy`Ki`AY0hiJ@W)%06y?N?9|;1YMuJKc&2BW6<@H#xVCC z^1#m;gQk!4o$O5Q&{d8>*QeUJlF(UW(DRY9+{Tr%r;kC|r`)(w&df3B`sfw|?hal; zh&7?yq{=a<`&1iODq1lnX#7NHv2wYYW6=1iH?CCBH`cS_tPT-7tj4%hB( zNyMzN&8)xN?v}DE#tu{MZYisJY!jPS)$W!UW{quRqPg8IW!H{vm|%BHEYrshWuq=4!Nma?Xe9n9@+DP!u`LCW1N(PxaUSMP2qZ|c}Owt&1DtfcP&?e zT{m2IjV^69UW?z(Nm!uk%paJaH9FuS?JjZ#QbHKR?(fyj8GpXmm|2f`q zyy$quaXak#e+&PCyB$Zsum4iVZ1@nYblB}*+uygpXn)v#v;8vrY4#!e!S=cKM*B2a z^M9@zv%O|})ON4!W?MmbiR~iWY1SsI**0oB9KHl&wtCwn>$iqS47V7rG@NbN4KID0 z5t(3tq07)@m|<|hLLhByG(MvLO8>6@dHqBBoAp=g&)1)*KN5EKbM@`ksCAlgiLul8 zg7tmt3)Y9MH(9Sll!9Zeebz%W!|WzxeC^;lcH?Bd-sv(<*Xz@;>fCb3M~BX|%q}zO zJ;s?J0jYt>*s$-0rF$70NO}Zb)KsO@nS(M14KRLkw}qRkB?m35GcM5UQ@c`qgV>W^e@SSJrQM!b?`>Z&Q?Ey~BDJ>mQkv_N_xhi=JNGDvw0{ zC-tAoDcc6yW<_eQZ9hfIWOK+V>$}#E6sgCoPbpFtS^wxXPS>%8;M6}m#aKsI1+Yl; z@LkZf;2brrr?uxQHLd&Zxzp6N@HJiEX=wAp!%pK=w#iseyo=rBtjg$?8A@E=+?#8F22tA7r7f7%QhO=VkJXIV2Et=+GuGyz*`c@UVMni zLzdg@-mBKQ55#UC86E83+}lt5sKJR!a=16WCDXoj(c(on`;7A^WPr~gu-v4SA-=UK zW!#8OrD)@vjR#88J4`NAhI_lul*VFVZsE-*m=K@?LlX{mr9z27CY=Zb;$5+LCYz2# zIs=hVAQnxeQeEj}BAH13`L`I&oyevGnPjr7Gn0)4QYmyVn@n^CGVyR%G?k2}yTYMp zC+h7Chmx^CJe^I(gVAs>*%?a)Q6$n83wK5nk!)8Woep=UW1&Pak?D*iBB4-cB$Gm; zLZmo`G#%|sCX<0qwAggF=^oaipy^oC4eZZ==`yoP{PS4T^={(~^c(XvIMDD?!y8tk z2iwJ|f7)%FsiUVITzfk8Pn8?JSTF=**p3&s9kqwooOAgnP0k{Q#134NI4Gg-Ibf@Cs{7zwAw~r7< zThHlUpnH(5bw+E|?G67ZzZLo53Z&-3nsL?vx+NfN6jpYxfC~|FL{iN~HGicmSfb3@ zG>hrSB}!$c@^hXC-fO<%DTc@9F-@*iO8-rzt=uS|(xW4r{$ZM=m$UpMaF$TSqv=VHUk4NR{=WY8UmQ)@cECvj$ducFKgkMNX^ zBZ3TpAjxU}t|P|tv|0TLp3*wr`W#PbOgGC1K5b8{w2wM*PA&#FxZZ(M6voMDjC_Ae=#6$)=NCCnoKfv{RY3on`x_GHrNm{sruC zPwXPNZht@CbI3Pj){C=VE16OGZsjL*Tcs1bR%O?2%^ZSXAEa9i3wD;G_cZk!$Jz-y z9=vGcN(1hSo{Iga8C&T0OQfdy)B32Xj_x0HQXqrmn{4#rtdK}f{oh$1h-FZJx~HY* zS91D@k)G}ajmk7u=Tv1HYx7$!JuiHuGL4mTpE8YA5>ckHLN+VYSRIP?95I5GafdP= zt0JIGmtR-@fHFOK@?=gvw4cq&e5|0;J;o|F0)E5>cIy8oe(y5qY=e}jJZjcPDN%ky z`Fm1g@|4MP4k~Dpatvja=~>1uy?#GjSl7al=LmC@ES|n6(MeTh;v7Datzi^`1>}hC z99@nl{8Go9&tuvc$Jsg-S3x42r901!Zs`ai37+~EvDXRAYIjF>knMA1W5o;()LdNi zs?2f3NX;2FzY(t1qY3{}y_p?gn_}IoRYRP7bor%r<5X6ap`L9~+{ekCoGeCvMTp+H zNt)8ooUNPT;051EqI4qxTM=8v0G=06Km(}kwb#XpZV-NgQk!E;!S{TVggWR3`z3Vfh5 ziEOef)EP>JQqf2x*%gZha5IT@#WTTpESStD!qH49nC;Ajqk+zNED_A&qLB_~%%7V7 zE8Zj`xJ4x5u`r~iyVBuwHq{l6XCsMZDjCb9x-yw$G?)lSLb$gCB3;2)BpV6GV_mpz z1hV057Pp2lt}~%zCeW1#2U6j17p@khOdy)-?2HE@(Rf!N847d;V##B8? zY#@{gWfQ0>9f;$K7QyuklB3Z~S2UOkrxLh0VR)jUP&yM&V*ujOU_6xw$I`f_p?Fs! z7LEopv1l-x&cq_=&SWfzt5iB=y4Q3+>sJ?izE0c_OCF7Y)urn5qVB+Cc?hGcd69SJW`v1erUMTbY z!*e5|&>ilHd0g&y-1oT8bEn)(-8InrKj*s6b&4zLn(dnA{Mh-B^D^gd=L%=5)9QH1 zaf{jqs zJ@E_n=28vyd8kiS4Uz526>QL>s@P;Ja*3@q4~^=4p?mEx_GANhlzcCLT zYh1%DszqhSraaWG;zALmaz>?6{VjQ@Ugz>6RraM4Z+jkkSaF#MQu|Aon#u)o(9Wt0 zl(0IL3ixx-){3(y)Ihd^%EVOSug^h!D-N>EFIbyOY|S~SaK&>`W>XlRN~}#e=yX*h zhZf+>6>Lx?&W0RRyad)oPAoxaMz%SX_*!z%_^L)&I+L0Csl@BeK?_VU8AK+2+iY!@ zj7=q;+8ngO;)%j|1S38Li=Y;k#E8ax3Kpn^IVqxp0|g88!yJof8Y;1Pb5Id;?Uigq z6+BQAYj~)!sKis7gRYpXN;LA6SiCtXj5#rqNvFi)%RzT6p2&1)a5M_`n-Y^Z2R$+; zNHXMIm5Y+`QAC`pce``@5`MvD$QcNKJ{EUq~RUA4H8MZO{6e|ksZ6q6HK zmxJP(cyA${60yT^(Ki@l}byLK6< zCilXdgIZghD}jy03{mnxv#sV)&4n)q^|rX&1v!B1sK)^cZgCtKljL4iuC65qWw$sE zN-n>M`;d8Sa?pN@C@z0!2`+iVwPT6`vwzy|f=1a?qr!_)518Ds{eXf>vH0v4$LU z>%1&wV0x)eZw`8Pl`QpEY05#}E`Fd`Kk;!Qni#>BUXoUqgZ7=Dc{%pH#O2LF5wEV3 zMWL5?d^u?3`GqFMqnDVPb5PBTdy_Q`KKyr4tek4DrsV`BeP*PKo1DFKP|}mrg<_nA z13-;El*hF-2W>rBL`rrZDW;gc-P7G>*Jtq4|2NnDuIu5y@0YsUT{}GQx>BySu7$3MtI1X2 zvcY!!1LsT5#}NzgkIqZs(QlV?i*ucG0lf6rI9-l!93MFT>3Gy}hocA|{bx9ic5HKO za4d7oft|oKhZ!FF-?l$zf5?7|{aX74_EYRf*^~B__Sw+qm)pL#y>ENYcE9Zpw#(p| z|5)3A?J(O)+rGATTeZz?Ggv=`U&5!X_gMd6z0`W9^=Ru6)lOM`N;Aj zVgcS{xx#X` zf16%4Jz=`bG;X>W3c6jUt)@dw%T4>50w$knFO%8$rSW~^OU5URcN_m;yv%quUMmKS zhanE&zQ%TArO|Bo)bNS|VUWcO#!^GKq1{kxC^s1Op95L&qW&@c-TLeFSHgq;N%~=Z zLcf}z3-ncbr|uiw`#@hjMn7#m#2Iz(2#IeuK=n{qVhS4d1#?KBhq!j^9a$+nwo_-7 zQnKgoOvXyU1?We0?wKk=_eUy1WJE;>t7U{@DvpkeR0RKXDneUSMQ91B2#x0xC)8+o zVkNq{;88C12W6^i$rfiVQ1L;lC+Up{O#|aiKEhe^!}lizrhq zL1n7(JY}jfHpS3_9<4}>BBl$%e4t-*PuJ4AKhV-5M`~%|XSB3XL`&=Vjh5#ByO!40 zrKPn5w6w-^iQ8?VAEXbz;M3hSLY15!8RGN9PxI*zjgTetcU-{d`)PzLIlqlYq>|Gu zG$NOrZlvzZNt#?s=AOppfTgG$=%2fC%Wh&IEOm+NPnesoQOtpoTsg`zSs_~aB zwVdLuEW>P(FV75YVbg!AiqQS8iVzu45yDTZ2%)fw(D5r3!T+?1&?am)sU0nT6-VRQ z#FcvQ$ns2LNL1S$qapR2#Lk*!>>{&(##QJY5t2Rk5{K`-BTFPlRSU+|l%9Lkl)0y< zDc$d=DUp6PCH#b%5(=p)9p|el{-@NGwxF8QvbUPjcoy3eOZxk_Lmx#wHCc{igR=-I z9;yezkyX@?dhXVc=F-5Jy(5Z(-EV8SB7GWC_;C#>6x5J9&eM?mPijbQ0S&38O+#uF zJ{60^_mTw#wrV6o&s{3Q+@Grm-EXM~k!>nM_%RhB6i^X5&Q%foPpAlO9V$XgtBTNg zhKf)bC2_Ox0=_e2pb_+XM-~nv?k+h&PGaYgnC^a)Pe+d6)8R+?bVxX##PS{I@cI77 z`E*-5pKhUHKjro`3g3){M{ZB_iQkbE*_u?+x@iztlvD6UdbNDvN3^t1yO!2LL)`N6 z{Eun*+WcBtOS6{ND10|)`^Y%caG-*Gq`Th`#(}gS>Bv?-9sVny4*B_X$Ju<^FV2e~ zuZ>1}lCt(*2s663MD5;lHRU zp*A(8<4iTh|5r7otyN8FX;4!dsYm_Zk^RVH5)RrN`w9uk9vbvP%AI>Gm)rd+myBe% zWcVR28EWN{9n`VEB-u~h!b{0E8puFOw$RujQnK-6wgCu4H!-?4K`e(X$CJ1*>_VRz z?vcW=IVQ2giCpyQrG75L1d2C*O6Yz?MTn$Tgz$qZLa0SW=r~f9&0k8rQDyzTCEm%IM$dcyK&*SPLKu5(vVUiP z-{OORfZOet0yoeL{{TVzG}||}=WREdzem)8LE9?xE4B{X6nF@D9`W=pG~Z*s$UI_R zVQw;8P4Af=0b1ZJ)1YZJJOGp%|7(1~c$e`i<1dVZhyoBZ&NO_Fczh4S2f(R@j6Mx) zf1|;s|3v?+{to>W`cw2v@H=~o3N-M4B{|a=*6YdZvhX@38bH@yUH>PFs#4~OW;)2c zwaOUf3d(jm$h}1^7MhV1`C*B?o7H)uIS%q}@*3xIQhBWvIBu*o1{sI&R43RN`Wowg zKS7qar~b4FvdVAT>(5e^f~J<9b9Xe=`X}SP&x-?eA*lWbwru_ zOXr}BSDFf`k%GZ6irqJ1CQ8=sxqBG4@jY{(f_wMOfm&*$IThO{*d(L$Jrm`jT(!FC zl0hUIR-7;slXA+0nW*ya2{Tb=m3ow!p(QFTl+HnICzsAaRd=^)y6otq7?6aLXbv@naZJvIv8K5;I}&d`XKZL-ns z+#a&g?vwVAjjC_kLpJKJpteNhpc2|mv?09VD4H<#<6LOTi9gPT2L0*BxzMiZ>Sik} z(IMp48si*ps+AU{Xvzr`(y8c{YzphA7-aAqPr=5Nhd$+ibey!`R7X1Uj+Hism?s|T z$o!c!!9u2dq$BqjwOH{;N8ZuuJn=|J-frpe5Tx=)IyiPoyFo<40b7L=5m`H%jLX;% zDYDcUA@J>JF|OkIN&>0Cd6YEhqC|x`CGxk|8yE7Dpu*rxCc!kihl$0!Pm}5p*Q3J6 z04DyHJ>{ePRB1TH@b0rIK|DWE>*W*Wq0TQR%0rF$iSkgNRh=iE$*Avl6Xl`4&nL=5 zeYuJ9P@iSb=R9h?Y|k91`?EcBpao-l=0H2l(&-=`@a$`X23$Hp7UW(#K^6p>e#$op z(l7Zbe5mT0pTdWFjX&+1hMF(_X`HD0>Yv7m+6{`Mg2B@j-$~T@+dbu@rmOap5BZ2o z|0Ca7RB{o)|8FjPqs;S!C-3>WXPu|b{e}BM_vP+U_eyB~%Uu6(-RSy-s}Fj9uk#!D zrq4N#g+Kdtr^)fGW8Cp`=X&*#-sv2)#QO7W$-ALuYm(K<$)Y!5T2-HaG>uDFc4=-H z$w~rwAWv76s6^z}R?waY5|u%X<$eps6=Es+!(McS(w+w_Ra*d9s!Zud`SQT1ii<-u zg%E-RO8soi1EtCk+EK|~0y5#9i^rXN^MI-{*i{tv4kMZ2qXadf0+*8qQkB682@icF zJSx$*odp(=>TJsctSXMJz}BaZ;-}ySZnZQw=0gbRCvnft1HqaQW1Ie zso~xsI3%JTNu`iLFBAA@S*OmvqRn;T`vyV-vZc!2dkjl|WI2f&ryzPUWgRV6CDA$@!(c8yoTfwTi2mS@)A)qk;lh=9`%Zvb9cFO^Fc-Fp+Z`@_@36 zQUsW){5T`?)#m|c75BaX^XyAtGpJCnc?r!LZI{{nq=!ljVoe@sR@VJU`;JUv8;Q!O z;sB17<50^8b%9U>{I7>F5Ij_LFvc`h7Wc{sqU|mI^ zGhBng{;11arwoH0FVR6|I4oWFXij+htj5OCHEqez<7w{Yg=IDDzh3fqrGX z055pE`teJjTPD6daIYd1Sop0iy!y*Rym=sA*>NL11B#FF;`i5^2ijG`!yey7p87n1 zu51&?a!?!f&M8;dk_XCF?4QskUU4Av*5!e9We1onQhFbkE8bUAvGf`)3-jjp(e!~m zV9Pwde79!6q{nBmzQ+6XB3yf<8mO5wr`Iu~RCDg2a zv6UOpn2%}%b1$i43!3r~dEbeGxu-Xgvo7DInUYc_ZJio<$|p6siEa6?ctMcHNc~zX zbNlik&HPBuTXGYFnkLGxSt6G=AJ8lZ@$E|Fsn2(4R+i$eN@T0dx67tF>Z7_T@0W+7 z#N(6Pxw`z`a=XR%7t!^f^ntCxRlj2Vk_1Jaf8^m8cvavUq)bH4`*kHciT(*jS z&*c&&U$o^iP5C23*l6`Dx6JO#d$oNOJON7c>C4w@nQ%Ae4)TtC zjdmc&)qX;wU%T<>vS)O6mKnDhH^6g#$XI2x0=fP?H0L)OF7dqQdD?Ruy!`#rv)hyL ztoF?DGnBbM6b>r@4pS2g6Pv=JvVwf}OyZuJ>Ipxt?&{3m<@2yDo5@ z=GyJr0y}~Eu6EZ{r;&1F~QcJ_#1v!}c1x!}f*kU$!T0ci6`D&9vroV>q4vFI>YL;{9yUi@|NWV%cGXNE!SJFw*1C&y5(nCWbH<_;1NAMDIx@m{0 z*R;Vj&lED%o2Hqp#;-S3I}J1SSprQQBo7`0VVoUi#(c`WfsMBjOkT9M#$b2v|lg}^TKO5DUNC?aJS?;k`3v^v z^Lw_d(yRFN+ynS@_n-K5B*v%1zw;R6?K7~6T8oIbt_zyz`W7(UJ*~==Z-p}D-Jwj) zI!u|W%nD0~xMts!RA!ZbtV~T#(AA9U4%`mca%5>uXL}nYG8X4jK`ha8HSLJB+ZuM# zOqMouRT#q9>CAPVe`{hO-ACnlE}@G}e9f5B$0aAf%4CX@)lKaJaA06Z_Yt>`hEC}O zX|0=Sh@%Ssj$zzhi2*Nmy&s;c`+HLcY5{>f=x>J;h7j8if_1j7{EOdu(;0mmULi4^mUQsrdofhayj8Uo}sdf)kZIA%mKy zqfbroU!kV7+0~Th@6?pWEFDXjD@TWotQ^eiPb`Q}af@xlajeQElX*GtpO*OsQc zZ1i~H>#h2(1aVfS%`laoz_a?rzbbdJ(a(%*H3Zli%VcP%0^jvq()&*?Iptz5S?=bN z&R5y^B(@Onv_FM2E@SARHIX-(?t7#^!`DiGc5IXWY_my!HfHG8bEx}n_HXza_HV}# z?B6yk`?oPoTQE4hBQc!Lqzx3PkMncYj)4P(FdK8%(^he`?z^Hi&ytWW-C+SE0n3=56Vi=~RKX-`Az6j)N38S?RDm zumrLDwi3ihyaX|Pc?n|h`x3;CObMd@k`lx=LkVK@mnDden}zd+^nO)V?*CV%>5la! ze@yK6r5%op&(Wygmn zueQdmb@atM;q~xQaFP3L_x|pE+#%P8u4`QvyVkju zIv;TU3DF3*I5#>EK-_?P9KUy5>iC6Yha>Gcz~Oh;;A7wc`;GSB+0QU8vhTKU)$eUT zz#g}I_1(4~Y@gU(Ld1aUjeEn(z!|n zeknWvjLuy`p{fTAQ=$RuA@#mM}fBSvRiuU&5BO{Xan;gp&Va;$6U^_)3(X&Yu4N48>@5AFcDvjlm=G`XdD2sKr8P^c$#DV>4!Lj3tMDM`b3|zp%9!<#`rVh*Diexx5GU7B$WjI4xlzik5 zdgkCV6$!y2=2PdmqT4FpI^Ve*!F!zd4vtX%`II9#!sOn`FLMOv+0Of^V{|HXR0=fu0OhNEk(C9S=Q5m%Ojqch^yz!=c$yvQVynY^aS)0Xc z0CDO@XzumQpRzCpYr5C05qgZ@iSWdE#E9{MHPtH8fo~u9wNN+Zf~RTfssi+{)U2-` z_z44)3A5$jisjYSXsPfO{ic=*kI}2ORQQcPQA=$dZ~a(Hg%9ahN>HthOSM$^hrXIR zv`3GzxY_#@Rxxt~i6NO3m^51)VxoWn$$5e+PThO6GV}XHlVhA|(UKV$mFkii7=nM5 z%s_unD4BuIy(~@<+Jnl`B2*mF5K(EBhKLH^&=67C@fsp3dWoKHte31778_ckpo&>M zPk3JVbe@75+1VGWArPzB@jV(IWLF_b4S27Q3DoLqFvq6dX?^k~H6GF@q5=Ny5Pk}(N2`_(L^hl+53_`~fxSI=1Oqn{vwhO}33 z)|^dscBR6>P%x3qh7fuq5lp8-=~!1Hoejh?!LD>L8b~GK(K(V#bY`Q`Y`PN;uoLjc zoJpmF@I;-4Tj)eO9uFm>$y8@No``j(W5Gl!5DUZib2t>rMq=5{Kq4OR48p~7S3HH- z7;yFs_t>U8O?Od;%Gs28)cn2!PQ>-uB=(P?hLMx-vwR92ME(-sG*nA>fZC#>YN2$yh_mkBm}RpH4#+9aBQs3?hbyRewb0oHgfHYTESW)7J=npij@Oq1G6UACqMt zdUEYr3lz(Otr^_2=mX*MQQ%W;DGVejL6uxv2y?W*9L)Z#S zz!CZ#;#Pp0?|3X7hz2{m5XmN$MjV<%0AXDavn7_n3Qogac{U8!1SG+S3iA6GLcy7lwj3u(62!ii~ve{5Fl`=nNewqo4Vr!i&c07X3na-khp=c5w zaPE$!5)DTZ@klHb2%CN8I@Y3yd6)Tfp^IIJ zv;#N#U1{P2zbhCIr@~qMe=rbX{9*L$?!8n}fXA{9-DjtiOKR18D z1a`s3`JaM7OjxWlhyw~EjzPg06i9VpjuX*LCX|k+5YY!`7$zc^N~MAbVU!6W5Kkl& zOlHg%nlBQhz*~Ga4ZrZ2KoWt8LY={20Ktzy>Pn>I(M+@}6X}X0Y!3n>Ws`{hgT{6y z5nL!8i(9M~8*5ewOYU~|XAqv#z7%8!a9GA8iA*GhXi8B`XEKWh#-pJ~qziGAf?ZKe zcnV(sJHr8lTuMi?37pDUd5M(y1~YT!pADFYE+z0)u9Xt_ z{Jte6@SQzLO5lU~s(2w9fmhLi(JUm@POHTy-Ag}J0@Z1#r16LFDIQLYAnw%-)Qn&u zyCbdznO*UTBZpqx_?c$3=9roj#7`l)ODiTS;{w_;Qqn()n#nK6p+st%e~A9xaT;a_-^)>gX(U3o)f_4O=%6I0 zp+fjnk{?PVhDYZ;FAhRxU_|)tE}Fk+CBgp>mVI01c^Ury&+sHXQIFI8vik=28Sb=u zuDinZU)STVg6niwuWLWoOy^h5e>ks)g@4vL-&qA6{UeUw!3H4fSnjBY=KWdwO|SwO zu^(a&*sbu{_poiuc9LzgZLZB{{T7x0_gJs8?uPDs9z63o5C`B<_~iS!B@2Iibr!w( z4S3?a(tN!6Fmtzgmg!s5Yo_~6SD2179cJ3cRAtf||7Co@c!6;k9`;&|cEfvy`wYJ` z>@pmLxBz?U-_!p^f35yx{bv0 zFXYF849l2R08CoQF5%g+wg4bB@rR1i0cld)dj$ql?+3@(nnxRZ3jiY4gy}H8w0_><kv`aH_D5?E_Hx_`=B}n(p zK!_3>2r~Gkz78`A!0FN@tc8+R7l6*ClLv4yhQ+^Q8^4BU6adX-g~{_IH(+%I;Bn~@ zoF#dF%wLK1Q&|8omv#bsPwmmYssJo5U0ftQkk*3DTL21|E)JTHkg2730KpY_V0wly zWy7P)@tr&Y)dj$BX+O!lme?gV1t4$fJ`%5!YQwFW1)y%}8f43YUpx&3;B1Kr3(>=7 z$Y;8=2mZzaptf|@M7{|e>rXELVM~`xYLtZPl>1Uw0FIUpJL?BI-*Ky<0b^yZiUKgS zbTv{3)=B}@1>j}rV5A27NMI*+bC%226@ZmxHAoD&LMQm|LSq47S=tp@4C%PWIJBWq zEsTwV5jd#90piR}u6BB%O6;=gq@7uqC5(M3*WVR|nL<}JF%+5$mBOus8FvVg2TH8~ ze_;j#{cl#W;*kvjN5~@r*V@`bg>Zjm{3QYicni~omC0D}f!sPsABW{m`wG*9Q-|>g z!Grmo)>N1(9Ab=#0Iy2BEw3)@CCshB*{eG48wyi|$zTiw(VQe25L2cxPjPISV;1P$w&m6b=sYNF@+|>oQ*fGBd zJLDLu3NF@Q{MKt9g+_+HUdaPpTX3@ZBKf`j{ZPL!H;6JzUBSWDJz>E?(N4eXYR~Y# zf?Y(CM`g1y)rzez*hKRI1rwP!uF<}NRV9lUm}z8LRI&(@Mpk{nEVGU5!gZs+y~IbQ zxnL44x?qaUjF~2|wcWd56mj?xYl0|DOZ&oaE*KP&DTWuJdV2dygv)3u=tWxqNLH}+ zWwQJYzNw(oa1JHXN8i`(w{%Jq@!b=ULw-G47^|F3mj19hW&S zaGdQp(XrkBAN!lYmc3|mI0B_WSwd?SpH*q6_Ew+ zu;hWkKiM*3Nmy1{_OY~CW>_rd&&>ZaKMntZzXu}W7v>%2jCqZDzPZC(1w6u6rgso| z@B!2Hrr+VM?P#Fx4>Bz@g-u?Q$M~J`1Nb8N3%n6rWjxn-oUtEP5=)FxV}o&uQD^wX z@Ur1i!)=B!!>z~x$r7!9)Ld3%D`jq|v`1bef@k!Ku zp?eGd3+~hX(es?=&z>7RmwV3k9OF5{bFgQTr_|d;%b$3Elg;5R;elb z0RsxMHCSbTpC55-d}TNt0F=80+g9(zHK9f+Cv+OQY^SB;RQ=Al(sT@N`QO)BBswwuIhC+iZ zDCO8Svtt`qm$F@=p`Xs+0*>Jz!-^boNDz%2J| zTS`p_=%0($NYwUkq(56Pl>aCZTj;6-i463WiD)7L^)wr$f=scmxXISU7-y z=8;CnBq1-|8O$V;(NGkMX++Qt zXOo$9C>4WpI-7>FHU%YcBGL&>aHO*{)fGuZ5J(&$(xKUec0Cvj1w!FuA`y(CI0+D* z33O(lRgb1S186;9B*75$wa~GeTZ9IYcU<=!#JCBqBY)pcEIm?LOF8@3ylax7L6^eQ zNN=_mwwRfbMFa}0AhZu<`m6so1vZvSA`BI2R0y87WHVWPsmuT|-f7>uc&9R%T3kaL zm7%DL1$QbEJx?kU`+lQHbdM?$U2iB7;SGvJa7>Zts8uBV3l)jhyA_G%D-?;wN`eMY zp>6(P0OM3;=F>B0u|<*&bwcml8P6hsJ+$9YD~Az$oq!jhgHJ;<9t9EtG2a1SKs@$f z409R>OJ^*dG=D^=A>BSSuw~UGI{azVGs3^uS%o|JR`HLt@W+bN#XnAAO#m<;98H9R zQLLI+G>{}g*^@vcKxdzgMAAXTYtKgFKnx^pvXChb>}SQS=0F8}SmjX3mAB~wr@Q!r4)Gu4K< zAovF;#Gbse;~WXL2ik+}qg!?#_!(V!piO2mtJa=l(%Pd}TQp}dVqXDTlKtL{`E|Eo^WP&C)imHVi9 zRyJ!WGc}Z{YRU?F@yF3A{SaC44-JpzqO|-pHP3R*C1{!E8nSG$y42G5G?bKvvOq&I z60-os7$%0drJ=ArI7IyaU!#Am%<~bD_kY1}(Mvrid3JcVc{Y3Id1^g2_vh~C+&8-~ zb^i>}0QYkT+_T(P*Z*9vxgG;j_*~a9u71~Hu2py)2)e2aD_m~p56*u(Ux$VNUCtsb z`v>tdu#aTk1cur0N9+I%)U-UD8?K5o4lN5gA)4cKYj zYCRZM`JKQPR9NknZ!I5NUb8%7`LpE~%Vm~RECZH9EDKY% z0*(_yLw&oL+iCisjf@*9IGDXEGY=yhKi|ZF`m%tH*KYiMNdd?hrvg-V14fP1gQp!_ zt05lr{z3nv@Iur-xZ}Xg==R}(HCu6s!#R@{y(w&5dlPkwJ|PcvV6bs53*kVyRwsr5 z_>l$NKy4hPMgn8lR906!BUMR5G zlQ|AR!~z@vNbEmy1mMQbwoo&tKZZT?^yk34RPgjD__tM zmo8koN<*|?PSi$ zY_6g(bwZGOy3%8;qCNGed$U=meg#D%;ut*&1HA+;T7~i4vYl8SF?1PGPr_NxPGOa? zED&~3Xf(=Fj2dG)icR*=&{06O47cyAlVmP%GadU@9CLKO0EvzX<@oygmcEG7$Dm0r> z=XcFtEwqLaocbly07nqyAKX4Vw0)Ey?U@gqN$E*jh33)%(E2bpw8+>ZECXZ^gw6J0 znBu0FnwPrSaSio(GU3$kuNe}UTimN58lPG7otF5QHFLDY*-M$d48E1pFdJ^{wrDsF z2Zn=M;_CKyv_xI?J{qF_;pu;%7+U&KUN=OL1(@blyH*`nihSg%9c=ZGPdI1&3yX%w zC&+@?WSdwqD}@?x{XADggpkKHL=aQGAu&;t2REJ;o965n>j6v{xvCZ%zlt zfltgC9Km;}?*WeB{kiuej!^OK3@b+{|9;919AWa2C^ z0i+@MGcgGXYu2n;t4J>UWZ7rRK_9o?K zb|zqbN{$0${!47G_?v#^dn-Rs)8?Nx|4cP)c4T%;O^aO|yHrh!J{o;OO>^hn1$I24 zQS8|fPmHuZZ?FSTL09$Wb?U*M^i?c~3%R00uStR>zyuZisw7yXs|3Fy36>Z*!7sC4 z1*kYZm|~56Nm#JG@NEMOAYiz(s((t71hT587b%jTbV1DLD*A`RI7P2VHkL|G{2L47 zVDWFK#p$3HU5UYwq0Rk?f!-{6kJ;JZxA4Y=_p=2uuuC%U$4-4jL&R=vW*r*XwHjbr ztW2CvZ>mT*pB`0_a6+9!@c(@}Lz(AQ&&{5*JpGR)J6>|!0XzGX9DR;;j(r_Xi0${8{U!UY z_6zMlvnTBH?LOPrw#V@M{W#k?+uk-KJn7wNJpRpMad{MAIfy+%(nrvGFnE<;LB{RmLV`nc-YMZi-K)Agbruu>f0UW zho`m(_%$zvy}!yed5gebb7J79Mm1O7A|Tj2k7ho-MF6pR9!--givVO3s41H*ewylw zKx2!3lf`qbeSo?5k=wg>5uogaf((g`gqKi&++_CpA`sddsR9mBW@{({rp-K@N80KA z40t#J_oSTQ<|4q_`v|p*d`cv#EV8Z$+%^GelFo{(0`^koYAFJ}EpASci-VlXyfsB2 zxd{eVk~lE9gIj;~ML@a5-qPPs?E<2bWAhdTNH-BAurcJXT$#5BNVhnjB2PcLx5_-e zB7oiEau;}TpW>P7iU4?vZEr0C@;zS|OvchjTz%kYYi1|Ia?A3(MWDd>!8l@&`sI*$8j1jei%W+3PC;Le4KVqQ)UVRAfQT zMPSIqy~!qk2hYl^(~3Zo&!Bzi;$-Yy1c;oRE)XxVs0n`T23Z`G7Ct2#>};$t_Wl~88*r%*i-Z;sNIBIb#oCYbJANS7ZCoE{e{fh zPz2Oms#su`M&U|PaFE#Oz z#Z(o6P$w1;EIZRj6@ha8j3Qv^!~jEvG~X)TrYeenpc9P0xHrnBtXV}s&q=Ku(pk#( z6$R8eHHVNu{uGxjF-yh>mNmER)Q3y?Wiuavb{5%BV#CYU7oeML@!-$p&&Xwt>|} z0K%ym1j&`wtBmb!Dgq8pmf>c=(R<0q6TebQ8cb9d0STv~wnI_E9ITNxO5Vq(7Xb&S zZQS0=qmgG6fdD7-yO~9+P?oAK0{BfnGc2!EXo{L5K;PtBC9tq_i5CLAHxn|EQA$-2 zIB#l&gIkHT!R6Lh6#?uP^ZPObTU17})kUDWY4=gSl!aDx5g=}fp_GkS5!h|ATsIR5 z!bvYTprHWBHrZ<=I{_zPecLe^TE2<`0NZ3?Zq`^aRuz6G^nsna{vEs#LQUZqVIYNk zf?Vh3&|5f~eY`dc93_HZR2Oy&9Tj*0K<9+i6n62|Xw1lbg`MnMBvvE-pjJ+5RbdC; z8x<_wTR2M5R#?F^(-W>KO@-~k@|LV(xLoy&mo@Wp0KCJ<8Xfpe*+J>3+~g5AL7L!i@1Yb z?wM|<>pR!Su2)?T0%!0`*NE$2*AipO_@ePvSKQU&n&$i-kpy0I-sil=`3q;i^8jZz zULwjJ-#OlOJmI*>@mt5qjv>S*+{aPl(AnR$KM7>PdG-POQhTFaZ+pddyX^woux+KS z1+NjW!mIzUtw$O61FGL_cn9$YuQB}GkTUe(ZQ%#~%liBEWBRl8+u`+ZfxcBgS@)&q zHrwdjk7`A3*JAt%;x{9bcLRMwUf2}grqW9cp zew%O(kvCVe!)tZK^(9A|{+Wg}Sx+Dz;F3XPW z(n}m05%*H)v{=}=mzIM%*pNA<)EX908N|JTXsGCCW=Ev{nEgi>d^i6HgZI@RVVLr} zA7Lmj{}Be~zX-UCj33tvaTt6z?J?W?${w?)T(-yT^2uanF3!NsJ$%NK4RGkb^@e5o zMPxBzjWfR}8ZU~6?la3UN5v#*0}kzGt6h}YpI-k8!Lv!1Sa=|8P_wL^S7%s)L7;`; zG?`cnR|$u(tW?05}~F%O3C58nkQsZQ#uCJ6#rFfN}E$nX{LrC z%DNi2QvbfGZ`ba- z@h32OU;YV9Q!f1pOy!e)0+aJ~cEYHRS-IiZufB(W0?!RU&g1>`C-A)V<2+OD`UyOj z{5Vf};3x2Sew@eo)lcA&E-B=5rf}*q|RXWtCwcX|0K(L>~=P?$}dq zdHbGnonH{dG+D)>RLuUA+e;A3{UwOb&xr?hWpSxdw@s8&zV}2qP72>9(i9IzzExtq z3Zi#c31a!bOAsfgN)Vl=lVCB*isWBzzLgW_d3R2nSN_Swd6SdkQIgs|45Z_zzYhe!dL!sf`JwcJD{1nRZqg!lzZR|+o2g(3@|Vz*Lu*I3V9UzkG<%W14PEQx!c5TSpCXMX-kRo*5X>#5pG>|GVzH+ih8EX|=e_Z^O^u zC9uI?Vy=Ph{gb9^O-Gqlm>P`V8lN}bXgt%HHO@9pfo=VxhHDL{7!EZA4MzR*`f>dU z`h)asx*v3Z*Il7I4xatGbnddZ(RBLX%yFoz$Wv)%1TmAD|2X*(x?vppDf0eCbE&b4 zhz7;n$$a(W&{1`9d@?>%W@{LiR8%DbG|PN7<4{qFia14pW+exdQyhm{4;L7RYH9^- zk{If^bbw}AX!AI8^>WXhHI7>F5d0e5uVvPlB$@*Kzp}-QgmyA^%pjmE0>o}BJ zC74S#qH!E5EusXHdxn>FDL}I0GH=y5R9fVLnh2EwG|TzEaVWDy z{T_RMq@GE*#p@l18cS483QR0Ovn>qQNG9mH`bVEc5urp|nyB zm=K^@W@;RV>PnnSp$Ceqkj&UH4jmRdKBN(m12oHgjpNW~sRhabnq@}+IJ8@f`SBoc zw|L7< zfpbI%&@9WVABWCOY?H_(256Sq8pfe{6W5-=CI@Ji`Rc}@hf`Hby#lG4292DG3tzY` zo;*XE0L?Pz-s8~c5f}qmtYUkheHR2Xk6ALiZyee^bsw20 zL4Q^G>D`;_N_!EiLTv%!;j?ss<|0&w>c&XRij!Sm zgbq>O8*C;;9KGDV>LRp=L@i6E5hF;v#By?Ki%=tqI47lxV_Al;2rZ&GZHz_qax617 z6`?>BSC*h+DZTgGi_j*Dqatt;mBWPd>nlRLDAq3(pnjU=`U6F%7R5`T!1N=V!B>Q? zQ6*P!iY&{mEkfZaj*lR>mp==dih{0@jIqSxA3>m4`in>w)>MS9Q8h@|Q~0j!&hWt1 zwql?Bt&n9-u>0DJ+cZPE$1T%YJi=VIPFNO#c+HLxl^=5ZQVUhzEc zxzkhh{MPde&rZ)4&w9^7c%!THlzVjUf4g6GKjFU1J?_5PeY$&>d#n2(_af-&>)lh_ zde?v858z4H-LBueE^(dV+KpHN2jj&c0&jtPxeU%v;Sb;`=RM9pI4_02z@wci6aIpf@uzu{eSj<*`KlBXTJ`90nUas zK_9#ZE=9z?X8Uxz8NLDDwEfL?zwLV4<+fkijTmzIM;H#Wf1WTS6I4XfK+L*nZGo@ zV}1@13~w@D1$%@O%tPkQ=9T7s%zK+>0^#tL>0Q(FriV;7o31vU4-17OfpJ)6+SlYa z%`!QRUmM>uz5t(rw-~Q6{>pd~A{HdzBVewv-B@LG8on{SZ}^AdVZ*I>-S{jU~4y<7L4?nB)_b&u$7!=zDz zEfGN!x5n)pA@)`5Yo73Nyp1P(6lVs$qKw#w@##Fr2k~;A@P6FQ6W)s(c*47}A9%t$ zu}^ryi?M(4gr{PE;|T}E*7Jlpu?0M#A~u63m||v*5dBY-nP!Wfi~c+MDbMj_lm*L^ zIL?XQ%yA&b*G)VD!BIFu`}bjH6e!AonfWfBX# zjE0LEF6KEFHY9n%ehmqp(9^)I+a($E8#eMB^BOkrgt-j|@q~RF*6@Vx24*2I37ylh zoadO`u#6|f8y53~u7-U$LjCs*I*#B=_}<|Ohx=aS2^)O;N`^TnGYJ(N<~!JTD_`Uw z-{m}Ez3)<s~?DjH? zSg9R5yv((OL>Te%3)j1_{!U)TJYW6)VedV_<0{VnQSI5@ZOiuVYIn7ki{v87vL(w! z?sAi{jV-wX#>mpzmaSs6k_#OI1PGz`4hGY-&6LnWAcP(QfzW%0(0hmbo0-#Q&JoG~ ze$RdGbMFVwgSGQ}->GNLoSAtW56l`~%mZ~L9Xv3tWCIUOE#aqj$&?a)VJn$b(!gh_ zE}6*z!zzdIk73xbVP!mrch~?9Nc=F2Uttm#CithHI4{9Zy2Ocz&-gM3-3B9y4%%NUwqJ~));k{FUG! z_&EO(#y7=}<2jP?qj{h;&d;EDb9^VyaY#JH0~_L9JaBNlod<@*58#2pasCyH7seZT zjzMw$V-X(^U(9m^;|q8o5TDBf{y6`d#(nW=Jcl=4%LDE>zkJ4B@k*Y<8Rs_>aeJJf zV{u!YpJQ=roS$QHDbCNa*u^pa-H%-uG14qX8^1$J-t9W2%>@ptM9(#rdI$}@qz{D8;uwxTq{KJk_ z#OCu^M#oqnX64Z_}kBVN*a~v7H zfCr9j}}Mg^BnOgKk1^;C_m|>gl|BwFX{QF@2e~5pg-{X7Cce(FS-(p`WbnTz>UhCcAt@jRr4nUvhD9;kla8CjJ z_1)>d0N(o-xMQx*T@OMFpu@Gmm2iIVe9D<|o&!&O`{9)BalGxg%W)B6M>aYpIGpx3 z?04HQwr{h~wvVzqZ6De0w_Re}VOs@VfWg-9Vefyv^$)Q3Ut}F=Es$Q5?vpNsKENT; zJSmE3f3I5}wDeidw6t61T1Hu%1#eQ70Og;Ov@9>&fU6QFf+bQu?k*^rhP;qkT50A# z+6_%n8iGP17t#VWX~eQLgoEVTv!4J>8t3pd#DnBY))=5kV+yAs8jKSrgEeJ14JjZa zu>eh4u233szbMVs%-`P@r6K2|ZC7JyXxWO=5bsf<8lXudmZl-mBSJ^>08JWWBn@F+ zLS__1NyTZ%@W>TC+=l7`H0d)#e8)1&0h%=0h&04@L|V0BlOaHp##NM-rFI+OCqOjQ zj;A5Dqo!Z_08Luvk~Cy>M0&VE4A7+Kfuv66;R7^jJjH2<>1aQ>08JW0A`ST*(ezN` zeKLJ8jU$?dY>v)Bb|uW46^}|oCPz)ks39M{g>CDAY8Z_asg+WihCGfwHHEJqYxz(b zGC4YBSb!$2h!JVX-srF!12kz|;WVUebT(4UPyNkmaau8#(`=Kt*KI@^0yS2HYLKV| zXwqsZ?Sn*(c10^j7obUF9MuP@8XX%QBc$IfK$FH7>Vqteby+ZokM==OM#tXFo;TbF z*%6I7<5<;-d4zG(eNaIJ^&HE;a;W zfF_NpxDSFZ)-ip6CXFH92l*ChFc+XnqYvwYREs<>F+h{XGNKQnEHdv+0yJq{p+3m3 zqLRxY2XxdZ!}}njVnRJ#R3>3AkL*)rQ935sG*Dj_WKmpMMD@&276edC5G$8Om<(l& z>{F#qB+wEcx=E{YbRVQnI4US&0eZqnFC_d)igmdvzI@UIrS zNn9O8P$bGKhi=kyLi$8r3ff#&s6KR)#yP4FvL~jbp_ZwIZqoS5`XF)=N~B5} za_ACfljAgYxDTNwTiTIvZ_@d(nR|LDJIcoY= zDUx8Vd@+ZjSg&u^N@KG~Hq%O~`kEBsJYR{zZLFZOuTc>_YFT7u3ndr#!L00CVU~d^ zTbO1T-nU$v9ExfL^C+qHv$Su2wt$j{uP~uZIDh9|hm`a!Q*^8*LkR$i-8)DaJg$i& z`<7};g)FP4Vet6R(YU@P+Stl$?Ok2ldbdNT0AWD+efhY){rcm^^ANeG^(|I(Wk@r( zl5n)j(?<80<)|jX=NmSvuR(i<<;=thrzl|`*SE;fBw2=U+JS}rahr6Yq;G*X&eT6v zFWhYLeyv9I&1c^b^3W&`iA&5h;k8Fw(l<{iNr_IZ@r>xJ7fR}GMo>X&cC2xg_084Z ze_9{7DlnFCIYF!?G|rN~IYOOnsosrz>r47(i#&!Nmh{aMdGLYf%NgD`Q=8wkRh!H@ zI78?lnhdQB{=t{^O&2-{F4{qKROn!x&@k*4J9xiI!~3S`8@9clRe7qmDw}+E6Ma*( zRoV258}FN}m0)tR8`W2<&E_P0ig#Dy^vizepBa(=KVW&eAovzy(LEHrBiI+bEO#+L2Ed)(YrLm>cY9k95n!^n#Os9*!B;&Gdv1c{{||^4*aEr#B+p1sA?)`*!yUup z?z`P-_a*K>xDRu;xtrWG+-2^8t{))tf82GuYme)XuA>kiaD!`wtKKyU5dtGFuk$BZ zBD{`Uh})buI4^Xb^0WP=JSzdOW<~Y*P?l{n~ z*fG^H+7WU%>|f!Q;t|9JxYmA_{Yd*3dlO{-W9)-%zaS>S(~$VzZoAQTJ|zBKh!VKa zR&7hzyw-25Z(1L>-U(^{nbsq$o2`x3Qp=ap57O(w&-;xJ_=@H4mOCuhFJF=*hAj!V}Yq?j>U%GtBoR#xo6njt=F^g$S zt?F)XBt|GS{KtVWikZjIxNG_fO0Uv*mQrtFvn~>m=`@4|%f)zVX=n~TQvHUQYvKYC z8BgN~>T^}lh+KMP+p~+o{d*%;dyEmQe%**ooNvU&?=@l-ZyK?2^NiS- zSw^h%3ie3Y2c@uEpBhM`St%bI-$QJ;R>FR+b&edFX4VBJ;Bg zGXclT&zdW<;tdndarGwPn3*PE>E*;UuPsH&BvW@68=jT0K1<=^j=1@W^b*@Uut15D zm;eG|-p(H;wu~G;>>;+6G_lyZTT`>n7l7&C3P9~q0#N;`08FeGfbrB!zAdHJQt`UL zF>bB^jF}+-rI(qmU<;lxh3lyOJ8EPnHM|bD%H=7*+=m5V)_DRj{Tl(OJyHOwsiz5D zEfbY)D7B2=BV?&~O#sHt5r8q%1)%g&2H+Bl`G>FbvI)-s>ovr_6ph#pMNDERIWM`X zxwoC@nmczgM){*~u0A#WYkjKr2z{#hWqoSm9DQm$jn{_i=!d4_RXuIoY<+4>ojz51 z39*tzKHLG(iMxZ%<0j^`wEjpgIrn&C-3o3fY&NL+nzPO^L#KabhSnZ#hE~61hEAMq zhK|3|46S&@3>`Pi3>`Dg3@yEwJ|dUG1cE90CVNHQstO+w!ks{O97}oOaQ81 z6o84;HAP!WEp+@90!PKm0x)i-0F0R`0HqhPC8{yG2~iSY!%99q&R${`OKNIv>46>Y z_O4DGo(SPswpbBsW#zWI{$?XK_dz38bf5_~m5uN6c7!_IpPlhAoHv=Fb0086XPsq+ zPXEFTt=(;gR=;3|PMm3mj=$Utt&ry=--~fG%y`F4F+)o)WN24MSNHZUFl648L~u6i z)$G}@fmy~>SqOD zqTFt^(D9cD92L(Cz_@7wFlLefl%B`d_GP`)Rc(EaOU}KIOU^otOHTiUOV;*s$?9jg zX#B+-wca)b0Urx;ZD?3JzomC3aWZH1C zB`DFbTo1~{vVGXF2e_m&#h&>x8ftUaAN8r}AL~=KJ^EDj)B4oJsruCTi}b0A zXZ5LZQ}n4Z)hxBTnM^R};U39faH-|^g5U?1mx9j*?+e}#JQHXC#^7wrr&ddFtmT2= z;K0v;_i*;VE3h|kM&PhOD?Ic~35*LA1>F9(apKQgj)&g=@BQ8W_5MZvYJV|K`(OHA z^*t!P>buEzweMWtNznS=<~tC+1L}O^yl=ZsbR8z$E8XIK!TY#toA+es5VUxkphr;c z9pNqXT0LJt>;EaweK`B?k*@Ka={Z_D+q1s{9~uKQg#i}1SYl_R^{0@-?UUok2ycZh&*Er919t#cs_0T++>MU~(aaygF zj?bjWEH^q{ay;nR=eQJJ3{#GS;gg`ok${H(SN7NJkK&|%rTtXLlhWxX333g=jlwr;hqvd)&Skp3X;kea0>(qw74 z?lOY2N4;&#K6%uoMsVV&8Y7q(w%!O94`UIdxCa(V^iWQ&N#R7B zG5gTO1|#R7gxknzFJ@(O6uDV-FXQ#bdV#$fB|17^1Y$>L@;r2IIq1K%jWf z;_+H)LH&XzEmiqV4(4~$Td#sl7zU%$SXA4sWZt00!K7=T` zjssv~Rl)&?sx1e+!~N*&?)2c)AGxe22$2 zkR%OJ9UrlW(`rB2 z{-pBrD0@yW`+pLg{%Xfw)-O3e{i@-o>C+`gm)xdL5Bj>WRi7T%Ht<<}8X~~I_-sQk zPACr}g238x0%H+nlaB?he>D7{e<*hRCmxt1FmtySL|N@3)Aq}G%qB2J)-9B z*19L_o>#Wb+KB@r`<)TR(7tAZ&aPf(L@~J67*ULFu@S}a)*Dfb?_EX|1AMs&>M9Kz zQ4AM?&6Qzd>Q7S`pb>@+-R;R`?7CZtKHDXq!PvP> z&w((soiqrna%iJOlp9$S*~JlnDaCb&$2^qME@CKPr#zidEjeqVg!e@q3a~qF5m60%{a5qg;jpQ`ML95=kw0{oY%oh;BaS$a|1jEHaMq~`vd0$ z+$~f%M>`Xc)LR{2!HeLtj)xq#JFa$|?>NrU?brxAf_aWfjxxtkhuuHaZ?S*vPukzI z|I>bd@D1O?RBC^&{dcg{-+Kibx5Tkm@TkpRZ| zKClfzG=OicA6TEU-fO+u`g`kk>pJTs>p1o6pyiht$+9owgbyA7sw0wc6gOB>o zwcKsVTdod19lRgW6t4-M8$2P{3q6We@T4#)I4U?KXb*ga*osdF?#DuQP2k+X34z`~ zOJGG{R-ghg58Uv#__qHk|GEBMoh^7k-UX3_l{wkQn$abS{zxvOumB)D z@Z9#UmTk!IY|yYdsok{9dG8r9)B`Cw%UeO>^r(R%VlVbbDSDp>9F;s?@_40YuF^Qk?pLwF!>$;_R@`#^q3P-Oax(ITu%$bL-!KeKSF?ubzN0)O_eQVOi zKbnBiy~GJ9;~X`e+(;%nyVxCO@%vmdbTg4GBs*~efowux`a| z^OTd>!bU;&8jS-cRwRgCOUu-cwKkxE`)%Ws2Xo2#U-;x8t-%N@KvjKMgDba8eMv`a znR*BD6b;(cH|r<(!IbuM4J)l;RTBvHC+SmjPp7X< z$M&AxsyK*!(y7y7XcXxP!%iXceu^!S10bM4#(pw=TM4_4G>p|nP%ti_K8R`dQFX+R za`{f?P#rpk0eqSvOKn6&thjQXjIoZ+DvS2YC-;U;%)ckK~x$W(32$w@X zn32oq5X(U1QhiGL(ut3Ea+CeuVq+T4sE&9$30PD)Ol zIHh{Rq>0rnlWMCswoaZ{GpV&^Dt^~a+?br2tll_z>c&mUsWnrQHOZRhjgyDaYw=~_OFK9v@#OdDcvbxRAZ1~zs|pVL*Oh4_LE+|7Ph zZtvZ=Uy=5^p^IgQu6Wyy{UW+V0}TX{Y^mH%0#H+On66?vq@jbhoIafvT4KrqWIY@y?+S zA3P-g8@j}-ak|9xi*$+FLH=C@0n!rWsXo?6No4Km>RkU9UE-iWk^R+tx|6Nn(%ZQW z&gWa14}2{G&`+X~RW%IF?YU?2OAMsBqze`=6YpAZE@?~r6 zr8W&KpJ2N*_CcgzYh_Pr<>Pb_rW@UPZ7H(fB{cHJu3XCYXawU(G~W{TO=iWVNO1S2 zMUWdENcQwy+jqnAlziwAE{`~*$2aKDZ2zSv0=>%wZJBx}eKO2UfrcxZHC{xfUnU~8 zLq(+e1QD4)HG<`12Q7L0Vv(m}w}^~=PeevPEh44!=(AHzD`r*l>FJm9>DnQDy83uN zJ>dmDJ-&fYSM1``W8dY|qyNRHOY8ac@SKp|%%@9)`b*B_>4g^w>4`#m0G}S@=hFkP z5z@co)4o@P^yTbjqNXeHbG6OkiWlgkXl1uUWWiW*JhA^@XIoR?{LJ~NGY_5kL!5J+ z!yLajUUd8kC+ou;D;-lDA^Q*ZC*kex0{c<+7W*Rm2*|--vfXXFDENBtp5PV1V}geS zX9i<|?*lIc?m+B-V*(ojGXgRH5B?YZ_xP{$AM0P~uk!nR@A)3`UF$pAw;taAhQRaR zlkgvKg0~ft|G4L8&r6=WJePTX=Sg~Id7|!b-OnRR--U=Kun?O4cGt_UyIhyMdZEuh z!R52uSoWRur46AVhPZVI7ixZe!=xfyu&cHgH zz$65%1}8GG1*f*QFk#Y#t{l3Rw6`n`t5s?o47C@NII@}rP;nZTtJH>;izBNsgwilz zjiUYyERL*3iKJn*O8o%z5WQ{Eys$D@!_qKSrIyf?X68XZk%plv?Ezy^&cgaaV57jTZOevX87T1n=8b+xKU5z8F~l7>ksH9D6|F!9k}oQ7E`?WoMd;>c=+B+{@d)mLNicJZ6rj^EsNU;_W< zwu3ja{D07G$M7`lx5*dH7`a({apP&2Z0pw#!79BZ4I^!JbsEjVO?$V z`O`S!X_!;9UMtSrxixWA8kW>*O*$_mg1LQJ8iv%Y=O{`Za`G5o$nYa6wR#hCwualAP@{SImes zjG?Q^l##FWmFr@TE1HH8H1)0mvtij_N$W^B4WnoJvD%K%SVBhFIn;PL*)_-Eg7ALCG!k2&N>e2)w~luWj>o zBGT2yJCTMJv%a>?UE9eaR?h(&W`Tno)HRL~X&5l;M+RkdlJFTES0XK&F)OVG7r(O` zm4+EJeQ)G`QSk!I%bWQSp#X1$u$0ErrE>R_ zm`(g7j;BZI=vexbV&g~3jVJlx%%F$3i_i~!B0YlVAa=F_$8bG|$$W{YOZ2TEVJNv0 z;^|=uJ;j0@@~w=g6B?aOT`qrdx>z1yT&-(@M*aMW%kxL^e#hna`yMS=Z#$?U7)RW{ z7X$YME`WFcwSmcj5M{VD%C{}g|~cLTilcl(wg{@-^vx$lLq{^j1WUK`Hs zw|Gvcr}m-n$p0Kp?U%ccaIbgQxktMF@WTJ9>mgU#bq=iYm%Apx&%gu096Sx~3?3Mq zYorl8zeudNP_|);JBkMTD(dpP9o&k#-1@?FB58Jc$GwnUFxSwi| z+U@YL|D^3^+qt&gwu5{h`~GQLU@Jq6<*%%-TJMLY{VCQC>vDM1A0mA#y(HZuT?tS6 z+u%pP7GCu2mJcisTduX7Z0WKzS*H5u`A7Q)!8^h8`g?&$1{)M|7=^#D=58WF2`y6& zqoEA8BvC1p!9ItaWH)wokw>aA{1=(s4%typXo*s6G=t3y`P6M9uI^w0Ny=2Ii41l! zWJSienizU+FyWB*Fbc;eW)P#55z1f>Ls~5RYtvJ(dm$8Zb|&@CS6VeVgZ;`7xS}Ey z4US~6IU(bdYT1(PAj^(M8=AqsB!VoArV&CJ>_|v09k5*BvP3f2jF95myP6>eh8EiVp#&T<_Vs~=~ zeS$NUUWYQ+b`S?#GBKo5iZj@9knfO^jY-c!)0M168SFWPa&<&(Hw5A|C1)gq%?4?0 zHW*}Nmo(JRU)D5VqZDSavnWJQ zu)1n!ID_4U{_;s94bEWqKpuE2#B>@Q%V5ty8lYFv*2sk!Y#2y2cwaQMD1(nX>25Mb zH(=!9Oi;QM$>595cXzZxi)HXJH*{AeM>F`AlUGIVZspvjc_EcLID@aa+5;7iWbol8 z_0=ny)moOq3_jRO^VJ;D48F{y8s%BH;E|LmZ471bT_$6$%n_ARoWUoV%#mbDxi72a zvKD3VVP@l^FlgmQGx#c#T9rZLvW7DFB$HZYs+O-PgKu#O9s%3y(g{+eH5Q*?{e;$0 z@ckte6o`wS=8#GmoWZx3jAJEvs45)I;Im8G2gCH%1qi21o~rsek7e-DWlydz$Grbq@KT%~};t@Zn%4#mm!2-R^s5~43_iBxz(L~YHuiQRTrt;zk_^7J z)3J2%8)7 zYoSpFXTsVmp~10Ch*hV5sWoyaGnAFri*VAUp97V4{&s2px9{yezkX>>IAR$q8{iGf zAsfTU?$il+SVl5GgKI3|jDtxu0||QA0=-ZwHpYo zWu@sOf6cR|R?>*{5$qgj;?Pp#DoY=(c-SK07B}Mu zHaNspa6eCEbb7nuS+llM;Uk|4#hHWFpAqRUZG;q7d84awh0>jDS=q328-HSpraR;r z4T|A1p*Y1B{L-tmSfdcO9&0E>e2Jx6%fdlq^sJOTIT?kC)P;oYypz1%&?9d-Tadd>APtOibV?Q$K0 zD1L*SUpSwD#=>dNlyj|fhI5$H=6K8Tfa5yc3LIuT1pfC%Bii2Q)~Bs^ST94Iy`;6l zItCg7pGr?kH%S*jdw+}6AXP{MEni!nwA^C3+;W0t6YSnjwZxR0fLQh*ll{@7%JU7J zYVV+Xarw!I9#AMnSsaha8pMlU7EDl#> zhpnoIYuO@M9IXgVJ)%kvDMiMzIA4ipHjNz0;)td1qMETVi({73MHLNaalF#+)3u^v zS)8v(O$Z3Q1J{DxmAgCIHF7kI(-k?ORQ7Z???5zLj#`w(@rpbe-O#C(MzT0vk^WUC zQ-~Jd)7_#K8_(i=MLr#sNhqU13BIdyQ`=^Z9?9Z}#gEN{+SuTbWf&Wk9LnOPr5_uW z63ODQMG9?CZf(cN*Va3t$yC6enZ9D(50;%`bDVp*3-i7Gjib@EG>N(pBj{1ep5 zEXvvqOP882nzb1xu}TeRaa+L6izAhmmSu5MP=}$$v4=RCt!U|Psh%hs_}~GDRL(>e z7Y5`Kt6z>t7WW4Hhw471o>&IA28LB$C5JM&H_$KUDy1-k3j^gNuA;FFZU;zl+y#?L z4rg#Jz;&3a8`ASf2KNBum1XC=4d@N&rb-`{!3_YJ=Io|z!^YlCa7M_nL^3%2lYS!a zRw_=`vd1$x@sr{~o3dfTPTcl!c|#eT^+`twouh;^INy^tgHk*!x}vCEPGoRk*EqH%yP49zRz`6KM|E=XjJBbc zmKK=TaFv8JIH1cdoKVY=LK*o~PV#b;NCu~Je!l!wn=d$%8|I5j4rR9S^F^f;X0~ec zMMWc-HsNIrjn%5!VysFdhccU4RqbtXCy`2OlyGK~Fw1mhCRv#fTeJIO((`pnm61%V z(j0mbrKd$RE$mfRZ&>uySY{(Dn4Gwv*H3-KYZAhtnP#?I!VMUyQI#zY%^V^V*f&E* z*q{&&<#L2G2eaO7Z-yxmM+#-uvmxoi2SlLYU_+*Nrz|5>>j`HLWX0j2NX1P0wjCgE z@r2R_W!5oV7=uEShgT&rF4ToYZxU~@V^`dRuA@#r6tZk4W< z&XSIiI;Df8#nKe1R2nQvmQO9rQ~h=DmiG_)UG^JrGjJlL^c(HV;TgZ&USxN{!u~DD z>hG~-5YO)v=Ic-zkN#_)8J{K)!pcx z?XI+5VLc7L_O}K<4!#t81aS@b2G2o6gYChCgG++b5Yb?0&=&YS@LJ#>@M(AhG#*Y2 z^aM5rmIr1A%Hh?}<^S6M7GfFPvJJ>6EK1GzozkBZR zT<1B@bG)b9bBJddd?t*AH$#W}OZOYN@91-1j8SD)6 zi0!?#Pf$b~v3J)#Bp~ms{hN^M?X@`pd28*B0`lhCs|DnZwPy;*>uXOGkXP5b1mu-9 z|D=f4!k5?FE%3awW{ZHlux62fJilhHfIPRRRzRLv{gZ$^z4|Hv`Pa&Y0`k<#X#(=( zN{4{_v*~k+XuWu%=|cf|yy-n5*FTzG5s=549uknhH{B~Bk2YN(AdfViMiH&{hnr3o zcphpxUf_AKNnAG`XqqJOyuVJIQJ<_!2_=8LPJVY3%@o_G>vr)xcHjC-1;o4lXaVu8 z7fQCf*LPALwO@AEdgc;OeGBZ)^=pN4?Ca+Xh;6;lQ@eHj41q^lFU%IZW&H$!r(pd^ z9WJCC zUMH@`U#`1CDCdiH7YfMd>)86Nj~9J zf#>=aM+(SwE5tc=?TXa`&)yYm_G%?xvtkr>jqSSc;MFUJ3Ay&HhziJ6D~1Tjl`95O zL>tvBR(J%S%U4)<#6EES#{x27{hI<3T%Q+^!1`+`qSiI`!m-x~$OU8Bh-p0MkG)jj zIc_Xl6V%bL``7Ogc#a)=ihvw5R#>seZXdgY@~GvET{3osfXp4sT=i)@bH)m9<=EL{ z7xTGFU8NuJ$jHw}{=_4R3lqZpNt`rHc;gbkPy8(8Ix+F3fSiyJo<-vLgfKpd)rkXy zT;mdSm!-|0L`hcu!cEKjBNm!Z$ATQHXu5)aMntJM>q+oY2^i@WzG4gjii#uF;`dzFz~r9`K8R zd^O;E0Xbp7=?qc!S_6(Bz~-S^@_?NKgcTt8eDGzyoZ#cZrv&8w;M)T7x8Umna$itb zdxL)s{zKroH~6rCTox3@F!0ZSFf-w)tB2)M`h`=2FouCufn9vbft7(~Ay-p?%|rE> z`v2^|m-48H_dB0OK)&^|cSqy-*k>1bKJtDeARl^#nc(@w>!m#Ev+(@v71nuA!c)WZ zxF3N(N#Z(J&E-DLEqqhle{`QC@N95z6_9!E{RL!_pt(Uo_n`|oa^oukh9!#1myRw2L$9q*Tn)-=sHF~2Dx?!$UxVj0y4nWE+9eI zW&sJfS_H)J64n-%&lMARye?r3otHY<*Fk-P&NH2#cr5o7TxZ!=U>{<)*}ky7VtdSX z7oyl*WINfm!Bl#qf>w ztn@?hlHebLM+V#A?`}@8B3Kl32EIhpz<)rhejR+>9T(^dtO-mDj0pIkCGd*>LBtBY z(0`nN8&22L{UdR<{?hjnPS$YeHHowx5MV(Y@Dh)ya#v} zdTS6PFyQ&Y^PcBv&tE+^c>d_w;o0C>ty;x}U~wMSmT|41-aE)uBYcgU3h7d2{E6YB_27Jhwb)M%u(s`hBzH@>z?sPf6 zz+J=rut&Jiagt-FV-qwX<~gbz!yS;J*gvtqVt>qjkNqb5Ui*2t`PgCKWM6GxV6U~8 zLeJnu=>aJ(T_T+(9VTsp^}$SOBJNF!EazM9lf0HamXj>sTi&-k&a@4vkJC+E#8PYZ z(W}qFQ;AAQu0Cq@nR?Rxt9Mhs#LDH_>H(`G1qBu>YenA2J46-IHJ#^`nNcu=}>Gex*p#GW3?`xOdqx@cY z)56!Oo5@XGojoZQVW9Av!IA;97rrK9gSHOp6|sT41~F&Ww7h~(3O=U}D@h7kid1zD z#aoP^z3^4mm$qH-^_NT?_~?O;QIDq!+M72wuxRJ4)R9a|^B>c3z|UiB`%4nzfi7Ef zyBu_3PHI&u*{X6P^1`%{w)u>6UUEBptHEE(?o}zM;p>^E(kKq3IE@Jkz+K%vTCFH+ z3hTDqR6Ok|yQiEYV&O-^Pjg*ray7X*V8yd5p5uUJw=TPl0~Rb=xR(RwXBQ0TfV%hV zKHz{U`%PKK0h3Rhd=dv#Po3P#0hLcxKFa}#uM*#IK=F6Q%s2QZxzE;JQ@^18j{!ix zo5*$G3HlHv6P4mDTDWM53J{AjJoy41uou3<0hm%L4#0e3fdfzvi9k&Y4sHo{%3N@~ zg@UKwJ&U;yr=GX~R9{nD!Esd2u0DslF2*~z6AWYf#uez(@Gkommv)sNq)+>^e&!lk z&hNj@pVQNQ)xPQaG~$!2(Wl{M_Eze8m*jVja~`ZEhC6H2gf%hjVAgI#QzlY{`to|_ z2Oaq+0AJZpavbQp{Jdoj^nDV?fxchD0dUd#JqN%$Z!-tLG4BN&Ft%^(FC2gY`;rG- zr3Z2Vx_k?Dw@aH|u^Xzr=uqs1*qcVQ=)I!PsdI703p*cbLk#9OOki+-##Rv0<%-s3 zqEiE2=Kh%#!9Z|+%HB)LIiZR$Zj5_G4F0NzDXnVR2EQDz27`yPN9I3H9RZ_Acy)rC zjqP2Kgj8%v?t*PAOe4Cb>8{^Xm%fyvwnjB9E_4kpHzf=_e9+|@0pef96d5_jnG%rW zGNrwmT3~2^GT78~zwY!p^?^|!v@E1dz&0W`!ZcYbPe_`^EUDqrv#T%Gr!hyq)2A^- z4$-GEL(bQyF+qOTr!hai;L@(r1N3Rkj+?2!Zz2lsNp@nrrH>r#Tw;c!z161p?COim zaJ2thGaUWcV1}bV=b7Q?*H30R`uDjh?kZhphNHhX$x~VGFSTSvclR@a(c6h;@a*af zO8872X0l|TwkLf8ifc~ z*H^P|37ZO-t@Ty)Z;DV!{XzknTQm1-5h|IxOn@-Nivjs`8KzOWq^~oV3wC-hXFvBsvRi^mt>hsNTjPzG#IEMQmGaO@nwi%9r|K1G8 z=zn60yGmD^;plHpo!zv*%FDXQ1V(Sio58cI&ohD1*Dpg+%!_G!`HOa@^{Dg`d=LbO@SxG)s* zCK4|`gD?yS2pKU1X9^Iy|E&O_>mP}bt8}FRq01ThTiV=H(LtM!7e(IBqZKlSH)W{E zhgaoB1GaA9$uuGl*1Oae>$me;fE z&4+fNfHUIR!8xot4P8;XqDsV;y}#^3;{UJJ)+Ytu4n7*(7d#vK|Lc)|l;eHJphOOjygviy8mwmgRsND!G4;(+rGwLZ69hcu)Sk@Fz_*A1O6#+Mc|acc6hR%6e#ll z=zq=sfd5ASnf`9r0L=1_@H>1T`ksQ!{7m0&-v-}2UxjZVYycjG4Zs=RUEX!xncmSj z&3}%le>ZzB@T5GeJXIdQ`!o0B?ks!&9_c>VJUS)8vr z|KhyNxy!lQIony{wA=b@XWF*gR@lmIL!n*pob|8PJ@DM$X>GFBT8BzMN-rbs;MLM8 zQkS#}-T;a$KUvl?R1*DjNyQ^MsK4?`SWhT< zVmT_qqP<$1dq7oxHXugsv)%!;2aji-yz8b1j$)OySUx|K^ ztc;~)4Ce&hSB(_PLHCvF+`*gyZ-7QA%0cCoG*hR}uGSUFLE)7jnSW@_lr>%TX7iFt z4&|WfN@`RLW>rc&2h~=hAIMZ>p+SpX`c5rpQ4U(Iq(zKQw1PEaI0w~Ms%4i-B~vYx z6T)t#K|^!UZzXE-xPt*H>`(}i9F$x6UOcAIVmWBG8U|Y>7v`YhN>ndlAaW!{g4hpWMOqhOa=8~RymEp%K-YgHzctdWazP;wm)IwA9zcjH@^c4QcglX`&7}$?K#R6VJ+e()4Xv(VJu*3sia{3q5Jl zkhavS?sl^(hG(HBO)_+4ZQfU^d(!^Wy3_K5*3eiMYSW}Ry@tD<4BcsB z_eXqMz{wP~6A8VpG$xXT`ZQ@Mz6H(9^UenftuPDSX;L4iQ0Nr}jc1`ZO$HHO#aa*m ztRCL>F&|WVA`1;_^1KlNsJT70MD?emazwJwqb7B-CULokWuZhZKY}HsfCk)k(|N0A zAD)FaHJL7WN(~+4dK3y z;o0Eqer!ZYkJ;6`m8Q=*>`EL&H zm4diR^V9N18fK^Lj-_w#I*DH zzw^K6e-`%vxA?F2pAC8cq5ebs`}=45EBrCP7y9(?`=0YX=)2W-jqe=WPTx_|>9$)f zfAbv*4S+Si`H+qk`y}r>-hX=U@n*f3drwC^!Y=Q6?_6)Wcc{0(^DboT3p~$RSHZsE zB+sLsyFGc&)$k;6iswkrc2A3EwH%pnxMzsR<^I9_vHNxRzuXT>$007^MebwVyWHE| zTil1Z*TT=hBI$DXRQFhS+&#c;h3CTeT`yUOTHVs0T#vf$kiLcYfs1hWa2ReM4v^lH zo|CS1EpSbQ?O()I;QZS8zVmr&opprsABbRhn==i|h4Y=KK$oBsaST^D>z!5B&CXJ1 z3>FM7$Ip&09shQ`=J>1QW>_&?0B?u89S7i^C1&~5{*(O`>y?&&+W%rb&faLh#{LKU zp;9^g9uBh)f{w;Fwtw4Rwml&of(QrGrLj`66d>Uqwh~7t2&D2rv2~V2e!-t7am`oJ z+TFaVr=p5jdv$dlcuqg$8b&^wge8JI%ntJ1IPf?U7Dh?+9JrZ;0@N2x?CarAB6;BC zgmsRzxOqo&s-+vDm}Eh^Djh#y5s53M(HABmjBSPuJt{e1A#FW`V@RxBM8W`VZC=w& z{T_L* zt3J~wJ|F?Ewx(LUS{8J5!!3{!B<3wP96V0rz0hbmTeoa!-U%Z;8t!E|i5#;vwWMuh zH{40$zH&PWyhcfj`*|Xh=@VJDrynwVp37(iC>n#cg*>uBYe>J^5c39G1R|`CBuU5* z0LkWUP1L4r7L9nMN2dQM^3>9ZM|z%W+9y3Skw!eyBjc|V%c*!97inIZhm0wWQiNH0 zKW!$?8}ckze>HuEm<3FzN&0foYjl7$tRe-+kz})S(5v+Muo-{Q-MWGg`ZIfS%g8h)$TCwcPUnM7A`&F_h zz+OOgow8<>afcV&O?Cg`Qjc?~N4eC4B%CLGLi7k+u`x+v%2g!0ySutm)-;KHMyR7^ zD!+y|D!)pOP=3Xlm0v|$m0yFtP<{>Er2O)oNQlb`$O^iZ-U4Eg@ilNsdmWpFBTXYHEauO+x=Bv9|{ps6Z`?*N_xlsLSpQiq_ z_OS&Is}r4;v!7?hZzRj?{9{;uHg;NXWYf5^nMzw(1S<0Kjoi}@VZ=km)wb>gBNn1T zo|IJ?1M_=+1+Jq(oOE;=)JRK*7V!Kb8k9*#pDV23p(+8ePi0-E?p^Cn)Fndm^@;KN z#28(|K1G+X-oTz6T)=OGeX;d=IY~~pwKdl3*oUg_BKCLqDE7Bx7W*4o$NmN^>~Fyr z^4~OhwHITJlkYLqZ)W6k`T#(whkOV#2oHrx*B(`tN{uk=5!zBPgR7pcbSyDkI@w!Cy+q%TW23=zO4Z1|dySl`Yrx zj#8M=B?j)(C(hC(0x?~}hsRT5*-CaKUA>4`8>NHUoWkxPxnUE$0^!ZA+}^plZVCyi zwpAv`ho@BCN>jAS6y2YG+T{|cXXWJP&G5v%sjF@r`5wxJVW_d_G2 zQ>!mb_8MJBqXR015wLEKuAhi$(VetjOP>X6rz@yS*lTqO>s~UVZM{Tt$~Ht~ke0eh zpA?_&7^V3I0xSpMkO@y7 z02ID00;h|>i6XFE1ZIjru>cGb3mvpuk&P(@YH3Jl9Z>z2Rtx2rNJB#FIL2Qua8$e_0OJ-4z!>@k(v?xVhrF#a zfQEV>BzpmxMp($$A^KEN8~J{KMo(Hj%X+zF;$|-Cep}8;nU|fRPbKKyNGZro!(wXZ zfx-0LqooVqVogLCH+Ejw<@c4t|KBkMu!?sE-V59pNC(b@p8h)M=@$p={(t))^QUoY z@A0qo*ZE7R9RD$29vb?)eFykv!dBpNU%>l`_i67P-YdK(dN;$LUyXN&=X=jlxG zeP8=t@DK6*1-B3T`A+n0wKP~NIUN8l5zdd~FM`5*lxwHK`4Q}*YCFyd;VTr_S8na$ zZivIjDx^pr;#B^M`$dHo%ga(!?uuI_hw_l3>hGylN?{)2Q{|poMF-^}IVCPS;DSj7 zV|hruMA?N#F3v&lMedthlgaJG8!I&5F{{IeD{YMAAo}9l|AIn`^y7l67zn;wWl@hEOyc~JDyYe z7t2BHWN5ug4&@+!BCS_6J5)+I2gwunTvbveCySi4`kvM5gUHEHpGy9}r7RQ5K}Mx- zq*`1!2f-BANR<@HK`KRNv)0IGv_?W0WoV>I4&@+^($}X_!a0bdxcXF5CXSva~0*__J`M_(ef4M zAdn)nk2qvg#Zi$Q#8Lb^uF_&T2&4?7qLM>7h@*5J)CvvfAci8XU)sD4vO|a~beSN1 zBAFDG9F-E!LH0x>pWB*o3rCOM7!oaKaSlQ#vRo0VVpk`VTS6gAEg+VID2g;!FRInZ z(H!Ja;wz(OF3LeFC1^^i#7GVjDKbc!+fbEOoP#imGz%@pWhuh{Fo&cn!|)u0QbZa` z)|m}ElgVveo2bDx@4*xB{>MNh!l}>z*?ef6RD9aC7y#6i##n- z2P=fo=PJz^nu9EhF1zh*gfK@T6y_j4BGZs)9{o!}e^n80Xb!R<8gPaN&<@urxxzU} zg1EOtB@NC&5Tvf|s?uI4H;qldRFa0E)ztYSxvAodpyrC@rkK14Dmj#!teeyI^R+_5 zxmvz~8Y!BaWSov_k+ED2tMUI(_mC*UL~|2a$*mBalK;v0S14mPE;qqZP){G6OvMey zmJQ^kYR6>3vAL}?T&{3Oa#iA}JgLxPx$!2WqLQPzO4bbdO{dCfDzz|Ip?wQ=XgNcZ zJuQ-o7UjmVcay!?O~l8eN(|-3vcYd}K8)Dz&0!PiK!+-TPH=3e;Y$4sOf zA2sLTT$yh2=yWto#lcW%u^c3bhP6^9hjQ3g>X$to1=~tOk=w7Sgobm&`Sxq1P_Be! zl1D_N#B#%oJ=4h1T*5f()V5$NJP4i8#UJ@iEtUVAYC5aGsipp}QA-`1gYt#?Em6N& zk=%TFIZ(VsXy3C~Zl1|iOkBr4;6%d7+#UR5Y4{QiZs8QK>~aC{_r27nSJ2 zOMSJps=&3!b+W6=_M>Z^tKL=N3fbOqS)HFaUvxfbd(xS4p6fiq*vc?XlsH`WPizO-UxKB;t@b^(23QO1My!DSZ8i4k z_A&OM!H;Yu!DoZ_25$_WYx4$=hPQyG;0)_m!Lh**yz+f!eIxK};Lp$_INAD8AQf02 zSQwaK-4{p%{Qe*O?_00%KkdI4Hxd_GPxYSwO@j6Q2J0^WRR0)%#P7ClK^(t#;hpb( z>l$CqcQMZMhg#?QR{AFUio8ErM|nT+KJR_ddyBQudlmEuj_|fw3%rfqI`2rYUwYs3 zqvr!eA$VAN4mJpvLw}%Gx)1sTD?GD26;j?4@z`OH@UnEN`$2c!eX;ul>G$q!?iKFI z?zq(9w!=fk)2=^DtE6M4?a~Iw=4U`QAChdA&nz!m?zdzu7g~b)eS^uu(E5p z?69-E%LFWYlw6Ii$nXaMM@hsm`;@MQG*s1o4!lXQh zTEo(0GZCoFw8yM`i!r11yBMh;7hgl4XJrJG!X0yB3qG5pdFg4xOtvI#bYW-yV;rXnO08c z4#?_AIiG4>>%<`p<3`X=v@s*9&nXnpaG~ zsy!xP`5Y6l>{4AdY-DR*Hb7NZ8KCmn2B_?kejZ89OZ^b4uIz_UPBkM;o^IL2x=tuh zx8_9?u<8mEuzaQoSay;2P?gD1^MVnpy4;AB&oE+T7xp``YM$?xRCQUur1I(glFBa7 zjo=*J9c0aO{Sc}y?T1ia*AJoWe65elq_26_h*e!;#LA}`v9j~bUYMF^%+RWf&Cv3x zW@s7Jeqob_f8}bP?(b!+x~M-&`4sc-OwCv3c-0-|c==j$yzFMRW@W*bSFoBd`=eCd z-XEoWO@EZKo7AyV>cR3<^Mx5&b(beZ{pecFm_IVAU-qV0n`XSe8}4xa@;p^N9dd-7Em*jRH`X zG2J87d~6C=-DC=vuP}wn(&}QYY&2>^gpfR`VX8u1fRi^8NU9*|qBXqHgGF-Zf%XeMYQ&u@NiVt77VAu;v{j zR&}EhD{nAjW!I=rU*1U8ye%SCH;732A`vOOT3u;$+s~S}%+RXq&Cv3NW@yRJO-KHmV9U8(g%+eg>DZiZG-RTp`? zr0%)P=b7=AU73WDzkpLCrQyd!v3 z@RVS;YgceJJmnV$CD+ElhtTc6CvbynF?9P6gU8Fou9`p%v;$oJ&s|af^YD|8Xn!sV z@%|3-*ZaphKlBgw{R}VpPdXp>-Qv5zcew9h=dIA>FZUICzjt2gecStl_fGF#=P5XY z@A5W#7dunlYH!SI_k8R;#Pg!(A&s+1V`Lqw|``R+Wu!~ z(Vt;I9Nzg>;1*((Jpe8G*K7~la<=nrN5RYC5@-tyvVH}B0e4D!5k24p>sIUj(rMPo z)`Zn5eIo6IuK&HzxNm?5zbFRl|7ZVE2Oo59Hd50veA&nLl{23rJY4E3`;!T`^`4mn zHF!CKip(LW-0Imi%()OPM1?DVs=CXB8-)y@ZbLL~YTyPuSY(?Zv4fzpL!vhdAO%cH zLgNoGfzkL|%_=}Mzc$0s&O6O;6wmxL2@OU0xAfCcRPj|mB-C<8KO|JNwjUDex|up) zVQrAFS>)|0YWuQZBI>)nUm|K;(=QQq-qbG_?S2sL2D$SdejVis=k(|oS`pUe^=|NO? ztAP`htu%nBDrW#ukw=?_+J+gO`_v3ab+?$|sIkcmN2OUa9QC@X!x-8Zwy8#)pNJUh zyII6gSEGob9_BwsS03tcQIDk*(_hS?rjN}jsP86o3TjLy342Tu#ALmO^+ zn+(vNu+_<{jl4%y79ExeMsnkLI>W76m)W)xWl7YF5UrM8`~k9Pvq{}50xr;Cb;oDD zXT~pD3+0U)z@N3ZK(`A6;V13=6t+oz<*HK%wJcj(`AaXE&UUEsw4HED#%^xl%R$8k=IbC4_ePl#2 zdG;AmOq}IL6y^45gD+1H6#Jn8M5%cLh(h-_fGG3EUz=Sh{)1nmqo&-i(NXELU!$Y` z8_Z@e>ixGFj{0ssv{Q(rxl_pS+yGW$$ml)KmjM%jBcSbcv{_B$pp%D&MAM%fJ}Fv`A0 zn@I8^fRf)ffGGC{1Bg-=89+Kdy|z_4wb!OL{ZDNMij-*H=-!_N?j+lbrMCtZc0Gudrb+bV4f)f zbzGq*s7o&Dc+Hf6I<7G#ppJS|0_wP2-#fN?qk>nBC`!NDh@$AZMik{D9Q9mbhNF&|W;n{fNLxZwK^lsG!30L>mlOYg+iY7391l2d zbe!qvcC2s|IKlix(C1} z|5?|at}9(9xjJBbAA<+LcVQ)vabDou?Og9%;H+|nU|au&?GD?Owi9hzY>VLuFo4Jf zPg!rbUSvJW+G1_6jn$@aB(9M1 z-_U(fx2M{Q)ZI?_dqsyVwh!9&M6Ii3OLKQ~3ll7ANK4&`O_YGw3QN;og8SF08SDk+|adNonYrH-g7 zhypK}E~?L$XdX(|M3G2!GRjk-Voj*Y)}&cp=vNbJYcgdRP#eWhoDza z7k0L8>LwR-=?OueTn{R5WnmtA^kfkOA*`Z<^H7>sRRG^mm?L>;%Ja*KN{i*8A#Yet zRB~Y+3i8Sls-i`Cs2U23rAmzCWrah$4O`&N4|W_XEtH4CAz7V3YatdMDkYqUuAzQ) z3af6O%JNV)tRt`94wzHm;{rFg@Z16u-(Kn!PU9Szht@uE%miA)os+!Jd_lP55~tRX?e!XT4Y+ zs{e-3Rmq_|)c^I1wMr?>!va7VcNGoiq5ZFKxTKPb@=*RKk7N;srwi^Ep?$6r!+EIw z>+^+gRr)nJ58Z!t%Dkq)kv#PN`A(^{SYFop=ZpeXayVbjDpSpBR8lApoqyV279Cwu zDd9Zy{q-%>NJV)l_X|B!^A+Wx-7m~Ul~|I8Za=XQX-&2_?@qREz+6Z+6BWVm^;$=v z;m>#URfQJIL(kvv^i*;<4~2iyX0@X#DU_Gh{g=ocRVjsesQW7qRz-{Q(DWC&p%No` z==qZ-swQEYxo0e2YHXrL4&|ZmPX=7xeQ1>ba}&}?ez@3-OSO@LroT8+VI7&O`|C9J z+p%n^s=PzrTuVoD9 z2MhJ7nZo%(o)kVyscvw7knUZ7Nr5Bzfnp0)S}Z@nq=hOuln?SPR4L(nfNzGRl45y3 zE0eQ;Q_0c1&!|PNQj79l!<(WbdSoK`yx={D;hjp1GCvsCV9f}$M=f+Uia0ACArJJ(Y?f7_RNy$`gCHzjc;}Bh$O7>K2 z@9yg9>VYD4MHf+BA92Zl!8FwNUoZ{6rWC3L`s%iKv+WhNuunk)nY=$EF8;6BhFbqC zw!v2ul`MUwuvo9y#x%-DT=Xl%q0+Aq2k$Ad&gY74OEE_QsWy1LAlOOPiz7f_2m61?eVO`vrBoC8XA)rAcJBYh5r7*&S6$d5s z;uomxN(r6J;5y(h@<{9&yZLDGtb~-M4skdhW4!e&piJZ zd+!||)s6m*dS=e_hOy05cQ7qB0aN1;z+h7Xrr1=QfUyTKxZ$yBf%M)BX`9{%DVv0; z*|gnFPd3S>XLr+kvgw`l_bZ(voi;=Eckg}gdq1DM{=*;X`99Jk>1cFx^c0ov{(YW; z*MFZU|JX9qY&v?<_~3byXn4xuS^m2$<-2~DrQo&SWywE=*m#jADYvDY`fChb#(Khj z(b$GY@J*ta2l-d%d9-t-{DR--DfsdCdGaqm*qkdr|6pjr4+lf@scp1!HY1QyC-IXR zx|xj*8v}-vpO+0OIFJp=zl>NE5;+*cu8t`AX%F3`r3qH?8%|A~w^T?tbY3-x|3Wl~F1S~)8AYj2~2LbcX)r0H%dUi&LQ`*pV2La1Z zJqTFv=|RB!b4pAzmGefsnHbvoI}GKg{0>9GC%?mxulj3(zH}LCPWt5yRlbUWp}IS#W{4%f67^Y(tpZX@bCYWGylvg)0%^}6UU`A zHZ%?TJoKpl5qtTG|0DK-kN!vO`Dd`#p7gt2-xrDOq_4Qu*^u%RvLOW@W<&B%XL}k+ zj(&Gq@WJo0UUZ2UN$73h9V{}T}e7ZlXh&N zi$aU03`fe3&xRDx5Zak)%RiY!6eozZxx+pmuaUM6@_j_M3hx{o&p(MowN#gfN{cR; z1#f4^@=s(7lq6T&bBOzsq0I*Y%a1zGs}2g6AA3-^fQDht zT6zBQZpT|Wry9y~JUQ;S-47u`|LN`?_agUrcfj?V>rK}~uA5!wx_YS(eW}ao{L=ZH zGv&O<*^fK>4s#Yc{_NQ2xWKX9vC=Ws5w!n;*!qv!Z?>O{uld#XI(wD9!1lB4E!(5E zeYSJG?|Yy0-tOJw-GRFUYQ4j~F3)?O$33@t&hbQTJH&{CwpQB_wi27!`myy%>z&pM ztpnCo;>~`Rk1fwwQkKgsJ1s|9YVo!2pwa)*=1a}HV4*PITxB*1ZwU_w*9)f#9YTZC z;P^loFBAzmxXs{U(`}{;OarD>rdm^}$zuG#_&4L7# z7=s#?L~23={cfmBFsWs*AO;<*4`8%^2SQ`(P18c$uLj2IVUWMMfEB^|a9ldKdti#UFzjR;57Ttr`-8 z=8fod=mCeKOhF84H`3fT65Cj=t0V@k8xaRn3izMbbw)_QK8-l&--x(%109_tEKi`G zJ&HgKN;uU31*S4A9D^oKI}kGLk3kuy?1T&z#h{2IW2BBNCNmVoppzq=p)Hc>{utD8 zq)w*O4jjQ+6O2I{N3;&uf^O^Squt=3FD3>5Xd@xU(Ls(3i9sJnl#;DfZ7&0X7}Rg- zo*&L+g=5gU>3YuLPz-uEGJjbZrrO3?0gmRypnQ{*CNk9*gW`>-Zg^lK6XuUW zdq(<9j?QSe#xW=qg9?qB2lTX&Q2MlM91X;vMN{>__!%o1jzNj0?ST@8B2A||;H8UW zP^gi3W~_seXm4LfSF2pXh#1srQxzO-ojuWkz6kW3^nR*7nKcxHicK?GGMX2ImW`>H zcmsSfXxNC7MY6UqB2vhw^sF`zgMv-nX^w?s(68w_&0${*8aArXlQa|@@yDQ7Q%+@B zUML2&8fkqMxw!+MCp)@2Wi%LrR!yS{Q`8E*8hfzhyTx)V1HD>(6i}_bq3ttr#2!k*1O#4c%P!bO#1Ai6t@U*u)Ft=#?&!MTCniTAZaI z22~rs=uD>P#h?>oKbDVJh5rv&+R@V~*#^%a%Mtq~UU2{w^p9NF{$s`UbbA*$0P+7I z1ILI!yBKMf1Nr-R%kOjl7mUAPKa?)y6#&bHwv95~zaJ_W<+#dF{{Ed}P3;})*UMzz z{vG5Q5i=CE)7 z7WMCjBYFFK<%z+m`TKj=c;TWoPA=ZxEw1h}7dA94nOnQGX>P-8RU5IBLmz#y!^Lrp zMCt2Teq{w?HR2c$dPhGwJPpXNrT6?S07;GN2Z%vK{Vz7H4O~vPP zD-D$I|Ann{Lt`*}Am(Z9u+eJmZiB{wy1dZCD4ES4g8>9-7=Kmp8vHR>KM;t1oRg*Z zXI8mC2HOV$b&EFbvMin16iAE+=%Wg|nr7>pjs&`IA0@*67@gUtgOf+)U= zaC;{e$KPkZm{}}`yW_QpAR@#vgEWzsaTurNY%$!IgD>bpd&n-Br`li*ZQe|+>`#T2 zeWPuPt(bn1KWj}}ue6?M?XWJiPOyfo2FnMQrz~-NlOJn|SdN6hy$^TSy@SYqcbG3S zA8j0FbRzoQ%ZB^tmw(KAsrMLfJ8TFJ^$zj;?0MVsnCEuS9z+ya3%`LwJcHc_+^^#V z;uiOL?yZOI3X;Yf>1n|#<21u{hEoll zhUJD@!#ww&h+`FXu2P=K=WZVC*AZRkxjvx2+-ALwS` zBwLKatHM2*k>J|kt^#4C*ofBtjnJn?JK7^I)1?|}W!tuPm+6wh zLb=RKNf*0?044RbgW)1Jd-({Itth)&M=U*|^j#ehox52_M5i9q5eFa0yFo|9Z^y@o z(h)4izpb!MN5s51nmrVevvO-|=Kxvv(1v|kAhhIxK|(R@t60iq+QTM8cWeIuBD9kl z+6vc!N?mF32-hQ`#kP)ij4b&St?b3!TKz3GElnOFL~A0JkS^1OMM4eDW@2}lF7OH= zBbmj7d-AK3|IHqz=GS{js4ojLI@Fy785P=;1sNGyp9L8nT9*Z>2pyFL85UZV1t||L z%Yu}JmSjOnLk(Gw;?TS-NKvRh3sM-W&4PqNM`S^Qp~JEufzZS(h(9zgGZNevd^HQQ zH~5b%$PK|4vLM$6pUHw;6?`%aazXI1EXesmzO1O{TkyQ#U$T@rH+XLr6}}0*?3ak&Ep?5g zKXZAFJ}Ufq26AwH$e3Ad;X8$2WM3+q_uE+7G!Nm-VQ&`XsKTx+NI_w979_uLc@`wE zurUiVxNu<>WKiLeSrBjG>@0|zkTX~#)Qe~M#PA(i${ZiQH4Cykd{Y+W=n&hp|77l*U_w!^`2mfv>R z6!v8q17o-#3t|Wl&VuBGJ(-cvZ(&Ck-SH$e z{+}EEX84ogIKyi=wK&tf!MxNw)?AEe2R{iP2`>u|o3F(E1v7;>;tA|TJb`7xIH3d) z1%5XD+w_PjVY<$Ap6M8279t0B;>=)ah_v0P9m0@|0jZ(C9~nu!%I)1yC*3>I5zlKWj;4AcZ)Lb zI@Wbzp)d(uimZ?HkrS#$Xb;F8X5_Ma<49v=b~NW6Lv*-sWTvv)BI~;F<<&_o@KMVl z{|O)J>njmv7!3NhboKU$s*s|PFewXzu`mpbbVNNwtKVDwk$M9x;WM^nNy`om&!(1c4bS414h_$umNpG#Vapo&jW5=`2De>zwYOBY zRBNg#ZmCpLntyEmRYR$1)(mX(Va;D?c&0SJr=d)4enCT-)ck~oGO_s~4P`>}Uo@0d z^F12M_~xXBQr&!~hH_K$ts2U>X3c|cp5J`BhG%T^4Bem!U#`?Vqq*PB{aIab&dGB$ zRn3XcIa|ZiH|Hb`Wy_pnHI&{tM{6iObGE4|^$*p5D^i#ap*~grl!j+#{W+Av=WzY9 z`WrMnOY6ls%;#QxQ@v*H)i>6QOPpNKlKNGedWO^&sws7Cb($GFD>>^=YMxnpX6;i` zW_&v1OAY1i86RjUFV6UvhO%hJGBsuT3)97^$lHAQ;=`A!c@DekFwJC`a?+IZ)jU%U zoibiSu}yKSDU*Mg{ELS2*_1IF%BNE*G?Y)Kgfx_orxa)?|DKYop?oyOs-b*1#i*ft zF!>t|#XmW$rcBx~Ni*vZ&PcPCR!^(0r=|E9R{dJ7StzQ086!R~ndj#*9!;sA#)xf} zd43#Y#QS%S{Ei-V+i1&Fyb?K;UHIz$6T}cDd_2F7h(Q>Ws=K8!rLZK1w zTHH;GQ^&*apZ2|qP<`XX*VTmS<11B!F`LF+uOgtAU#SSAZB;W=1hoG=6``ViP0E0l^pR>1hZVmd1^db*t<8sFwGoYS-Wx`eFmIw<*=0_)sz*#tklfN z6?d(;SHlxqp;_Wr>|c@A@SM8hObsP(MLBq}VYM!P4UV1=HX)13Tp{6u`-KgPde5&y!4bT3@ zq=s@+qvmDScxB^#8lEc}H7ji6<&Bz`V&fkg_i9RA)+qk2_%m%hxA8&^&+5jFYRZz! zmWVqfUTR6fk{S(9{t|K3DOsfXT`Y1f8l>h~ z_}#)EHIz>lexaefy-4$GTKLvN&E{<3n+w0ylzL;~#~RA(3pMk3;T;P#5JXg-YPAzNxsq;0n_sGkSyhhD)`D~?AUaomx2rehm!$Xo6>5_jZPJBA}>pT}Xae`Ei^{-XT>`>pmpG;-fG zdx_lwpZ=$9cN!ivykC;VAR3bzW^nq~-lVBfz@XcroV!-O&+PY_JwOyA*a{B_fF_#(gC zbgStK)7joHy>EM;_deuJ;pie2p`b7ZGJK zZP^EliL+oc(Fd!ErMRbHf@PSc05=tUYkm)R6+CQC;bJS`)5UZBi-%zw%)Obc+d6)Op`Kx;%@enOQ|w_{BAZ5%~q(dkhl)%3#q=q z4ShwX85w1YpVdYGK^?|J$PFreQp|--(ZNrt^SMhj`RVGsv(IG;vGQfB6q(YK6q&)l zDl)lS6dBirnTLm*Q&eV!3{j7%7-C_FKnxPXJ0dgjb| zTb-{9sPknt>U?QLoge&0PLA>Iz6i`S=tG`WCgLnV{d;wO+Ar$-)cNZC#CO&C@zv`5 zxSQ4aF$dK7s@dxN=!@0)k=Lv963YfK2SP7 zg>Ne|q2E{rlVVUnnX!wruoo_g9o-v*jdB*OD^{tpvyN0}OI6uvKdZ7+)yxy$QK93< zsj}ntsj_3fS7oc}RoT%Osj?%lQ)Mf@RAtNFP-hkWMF;bpDm3q7Rd(<(>g-XftUFiy z1(2bWf};oVu(%qcgV(mc8S$A%>mA zyHYO?<3I&YJSc29CUb95+BhLAWY|q^kn3aT=TYhW+&DHP*|0-e@5Iw~aN8$U)*8+W6gHilkC+ZR!`xoW1K zZ}bIv+DLi_sk&^%XL>&87V%dr?G);Ks_e{f)!BY^c7-}?Q)O$9R%h3!veOQzvQuZP zvJ<6cNov*jDzV`t*3$frt`7R}!g`u>fK2DU2;qY>YbE^4+BRd|#X*Ql};pR2OY8`arg?2?^U*N5aDrr@)2BWhQTz zi&G8WVxxvI{TB^kkY7u%X$UTdxXO{;@&N2I`y#?Rabglmv~r-Y123GF7Pft5H1Soj zg5IS_Hl;Fs#d{?Dijvlj8dkikthGa|)vTbJ3h^6H=LdW`}zHdy}#3Ol%vj3 z=@?}H%Kno59{ZK{xQ_nVJ0PcxUBZNk6twV#5v{d8fout=CF1Wdo0-ZedLy4`e z3F9A)=NS8p&Bp17>t}`@|7AnWaJpfWVYbJNSO$;6li(b8H)0u7yZyM2@C|&k?{%H# zDs*+b7P_i&y78OyHRo;4^9_~GKIbxn&w04B&}qO~Kl#gxuace6WM_#_b6QkBE!;5> zqgYEFA;p;MZI}<@lnC&Ezu`E1sfoXgl0}9q;&7^-0yxsuL+>FU=xUd~wa8XOW-N=t zm2GTBMwzJ~4zD)ikw_e|qsH%;vr1kZ4%)=)lEi@K)Ic1**=iSFj)mj!%+|U2aM&M* zb2jyUX>IH4L8s+f^W$*LCczJg*NsdL#Nm*w7WOS`UN{a{Y@IL;2jg(RChkGZmmAKA z9Q4QGeN9@z!`^c!9ES@wsa6&EQ~|>eo4~jNzIWV&iJQlwAA#%TMoF&NB-9Bp5htIp zf$JDNBo0?>;*}3)eih)4Ydo>#GT}Hpv8hC5mDkEu!WCOlB?tU*$qk$JF`$6phE2L3 z-PqGd-qV4rS#`cRys(KsQ5QDpD#Ra$54Lj5HJL+g1ASYmSF(&1#Nl^MDx#Q755*;?>quv3M{j=zxhNy>2i7=$98TATM2v*W zP#`Y3Tyyn-@f%hw9M9x(&EdQ_T&|guGp7dPaJN?f0=||jguk`!7r;p=A*GkH(*79SwN*{wPTYCphhtsRGKqIfXJ=CnITw}T;#jBX{Eg6JfN>g*eW;3~Ft%9? zFD-J+kE~bY<*`j-3u)XOW~wHhB+7C^u@3QB^!A9sdQ>usV;jX*^sHZx(2f~e5r}ON zCzi;eDjkfi7Y83B-?mX)%6R`nv4|+RBg%vG$j$P{;F+x&d0sFOYZE1Ij7Xo{aJLK!u+w-n&vBtwTQ*mcXWz(D#=wA#hR59QXg~4AH&v7H7pBQJ9BbOljx618OkY+ zW~hJle7_ftqaC_mJ%@d9G)4KV=LimnpVm~$w~FETiVT%<7)38sHQ&e~Uwo-*=?Xk2 zcg%Q{e3`@nMlOywiBq$Kgp;U5MTc!X~Q?;-%cf zno}6B6W62uD4qx+-D~hbe3sZ1@@9?V>vOwYHW;5NiWT>MMyl-$Fi{-g-Ur;DScWRX860&$~ufcaY`95-YbU=9c4B>Dz~D|YNM7(@IO z0xAZQgP|B=uuxZbY3(PA$8z4O*lw{?;=;bJwXd;*#%z>XM#OfBVV(M*J;iX&pl>&v zPSqnm0DXt?+WfJj+33w$xIiVSG`3T`%4FjX+#ZDOzx)d1#ltZKZ6V79=TTKr5<}z` z@&MW(w-e3e??7HdD2DJYq_d1gRY744Aza9Re^Pak>4 zGJ`+X&-&L+V_C=$x&Lp4@JJ3K?FXzsT3?2R|JCsEZ?o1}M)&h%D5!~UFSA8rI(4hw!G z?grTJJ{xxf%yy4-TM<+6KG&s)C^*lR>--Sb`L{bybgpyGauz#&ar_I>1W(2ZM2({u zb_DO+pR(__Uu@rIZ^rF^rMMU1BipmKnC)WQHe0jskg!)cQ`jUd7A6UWg30ue=^5DL zUxHf;*1&gvlquJE!1$8!UgNdKQ;eI84aTv?e8YD*Be>siqv1?LuVI;?#t=5-1QIK? zbNe?o$-;?DD>aAxiRI#`@@r@~=JpAA&Dgnn4ki}39Qj%N~*qidAU#m%d~cP$IHDPQ%Wz_5ms7cF(uCcBQ{TsG4F1eS0zD&o2aXo3u31y>H34EYjt_2vU6 zBgF}<-X!ST>`4Dy+=N9O;>o9v%rPW^MO+-xNg4nPxIEU%5?H%MfQ+>a1QODs9f^)R zbga6zKmv<4=`_X2!&8>Sn$0nFoxubaZSn|6Jg0@dbhP-81QJ-TNkKl!a-~BO(^Rb- z$Hvi@!0{8=tgtpJkf|J@EmR#pDc0;Dm_`6C5^3cR5g$z#$X) zlIVz%C}D_txs|NKGJ`)cS$fh@@m^XP3MFvLMCNNpw7#Po!CO=X1Bt-@j!j(VGr&Mx zw_xxM+V5=bd~qxo%KaiQ=#OK)P)_pyWYhP5cXyW`$Kt_nAX99o{x@vz^5R%E*f%^E z6^diI&@Mw9{qLsF-2Z=W(^nG5LLzS)|1X?q2NF1TBFmI~ZpMQqg%i@rljK+aQZ}EZ42hkUNWO;?!pGL0q1Z*B3JxI?VzX8obFHH_=)_) z+Iw(ARaa++TqKyl(UazV$IBHaaQZ|xUsW`A)VhIA8a9*Tz68#p$d8&GhW*4E8c5(6 zO5J~sg%dc1(tTNS*q^{r6lrXvudkc-gF}G?PNGPyZ3DP(knHn}92=6rF%(&Q+d7F# zN(TH1=@g3j9>`EAfm0~$Z;;m*NZ=TXNJDkfost|YN#GEQ%#fwgNPS0VWKrk91{#(y z@Gmw5LlZcRB7wJ-c9VNzX13ypBLiDW0v{Nprl!6f4X|*`z%nL*?~EhC(zv6$ZAKLT zh{(nr&_8y~!f|q6EAcVJrkBeuN#N6iRN9Czrybp!GgMj}#|H@6CM-c%z|Kr!%i{P7 zA<7nT^mJ~G^wlFYF}dYYDJc}k#|Rlh#-u`v;`k0B?>%a*nV}UU;`sWQ3Wf%_IL?dC z?Z(Nt+&NWUzBs-{$YkpVs|qQM;~Rub(=6jx5ywZ!6yOVb+6Qn6;N0#dJw2IvJTZ<> zk(EluIUNzG^EY<1&4LXo={>$bGIXOnj;|DQ+9ygl65o;;xQ4~?tul#o&FCeztQq*q z;`n4C1HS-ARP`N^&P+@taU5xqM?Al0!`$xmJsIj58pq)#nSt{Vw1?Qy;!7|CTXB4g zI1@;4o~E89kqvd!2veR;p*YSt$wS6r<{|`HqQ_=@vX#Yg)Jd8PbZ$4ypd?YMXH*o& zNhg^J_&}?}h}O1tkYGcyjM6yHJITG7bN5pXsN-I@!W*E<5aU6=0$J_>M^Zp1O5@I5T zAGfN<6>%Jml4+^r!yU5gU_YW_93ICxDQP8Y!LPktn#LJK4~^r{lss|9i3yZ}ZB!hm zr!!=>y6p(4N3UPYz#NR@Je9m5aB4%OtD063UnllqW@k@#q!t=6aw$iKT1LcM#qp!- zVEe&-=*981;(W~d11XBH5hv4(&W_ehQ=mMKvsW@vC_}cNki+m*&OXD_Id+@vOKA9? zFdb@(+b*;1wso57ZL4jIY%^`uwsKn@^!;C3-+@j)ZoSCbXI*KnwT`rUEWcV_v)pO9 z&~k!hi)F28IrRF6TSl2S!fJi6@Rjhi5ECvCwg|HXay#Gmrr%(tzu$BQwEoXQ?|--X zkLGL4=bDc(cN(7de&l`5`&aKD5uWE{?|?VrUFxkf?etc8eV$(t8{j$5L!SMfYdq)T z*1;~EE6nhW^yK2sg0B!8;90~5xWj!F&KP#OyWDHtjqZB)6xiz*y9c|?t^=+Q5Fy}U z*y~^KI?lDmwa7KYHO^J;%6FNa-#I^U{=@mW^KR#@&MTa!I*&n&fM(|ccsf)%Lr$0D z08S+CcifJ+g6BAnadhKkqQP;5qsmd_@YsK~e}=mYpSIs`zukV7{S^CvJz`&JUtph# zTMvp&Vc`SeRpD9TQQmb% z*VBbiWw@XNck%IiVq89)w2oRL#`|rGK<^}Kd{*twgNZ1;%#B~DH)s+uL>`FXEg+28)EX_EZK`I+OY5#YF49b+rq8X zghr&#XNTAecW0yyP?JoNcP_5>BjG-yRlThU%?ZnXLjko-7GeB~7w*#J`xSXIA~-tO zutw|{*jHB)nM*{|??$R%1GVLI(Ke|Uig$Xx-VzoG)N6w*7R_gh#!8&f-`qXBi9|N>y(*EZSM{@E!Hqd ztF)T$9ddt(RMFh-w$6ced3{^;wxUTAD3{hY=`BT*bj+klZ<3o`BvF|L;0@6|Bc1<6*IaxDEsG|#0Op<6WMii*eHc8ATBM}GSC zPb+2`Gzi=KYmN{tgz1PO93>{H&?VZWQ4%o*7a7MXp7OkCV?Tb*^4RWF)Jvvxf5S0a zO7VSKiv2Uq524{Q4WalS8iK>3XoWNxkPKuNzx$6Al(dzsH z$uEnx95vKmq{i!7)cNB1;;f|n^-C2Qp+lUa;<6a6DH5MFUnL!%ke{;TN3)E??!=ec zx*odeoU%nU$)`ReRH;F4$w7POA1@9#MHB^k>1r*m%w$S~)qREJ2|*lnM5X?UW<}{4 zZEcd_>Z}Es$>p>M9bJ8`M6bQzGgWrjQFJ6kl$hDBq*m`VZ(bp%1@WD-zHR)t3Du}( z@g8v?w)K%H)F2EBisq!0fVXNt$kYheDh@S1JE@h`3TfzBe&%X5UfZtDPdBLZQx~f9 z6F*ev$4^w}$Nf>AAM=wsUv;E9Kl(Cte&kK+e8sowe3|(2#qB_1|4R3&@w^f0eD3Ay zyelS7AeiKJFNH_sdibBTFTvL>#&qc|;?G2n5yk1!o5k5e&^6>R0VQe!;&df6lJ$$f zBp5umikBJJ6>BNZ?V^>mXcS#nq|75hx-XC&((;-cLzM9IbqZ++Dv z#BXAI2oZ(n4OL}lO0Gx}I@6&-r{}1$QyWy-i65x4<0q)H<8D)B$4F-HlAx-2Ds=Rv zs_e+Us%*tKWCg}s2|aEjpWV@gP;9k!w@2Ai+9$4tSs3V}x=H-CMEmQpp~XN<`%Ocb z_`ZfP?p6(s-wvgrKbme6?YOMKl>>yTbzlyAj*W1gEVw` z*&+?0iFKGt2giaw!okFX5cq}lkJdpZNK>)+vlE-JY@sr@V2ij4P;72jSERi|{M->= zv_FY2bsbvrqxd?Y04&$KFl8aU=!=YGUrPL0Q*N*|tW)QUuT|$=L3Q5#yto+A^6*##8A26*l#cz^49uMBrQFp6V`l+gzWyo_D2Om$;60 zwZjj7l*{Y<3~>YQabAmW=`O_PpX>}desjEoXaTpww_ulJ6=LBHb2#wj{G2^$ztp}H zn*Cb)NW0hejqP8yKijUcon-6sK4xpO)xg6b$NC{64&H(DhGVSjtw+L>KHu_#y2oc!<-*$_S1ZEBhqdKba?(gi3~-W39($KenW*3j9gv zWQfvXeMcW%3*~Y}N$6wf$t8ghUtTmLkr{$XC}qfvhIj|Ji?|HtC!vxdibev;%5}FvIGl^`+7pQa-s0{m(R1pIUZldsyC`P6%2}KO` zn5e{kgHrRggI<_~Mur@q<8lzvJuU7_LM20v-lZFsWWk{%G&01lolJ$wZ5{nklqgZ? zWXQR3n`~|=qeGHV%#bkv+Sb}H1HmNJGUAD27j$IgH!OqxB(yT*Nwwi-CbE*sP)Sl! z%B<_?ZtdGaZi?<}+o)m*CZUue&uaQ~b`6SLzB~z4Of{-r6CGGrN$(!0Y#-?AqH}yL z`vHtdLK{O)g0)`W|(gOM` zkV_OMphlqTZS0Mp+rv5pvs4-PC!j@8jzw@4o25e%tH~oGwoTM*NCC7kfLaZ4AV0B6 zp4YM!+kb8F_-&lrTJFC#c#4_DE#HPD>Qpm}1OK(b!#kIo+WjA~!J8;9jQrkrxjFfX z35uWnuWbDYB*tsrJ4TL$6V>{+iwp-7?aD@6V_V`V(WtC5zkT@@jpFLsf4H zWuYfR*BMS!=wBytwV}i?aTBDxFj&#jp<+v`x_7j}otOi` zM7g+kMf+iEMc%tI7)X?f&EdwYGFF%<&G0gk@j#+PEGt`-@f-TWiQ)`1hQq!@k^0GV z#GfeCJb4ZU6Zi@woA7OYtuRy}X8^$=Z2I~W_y{C#Mt0Y=62d2->ZQp`;d&fxm9imP zVFDk1HDYmN$;P%G4GAItM5$Q*0%-s^)1JZeG|Q9UXSNT&->8B-;cO?7kf_dbbD5LYCWSo zgWW&6-!^SAt#iKspZmLULU6JBboVZIk9(baiF=xRg1f?9Ao$%D!H#JCpTQ6RaYXCC z-gU9-bj0g#HGOM(%k-3MiEE~7f~yku`-NPCU3OQF^Lv~nyytw?`MmQ9=U<(7Iqz`p zbzbS*<2=)Of^&zn7ZC}MaxQhwch1BOfMcB_oW;%|PPbEV{N(t`@sZ2Q#{ZRXGdy&1s?y{R~Kf-e2L)#m+ zmuyej9>TqeG26{J$+*OJj_qXIE?d;L$<}IHVOwacw@tN;w~e-y*#fpfHmmhl>$lcV zU{mogSXDe`{WGE^{Ly-Y^>XV4h#z>Ib(^)@8bJ)fM(aH54C`c^epFZst@&0bVhR3W z`2u$@zK(c;Pg)+d+>P^)eU_^&7hBG@oMbr~aRoapYc0eUqYl;>)s|6~Qj6c>wO9~u z;T!YE=C{rNG(Tg0)Ok&vxF0IFTyfm0c<>Ka5ut8A;l0|yjO9CsR!BjFElxy4wiC6k3h5;G4iMu}a!9y*8&T~Myd8(gY|Ae~TgkCL zgDCR=IYXorQna5O+mamOHW^-2W=4|pdmzgrQexRTEHQ>9=t(>=vYlEB3~SfZLG%B94jZ&>1A zEO8G@{E;R8z!FWNmZ*^ub7r#yn>%yHNtD^2Ns0RNSz?BisJodZ+F4?Wl$gcF zdDg8GWyT#WaWYG=xiNzc=8RGan*JzD?3EISFJlST!ox=~idRb1{KgUoSmFVeIF=;MRiuiI^QiMAo>5Vj zSj`gkEWt*s!YEOOJLNFQD(7(Q%V$l%M$Og#49Ypehx*~F$(*|6%9xf*xHIqHk_QL#2;9K{kj8ew%{Ik ziH9vjel`L8OuCXFmUx{d{>&10vBaG$ zv705>eD<-%`*I~{(9bM!6-%(EGiWxW9Lf@cl<=}?>^+ZBnx%y2W0tsrCC+9EHZwi! zQF_>v@UW@w87ncnA7Y7pEO8@CT*eY?NpZ8ExoevQx%yaw&1csNMq!JUtBO&qQo_l8 zR?d4FWxtegyulLButX0_ER_;=_LS}H_ikqmv$KZTdl~a8mf*$N)3LLK$j%lDdwXZkl(TKf*3x|!_9UH9Mf8(cu9ebOX!>1r zD-}T~O_*NQiJ3m4)0+8!B2)XKSmB1&Hll;@?InuL&IrkpWA2D}*ZZhpMB^-xNpPW7 zqA@ADS1h}3?6}Fu+K(beIh_%bwVfxW34H`*W1FAJNzLYGazeyA$Om9g_u-RC{Nc{F zj&{@CL>t}Nx)W|Fq$Pk4Ka?nUWs>Pnv@c)*SojY`CiJx;;~%BWl+z6w%3$}!%s;5o znABU@2Hjr7B#vI|j-G-3sNr?7w3r!3A5ZHJ`gn?)h~l28z2*|F*24A7iehhO`oyy{ z)5k5zOt1VRGkxTIu@77>x<7NVo>sd;Pn$+Vaw^)4vQudoQ8jJiS^BcopXh1hGRPgX zU(Z+hxt=z9p`JGKNIk9MR`C(gUH;5PicIZtMP?ec0U_NWeG(MN#4{C{>W>wfamw1p z+^Ik+KT~8zHz+bA=P5E3)L2Clid*x@=Zx5b@P$PGzuRy_j%9?!Vg3Ym`7!g^=BT;J zJk>lDx8Qvt{9Q;0mk3c|g)mhpH2nk%{=azN!8yTg-V40DylcI+-ceqM=S$DaI2pJY z(ezsoOTWnd8|?D`;@;~%6@LG7+*NL`>l@cI)K*{@ZsGtm+(#L!qRkk;O&x-TfV+frJ8uMpjaK6BB%@zUF9d5~^8IP0DHhq@;@N z-`Ll)jr8GL)=7U7s#sMkI8>B`9#&Qy!&{O%0R|(iY$yqhENKW)KI>3_61rJc&AebB z2^B0E7Vc&#SDKrI9#(8W=l3U}f>l-ZA!|b*3C%01ip1rh@1-Ee3X{;ik`q4|{=#fy zhosKucu^AiS88}caT36fD)TwRe+^a0T;Y~E|20(U|9{y~C7hJ(0K^&G-byV+`1~wM z!VZAAXad0P$=#LuDeOza27oMY%#?~3E=6Q;4lq7CfTabO~O<_Tnc#6!X#`2 zNUI@I(!-M`wX#<-%?tvs}*OPr`;kC6`0tB+Lhhy@EwF3KjC^Z1hsHF7x=PBvta%VA$~ zfm-fWa)0M%lgoMh$s;v#ITTLL%OID-zT{lB+zVv6bF#_hJpSZtja&|ell2+oa@d!I zeS&g6pD)Xul}#?^@h4|$vStj!>o!@lGUwcPV$xzn@Bu#ig_B2Qkjr6T za;jSHxw72Dv&rQ={$!0tE{DR&!!pR_urE19E%$6$?&NH8IgdX%Nh6m-;Uvr$bn6C( zeMwj{D4*}?vRoK5WL~d0k3R{c2Gx4Sp>Prg4LZ3T_9bD`pp<*6EEg6HndNdGe^O)H z5adue3EKvpTn_t^FmO=HrzirG2Wmvw+u6|; zk%7V_j2*~pJKBStgx+?#API8^@;QdUj>>YOB&;3CCq^{V+X`b8x<%pQ0!hi-L5!cP zYD!)b<_;t%65_kd?eHaGPrqlKXP#%ACy0oC z|8_qIP5*W7Gu(adRz%pJ<{shBg?9fP*ORWK>nhi&i0`-3RqGn<%5(nYe8>4WXWV%? z;{3Ha>zxyvB~GW~JI7m&C-Jp^o#SkL@3+CPehR+$z4jmN@7bThy#ssg=i7JN`|Rrs z`|<66ID7<#*v;?~c*pjf?Ju_5ZCBXNuHvS!D};3!#$Hg0U)wiySUaOrQH-MDCwP--x2 zYTeo@1-%ZH2{Vkwd4$l`hhXp8Xdx>m`X19w zHKWDOijAO8xF%FnOz%UMS_WdxjGEb6lE0>0OUkb))RG3*1oDJ(E}qyopt5>34Y9Q* znJ4*#(VVYxV}BR%Q37ur9Ym=um2h+J*h#z`I;)~v$v{oY28-i3QB^DLJZe3prdHW) zdbJCPGxCIC2KGQG(Pg?xoGjw_7;9`^Req9rqDKhvGA`3z38o|2vajWShmcEpg1b=qUeVE(m))qNEi1c9M_W{Ox{fxt ztWQfTJ+mxNM?0g;tfL)Y`ga}exYEaTw4J4K9W7dVg_f50eZECUJ3H@O9qrJ(BXl%N zepp8{=e?(;4gNmw6dmo8yhS?N`*}q=+NQxfbhMnoMlB6%(S99m$6#GQa<>m&q2t?> z`-6_QCig)dZDsEHTAJ%pw{8qzx~7{4rf=$U6lEi18-WYqmCu9Ha3}nUTE6P()$eL) zxEX$qmWIpWZ`RWAj(A^7!+T=3mWFplt&V1^xL!-c8vP4hXvE(P>4x)O=cDvKd1iMN z+!|i1BA9Z59rSKuaCDL1UVrnE%^TE|hLsHiYD)2?#R)Y9mV589ifKK~^P5jl5pYZN zc`8EjWyOD25$sRcSqI>aMD17c8$djxQu5yABy--o8q(lRgSTr)m`uy*q9eVqvFO}K z7oCoNEIM1nu~WwO4@BtNhj{;y*3FI7brX}|avc$~-~>H!di6UxBIdzt9T5{@pN@!` z@Scu{sZg&YVlK?k6KxgO>4=yOKP!j}T8VxaJ^F)=h#noUCr+<^TSr8XluZ)rM2~LL zaiT}>>WJu3osNheP1h4`71!#B=+RH&e2FfjzIU+9Jeuz4IzWK?+FYs-S&yK3=qkXS z#X=2cjtJH@R%`Jc^exyCUE0?v#S1~X=4YE<$wY4&)-)y)eaYoZZp=h)7}-#riC+9u zi8&M9_qp$fO!PrN=UV876z#;RB^)`aHT29;Gt(K!wUxC`WFX_YUzUN4Cx2Wf^7QJr zGLZ4~>oSn>{P$)cV+OpFfs8pYD+3v`U|J@!t>T&tWXyygrI|3Wj%Z~Df0x&%BII`D zO3M+PDG7(`9M@yg@HXLMuJ##yee}E>BXemcI)>)hjP&W%Z)T!naAswqV|3W`P|3yc zyq$?3<1;f89RqYkM!K!y>P&PD(GTJZ9VK$bAH;TPEY-2<0|P-}Ecu-@!AX=v!UVJE zrN6f1@d9DE1}a%wB5i4+Vh|XxV-zoumQ+r|2p*%OO|O1KOT);`)Y33&H)v@XvA47| zjF$9jl-q)lnyTfiuvJK}eVGpbXMLMF< zfyf%X7{yp^UG0rOHQ6(lslTuOrOZgpu$u8=d*Es<#Y#1MR^LGM{}JJ&9NgviSMQbH z;K?*(Qyy-`o}v~J7(f5-;Qtmzd^5m zzP-!d2)%y5_O0y|==HCKp;8<4`Xli*|1tFX`|%|owKiF&SPLvaSzfjLmFo4|Epzeh z?u4zvv-obm5H|;|#5a3L_*r;MxKFrVI7#Rb>V(lSt@zUP6u#2;n0AW~? zxDnt_#%qkn;oE$gF>Lt3@J~b1aIxWN!#cxE!w8-7UqSGv&FZtP&;UDv3#SGBS(XeB zNke;2oY{I?iTzNhpOy2cp}bcfkI7It4YfTv9)mCM0OAN#k3-2|7b{ts&Jhpa03*U5 zJ{S9OlO=iI$UKE9=3X1(=5yZO+yGpsBKLyRca@b|amx5xSxX(sWlsP{!ZAAbtI6!iLv z!_m+o{Q0Dy)z5f1D)abL(CjOlAw%Jmq*7HX&1Be@f=X2>ceE@Qn$*m4IgdXDovKPM zhr%hSQ?-Y(ArAXeP^Bv6j*{gvSf=*Q@m&3jk)Tv6j!)3Y9re>DQdHgA;R8?|06i%(pAeY0w6x69o zxfQZpXj3!GQtrNB3Ul9shQ<+9)AidRh3*0g;UU}>g00Rmx4M~ zDYsCT3vFs`OtNs+1d&mTu1)Zv{ zzZ~|ZpiWiF4a#z%P0cKq^Y~LxsjB31D4c>$RVSCjz7*7{O1S}9F0`qc<#HZ>3My5V zTn>d((5dR=a@d!GI#nsxFUy5CHM3mK<4-}Qs*=m0a0)tAom>u=rJznF;e^%f4VtFjr*PeHFr$k7g^DQSKR`c#p;px zYQlYLJqknFAt~rf$zBlgSJ7U%Kqyrr_CvHm)AXYt1+^)u4pDEq#>%DszhK(is(wxd zDZkj%R<*ftY04)~Xu8K1qx*EMr~0rE;aGA_XK<6)aB;5(7=~a7C5HzZ-bLAt|@`)z#fYe^4AKOS#0}c6H!l!T#3h z=F0X+r)agvnS3dyxU`UP&!pKL@uwV`{wg552;t&sdP9g@%9pZ<^)VAiUMQHdik%>a z4!ChuC9E`M5g+>+@yJbK0cTVqj65K*n7Bl zxOcGU7sLvD9@hUi8-Fsc@?7LO9ufLidg?r5J%t{-`&;*0?xzg*xnqXw+?OLVz&3XT z5&CDi$G8jKPS+2v58wkn$Mqa;1>EPl&~=Qf!`0-PhFF3HE~E2v`2RodOgXQ2p6A@{ z+~i#DoP{s=3C=^D0jI_BHN5$*~7#3*C<8h%PwNG1&eSy!fB8r|eh5b6~)} zj@u8IY+u-3Gn{3624@ZXY1C~D``rwI{Zqs4LOAOx`Pd2=38f5ITtg_Tw##xHs zMe!Xx?4LH@ZK^QeY`)ZdD*Wmr@TZt*9AY#ZzA?OGc+T)w!<~k!<--N(jJZx!9z^RT zJ9Qjqod_oBSgaP&xFdbFFpiJXFa4F9R(44TOd^Dt16rq4No{9qH<`Imq0g31;K+p{ zpy15*kCMc>{M-P<+oVIbdc0?(h-9GND#@s4*RFwf3u~wp7!jnKB^k3s`xj7{exX*3 zL?sHoNs=)?(%QRHv~{03Z00U?195u%7hMBE{IkA+px&=-AZYh#8VJ(8>IQ;xk0e8G zAc%MC8(2HMR#Lb{=Q9f=JepH=O$6~2eG@@FS=&U=PLfmx^aOZ*$L7ewb(;{c0KIX8AF%lIS$QXlDGmz2yhcb}S?_n9p=y6FVvaRCy3}p23712Tm`>Byh! zp)OJp(5&ZF1T?5xML<)k)C60_xhew0e-O@zk^Aw6<$rwQ9 z!>Cqk`7oq=v@|sQSuG81AE%|E`IS1Ft>PRl4W0N<_nSeZyY$5A)lch)X!bZA5$(QE zM?}M)(Gk(|u{t7}eu$oEt2kRnMB_h@<^{qC5A;hR!SNin=zsF)RA&b2^y;VdRCH^s zo{D~5pr@i^f7esdvqSY%bZvA7s;%NIJr$jkOaSEDHPMI7(i7xMKW5XDS{mAasFsG- zOJ)#qeQ5jBT0XRVjFyIWkJ8a>6=!N`!K&aSEe-v6&n5T_P$Iz{*=4$py#}NgD*CiZ zOPXH&Hw_6r8lxehL+5Eo=+9Fc61r2RA)z-TwIo}`85$DW{jM~*>b4BDb}mN z!{aq1^lqb;G`;$94GF!f)R54lb2KFMhCf_MB6@O&h6}wIt|i$jPScRkdZsC@leRrf zJNYnUmFRdU9H$|nR~xjX>D7;ENaz)B9Fy_On6oup=+zS%5_&aSLqe}Av?N=_sTvZr zs1IpK=;&M0@>kaxk#5pJmyXpD(W&)%;`HiAbwqSbG-d3F%5~y_ou%VM=N{J)(Y;YR zB04xsPqbB>q9dY5Z>o2H=*}@}3i=Y!P^MQuqNbo1qtq01;Y>9J?SD*7LE}fNDQNjn z4aHV*vYLW6zajmGX3}T|O|2X7gR$?nE}H@?@z zc*!94WZi*d9GLwP-+}Xw35>_OtR?Y2e~{?^j}ms}zu;h%s+0q z!*aRhc*}arJWHh|AF<7Axhi=^GLG;5#e6KS-}tol`uKlhHT-#l%aT{N;^IPY$ zuooC`&U02c4UP{Se|IDhv2Ukitz!o41uVE{??L-D_G1x$Z@RtA_OtC(+a0#ksI5Su z^?8O-D|qebfRgaX_je}$!Yw;_@psryvn%SxXw7oINazm95B3!@9t|2#~9iS zvkXHGF8TYLr3%teiIamucxkt741LFrSPIk7gG)MUI8d~S#wju$PD2S!&x@f1@9${a zOb+H`*q??5TzLR0LnUcwzsV`Fcz7d)=0@pYR2B{exFkFi?oUGxuB=@y8c0(uI0?|) z)=I5!WGpugEx4%A=A!&*sK1p}g}z{|C`v>BP5jVXapQq}Kc~##OH0ad5~753U<)hi zPeU25tW}1J($ImET6ru`l!V%ym(5K>6E3!r(|l=-`uhbYsWhEc{mps&X|4L3L*aBL z^*4uoX^r~(Z?fF1>Tk~DPixiR915p1slPewOKa5Mx65*~s=qmpKdn`Nb10n7r2gix zFRf93Un$GYs{ZCY{|?T zgS>1NQ~F<<8=U4+3o~vxa}b-GvNY7{MEMBwDe-y?S?R-nfJ4(zu#+GNoJkpEhO>p! zP_#?$zYMjMrJ-$?M2Qw)a-0TU$Ivv??UE?T4oqP##@R-tp?aSown)vEq0YiI6!Fsf zqA-Eum6fNVj;|Ig6RpHDi43KokY^!eq|Y*WjS8lrlb4(;nR15%OuqEsuwJ;epni+dE!Tl zYsqmL6p5DJzk}ZeEK3Qcp{OT)WOoOt1O(Gi(UU$ZZVloh!f8oKPj3yXgzKrQtS>Do z=`p}$aw=s)Nl#@0(Ul9Np`NEfbLizjs*?UR^z)>{!V@K%#FXi6H6jg-{8R-`C%r&a)~3kS zjYvaFuV7WrWL00Q($L(`m1|YAW|;J)Y3TG7P0cj%ho_<0uaPUwKKYB&Q1+7KPmDKoKbmkF+JCZ|Wd6kj(=Y-c zlTq>vS2ZS>h9Lk4#aolONPil30A$+mTa!3clrCc1+i1szZvF3cNV-roJrJ)qkRN4f zIxG%1F++ugHa#&Bm*HdNeN0IG0}XK~oDOC%HQ{h+I*_gQ-E!@)86e%l&nU7T!x7?8 zI1RG_ogoW{eQ8(>C=F8ioTZxf}|oVJ)DO%VA#{1_MgD+hw`17RW4@^Z3&+98k&SP&f^90i9e9 z`_ix(P|DpV%Z156X1SclpN8##N-l@OX&4Xa^Rz1D>?!HqW()>vyK-IK$VT9?wypg`R1iF`i66HKF7S>yv}HuMGm2+Te>L5XSomj|j-F;jT*67@@Ki^pcjm@{?#)e-Cy0D2_Ib^s zigQ!6az`tCvtiPY!b^W$W}%0>j7&*pgXr}fT{dW0NOXu6OEuLk{n-5uJ(MD{H2&~& zm8{EhmRY4doZ@kjr)Sv^jU=$xa)t_ZQo|SEUC7#91xq#(tqTQLo!30#5MimrG^eM3 zX)g)Vm9?A0M+gff=DO`9F1@l|<#>pyZsn-<_qEb{hF5;xEV`xB0cCAcmK`Mq44vT=~hSt!RI?|fWZhy7A5*}~xHu%4=TIl)%3S4A-WWoix`WN@r$ z>mvKek})Nd=yM>uuHHyj(X&M_dW3+H)CzdTsvvVrRYw=1*P25zN?&R`ZVI}EoM z-l?VpyF;R`f$(5&h)UuA{%_U{i3Hd5d<`kjk}rlEkPGJS7%VE$WD4-Sy zovS0_S&1H`O6hR!x>3i8W8UAWzIAgeLO)iK%hk}&#?_5&dg{=xh91yU?Q86j4Afcn zc^Rlqd#;{p`_%Sz2I@1mmoiZAuqE|W$ncewZPJhu=)%m_+xnG*CTNPe;8_qHgy=u|bK zZ_&wg#iShY#p>)7PwW@1Thz+|O<%TA4Gt+G15#JEQq2c}a3?BRAcq|>tjQ}Bk_L%1 zmnqI$K<;v?`R#B)>O)WWgeqJ^k8mAR-GWbir%XWZaHrGGB9c%|*(*|Hpu!%=_m1Fa!vCLmG_+cp5wlm3iDM+^ozScYCJt238>?dHu7q zr^^HcB?n$)zxmbGGct?zfvx$WFLgYJ9Zd*6HC+kBrg|8ma%+|%y4=ijn% zu)_+Z+<0IPNO}9f9FXE4Dh}uR$}8Nb4j@9JZ=Ck%v{!h<;4~J*fesDfNKbo~=SWTa zLy0&;t`-)Sub9tfS;Zk0hpIr?@Uo>U5S<=9P6ZIgqFDuo zJ~;FX704ZyyHN$aCwk9S0Ytjk%wqoZHMMW(MT%b7jj@O`B$iS2GPbX8?(3-PB6=qB z$`Fc5^W}$uCI@rTJI}j-LkRawyIcHgw!8U)|o#X4xNw?PMu^Ul*CNU4!G57gon?vXdU*6tRz+btcS8{6`=%l{>> z7oJ3S!nMnpsmSI&5b5F*o~?adZtVuL3*fA9l1I!ZBE8HzF+A4NIftb_K!x2mM zvJu0d%0`RMD!-X3*_8t_J2y`|e%fgn(81}!*@i>ziXRRa4X9}+PGd$EN}bqGkDqp` zk?YuLzcHYKhX&^wQPYFpA(}q<)6Vt!Bz54>#=_28z$$|oG)BrE|D=Z=UzIW<|Fi( z97jVv)EB-{_&J*dAl4&#USEvN4aI=xSvJ}n4VE#_u!m!z)as-4@>_?&v!b&O*VF5w zb>;Y&bJNgmReB1}J@UsBD+#UpJ9;|KO0 z{O)yM3@iNQ$f{R_TzYT1p2Ao9xrpI+m}|1D%w>0e=zJD-_vbmgoQs^3ol@YBfrkUv z22KgIAl_hk!0q_avCr`+GT@!&*zB0=ILP6%e{O%?zT1A8eT#jmy~`vw*WN!vBH zV{Av-8f;_XvG57}6?Tdzi7|1$SS7mPtMHN#7p{dRz*?bNC>5;Mx2=y^Z^M`UCTpX$ z%Idc4x4dY1#B#A^yJeN-P)iZ{0?+&xjYDmb@oq*MrQF|y;?P>??`AZT6o;n5csHYw zgK^$TP*UA+qw#D`f*MaKZg3LRNK!n5lb}Wp#(5_}Np-`G#noL17>C}0+|`q-VtOI3Rah2>qJe1X;B*HS2)1k}q&j1KQw!rzE|3;s z-!b-7C=R6pk*i$xYjua>&?1n`=s3;v<0eSg`;j=*2O}w|HHHr;s4FV<-8?o96+%6! z6>kja!uz0zXzy>|8bb&`Wcfk*NBvkv;?OD(jbE0rE{j9AKpv7l8hJ+cv|J_macCHb z4vFS!(4L|wPL&Hzdu=U?ZPwkZ5r@U0Tp+Prdz-fvskf_zap)CDhxayjk;IeGf2p+M zI8+Km^~Y$HN@!Mg=QhM zT$LvjhmL`htCFNRR0}4#DmfU3dO;^Q{Iez(nuUyVHJ(r$ItIO5jU>gPS}@Ah$iY1) z61jBmBb%FMxAs3vxdB6;{?Ae_{69-M#VAQNb&KxVkZpacJio?LPJgxut0lvG)-wx= z_3V8_-i4ZGdi0(n?Kv~C#j9@Jir;v<$-ZISo^|$|1zCABm>G=Nv(}zdtuK+qI;C>Y z8hg&X%#1ombDb)FHG3^GlUV$JfPb!%J*(J>jxl5~IEwCB$$Fh}WVEX(-g5*KGk_yS zFTBTby5hPoyytM%xi}=4tsa7VR>)g2g2i*?O7|=$Z&n;9naNFmH%ZnG1&cN^(w=2( z+s!Pwbk9=uZl=!u$~B=u$YJu~6Zh8aI0SJVOZlE9?C_}`9xJ~%a%;9?$G4m)&BIZNvS@;SH_AF$l*G?MSQ!5_c)5JOu1Y+L97t7nTfQ5b_ z6s=IZJIfP+PRnhUGcB6~i^Wo5zpyt@ zVwodcBW(45Cmbov6{`IEgaYeN)_48SI9j1KFZJKy5bW>TpZ1?)zX@6Am-|}-e+@hm zxX3@#KHW0PRp1}#{Ki$~>ToUeJG~dUUUdz+ZgHLC`_#MD{f7H7X!S4fz3N@(?su

niJXYpGRqKIyzkO!$J9_noJU*LlBp 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�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%0D_HrUa>XIgsC@=)P*%HhPb9pT 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≻>95T59Z`kH+!d~d{%&CG}SkWaKEOt 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%0DTxM=ra)VFEkLc4>1yQ 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

OjDph6K8sbroe$F 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 literal 0 HcmV?d00001 diff --git a/src/components/ReferenceSelector.ts b/src/components/ReferenceSelector.ts index cfd7487..40d3ef9 100644 --- a/src/components/ReferenceSelector.ts +++ b/src/components/ReferenceSelector.ts @@ -15,14 +15,13 @@ export interface ReferenceSelectorProps { handleClick: () => void; id?: string; } + // tslint:disable-next-line:interface-over-type-literal export type referenceOption = { value: string, label: string }; export type selector = "page" | "dropdown"; export class ReferenceSelector extends Component { - // private selectNode?: HTMLElement; - render() { return createElement("div", { className: "widget-reference-selector-wrapper" }, this.showLabel(), @@ -33,7 +32,7 @@ export class ReferenceSelector extends Component { private showLabel() { return this.props.showLabel ? createElement("div", { className: "div-wrapper-label" }, - createElement("label", { className: "control-label" }, this.props.label)) : + createElement("label", { className: "mx-control-label" }, this.props.label)) : null; } @@ -42,7 +41,6 @@ export class ReferenceSelector extends Component { return createElement("div", { className: "div-wrapper" }, createElement(Select, { onChange: this.props.handleOnchange, options: this.props.data, - ref: "list", value: this.props.selectedValue })); } else if (this.props.selectorType === "page") { diff --git a/src/components/ReferenceSelectorContainer.ts b/src/components/ReferenceSelectorContainer.ts index 38adf95..2d7ca7f 100644 --- a/src/components/ReferenceSelectorContainer.ts +++ b/src/components/ReferenceSelectorContainer.ts @@ -30,8 +30,7 @@ export interface ReferenceSelectorContainerProps extends WrapperProps { export interface ReferenceSelectorState { options: referenceOption[]; selected: referenceOption; - mxobject: mendix.lib.MxMetaObject | {}; - index: number; + showOverlay: boolean; } export interface Nanoflow { @@ -46,13 +45,11 @@ export default class ReferenceSelectorContainer extends Component { + private onChange(newValue: referenceOption) { if (!this.props.mxObject) { return; } - this.props.mxObject.set(this.props.selectableAttribute, newValue.label); + this.props.mxObject.addReference(this.props.attribute.split("/")[0], newValue.value); + // this.props.mxObject.set(this.props.selectableAttribute, newValue.label); + this.setState({ selected: newValue }); } private onClick = () => { + this.setState({ showOverlay: true }); + document.body.appendChild(this.createOverlay()); window.mx.ui.openForm(this.props.goToPage, { callback: (form: mxui.lib.form._FormBase) => { form.listen("submit", () => { const label = (form.domNode.getElementsByClassName("selected")[0].lastChild as any).title; this.props.mxObject.set(this.props.selectableAttribute, label); form.close(); + document.body.removeChild(document.body.childNodes[document.body.childNodes.length - 2]); }); }, error: (error: Error) => window.mx.ui.error(`Error while opening page ${this.props.goToPage}: ${error.message}`), @@ -151,10 +151,16 @@ export default class ReferenceSelectorContainer extends Component Date: Mon, 23 Jul 2018 13:41:10 +0300 Subject: [PATCH 05/89] Add onchange nanoflow and micrflow --- .vs/slnx.sqlite | Bin 2187264 -> 0 bytes README.md | 6 +- src/ReferenceSelector.webmodeler.ts | 3 +- src/ReferenceSelector.xml | 81 +++++---- src/components/ReferenceSelector.ts | 56 ++----- src/components/ReferenceSelectorContainer.ts | 168 ++++++++++--------- src/utils/data.ts | 2 +- 7 files changed, 156 insertions(+), 160 deletions(-) delete mode 100644 .vs/slnx.sqlite diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite deleted file mode 100644 index d837b494209b798ac1608074647b9a90f62e24a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2187264 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

aDbfTvy?$ff)@z9&H2R^NN6@4d(P>}tS=YP+8 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 z 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

niJXYpGRqKIyzkO!$J9_noJU*LlBp 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�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%0D_HrUa>XIgsC@=)P*%HhPb9pT z>~}41TfQ{|&$6tigQsIDs5dd{ov}HM^{WiP+V5aC!oK>oloY%9Qy42R~Leerkp zuY>fJ8;(+&M`?R&3oA)lQGc7zt{hk#@U8TTCATXmuz*}iPn(RyqDIjhj7kxnOq zW8ttSr}1sVnXOR*fcQ@JcgqNjYh-1#A0eWd&;m=quO=Oo9#%!*fd1UH2A1OIrU<;y z`4vmw6h^Z`ULjjy4BFsGII=exyKxXf!=J6K|eO* z#zh}XjZn1jHbT+%Z;Vj1D+yav-uh^{*$j@hU1o5!ev=s-?OT8R5khZGKTd_doj*mBvq1xe;`^i9T!P zE?c1u)4mhX_rgQr!Gz^dcyRNJL*c>JH;2N5zm4>9Df8Ddh&kc+46wFf3>3J^8UqD} zt{VddUjA<^|0FmSCY0^NUYia_V>+7(?6=@jpJ zz6lr|^C)=ojLFpKmS4q1FgpF8Nh9d8O#s94k9T>v2^d{|X97l-SDS#*)xg#9a1qw~v5sL`)- zEu*`SOpPwrXiwxOHVm?+#o%X~W6<$e<{0#SsW}GSe`<~a2dlM5592_#76S`)W1zsp zmt&y7#3f^(z{MwHpuol|EsC3LD%*0_7$~su-!V{NulOGJ{oZ#a>;R7Q9qnuJ z)%!|(Ztv&bcf5~#Z}(mfuYg{}_@C{~_WaNDmghla1-uMj`Gbhm*X*hGWV^q2zw3S; zHUQTn^4^HM!@bH~?=E$FU0=A~fepazP`T}PwYg@xeDD!?+4)!JEzV1wr#J`TDX_vh z*IDNDI6im0?ReC2o8u~Y3=AX2|0>5K$1KMr`~UE@f3N)t`#$>?==_Tj+dpmDW_uc* z{#V*gvD|MPw)NQ7*^aPP*>a%u|IBhT@&-Nyz5hkhUTM3uT$&{nNH)tw)(@>OTmJ^l z{~6XnWDs0xoddsq$?}2aCCl;f?SEC!^JlTZdmY`oVW@-t7ot!h6JCr#tyJ8}ODCk5w-vvN9Dm|nw zsE1VlUJt2qGj}5DuNT+C7?&Y^V+LHu{6vWot57^mTPj>R#xAaJ83R!l7z0s#>llbC z*CC$7`jv-3*7*;Ctp430kX23=C`0%3^EV5b)-@b^Xng&OL*wgwhsIama%g;&gLV=> zooe=ULLf|z_RNvr^2Q->HOwQeqkDv7d|!sKT0tV@$#I%S^#_9#e4j&8FZg8*_w|uXG2eabI~8z!gDJR9G6h%v$`oAr zo#y$K1uqR0`&8~vhSe`J($!H^SCOvzmqxnEZ}|~S-!*zEPQ%7SAnO+%0$FD{1hV=U zhd@?-Lstwwp&GGG!v=GB{Q`4%9lsnJ+Nr+IoWAn^=mNs&Gjf`Sb~9-G5oXX?KbS$Q zuQh{Keyv#wS=7?dW`xzxH^OF7s9Sky<+|0^80jkir-kv);f5oPu=>M|uvyxz2lH-r zNv*!xNLTrl=IK;KEDh^Tfc5iCfU~|e0ajmS0<8Q})442EX;^23)gNYr&HBa&tESk% z@+8XbRsNTS6j5MW;Y!2Wu`u=ZV_|0f-&mOHE5^c9e!(wb^fYRvDGjY-AnNCiftdC6 z7>Mf2$3Rqmu9+rT#L=+E2&Jw&d}f9tLlELIg<;N5O@P@|%>O@{_1`RH|NB$$ z62zoy4ORqgfn?w>$o6+Ud;sPJCi%bc|J{F!|6Ko0e~Z7`AMkzX`^eppKdhG5|_XF;0-6y$^hVDM-df)Yo>sHs< zu3pzt*A$l>Sq2U|Z*ZRG+>Y!51&(hVFW~$AXO1DqdPlXxVIQ?WV87D7*S--s`CPW7 z?IC=z?}vr{VYrulDm^Rx208eSmgY-&*3Ya@TW_)c)Y=Pg|H;TA@G@-ie`eWbX|Ysb zc;dgBB)qd%z~MrEUd%5 zU-DWScx-EWQs2rdO>q)#+vKOo+sWugT(A7+vxEOQm7+KS z|7}eZ8R@h#>?sNOaFb^*=Ti_dtL;oqz=?Z~Iy>5 zR#Ou2D2gC$qd+w!0dMY1 zcc5Al>xMlRSB9#?nw)@BH*bsuAQ&TKY)JyX-JB^##f=n%?n)By>{cmEvb&Zg6rb*H z)`rIVM&+g?q4;zYO%uH4WpgC;nSf6>9~NtcrrCsSasr;+d|1dn86%&_7AR-L?9XKh zxOVfM!KmOGX{0Giz`dI(z_&Yt&X|8H z!zoS3-rZDtxg3i`=%6wI?{0qhp#vH)^Q|}8frSY;ddqzw8#My62o04b;OvT^C<0rcP0Zg}Xrw3sH*lIVBJ1OR9_pMF zC*TB5j}pUEeUa1R1U$eq1RIB#$Whk={J%3jY#fZ~LcA0vWbbbp#zwt&Z&3o?-z!#kMJ11Gsyi5fiOA~Mi*EC|{OInnGS9pdG<~JZV5lX-_ zJhK|@x_~O>3Al#SIm=jJ*4p77!%!;{a1y783n~$9a$T( zVOW>CW(pH<9j7hGo6&{EC`!O{JTqY9!&H)h_jqPjO`~Qc;6SeOi2y<7s{>zhwVm*Y zZ0V)$!B9eWDW@I61z{?-JOP(-b!yE+a}+1wS*}ioF)~MC0`BFR$uJxZ#R>SBXX>|w zhr*pqtgmuWoPd|PhJXe35D1DA@HEd%XPe=IR-Aylx!OSIU{6%^;Vw?V<2*yKes_Pr zE>1#80)FS2i6jDK8rCvdo`COpW~vm$k1mSAlmtA`GY5x4WC&zYnt(5Q=8;jzgzkzH za7tG>j&$!b>_E7sXC{3;2!#422{@)_2DEM%`g&ahp#+@MGY{QbU39Fn1pLx7hbZa4 z48tf&z%f0uEQ*dyUDv{d?3_+}uQl8`D6m+WfO9$>`0N?NT^DD0%ycqJ67W>d3`V9D z+6pD$t)3Z-K4eQl0`BU}FPs=zqu+h-R?p0|Nf3_W1YFiL1T5Bz&da_qA^WUT^M+tB zr3v_~XI7hgy;Ce*b*82y;JBXIH!Wi&v@c4)g*`LjEr_};4y7~!KX$dJn91#=Gy#Wp z4ar&<)RINJ%1luLUhSG*)^>_6{3Qwavu9SLB}VHZtVU4+KJA(o^y@J>0oV4-;nosc zcHD0GhK0jogp!g(sn8Em3H=l&N;E6e!t7kdgQFr*ta&T6#Kyix6$uRC$_lL|{4;gk z6>7U1+!Ng;c2}ARX(v}T|57J+N}@o!((omR54Vy8TO}(=g(&nsROO08G zGhY)Z4g>>P{!jf$|4aUZ{@=sf{~T!fclx&>;@=Ve>Hb1|`+tY8|F?Wk`R;?R|Chd> z`%Z`#}$#J3Mcw{47 z>o^>l2z~Z1?Q#24h#h#d{c>a>+-*PBzS@2m%Rvb5|4(dj+Y7e81@5%{#&&^ix2?~% z&9=tYV4Gztwz;K$!V=&Q(q+<#Qdck;d?ENy@OC+V|E}ORMDIU5SQ*TLwZs>JRN%$H z!-MU8c+L0W-9cWr+_84UU1asqiL|hL@zoz5jAdMMH{5A?&T_xyM#w6@&&rxaM!uaf zq<)~txp0Q{E|_dl-3JkNXZoV8@NSY@{O!-qi1cs7`)s3+>#N4Df3 zrRNfWz2u!hoXH`<*T1=*yIKjrKd zUOxI-vVNi^twEp>B~-~o$D~|y%=rBi&N0XMuJGrLfjQMboe!FAotob8V5TE@5KQAc zNJQ22Ah0ze&#|KiG*y#qm6%hafrEP(vAulO4$8gEfgExSUo1w}@@dPLYH40<-hQ<- z=dd}8)zb9-=|klCOD*}VN0Z4XzRo&!?CpVxMR&iPVl~HzK>TYY8qSsnhgj9&9mvVr zJsge6btX~DQ#6Kg6kk$&g{GL_kl)0&2C#k9(8NrcH#~uoLZh~Ip^G~LVlAWH8UMwG zPx=1P0O#CT|GEJn~(YERYWd=s)Z!Suoh8$J;L=-@R0fX1&80BHCK z0f0s?laCG-3s80#*o zay<;I%5y$z`T#rJ#a;u$YTl`@3;up?fVrjy^f0VopL~+BWl|Rj59Ir%2#kn(VRH`D z8W_T5rZvDbcYoK{0FxIghYs(Y&*FOqAUb{C07QqE8i43*jsb{{en!5goCDs=zjctZ zh2HR!$io0|4qC|gpA)c!7f647y8~5A=oL%A3lw}c-c;= zLB2(#(Tn-4+ci%O-qiF-Q`l3)9XDlS8C)fa64kMi5{X+UVmXWb@u zKFDI3EbCbo)0RD>o|Lw1D{eU^U<l#HtDrxbDYn*MSlN9DD7VP z#`5z7K-tMWRL~#Fml>r9R}=1>@UBq4 zW5TQ2GOoPJz=?kRgz+s}JTAd!Y0K8lp2y_Dbq@Kg+#{+pR)eq-{atV)$J`aYTJ(mz zDYW3wC!sI+a+Bu>PMCK!MLccKYKx6?S~W#HXBTUVc*rJbig?26G(|jKf6x^1Y@M$y zx~BS|W1WdRFLPkQzD8a|%T4SGjLcF#>n4=0kT1kY|1_=XqH)Sz!k$Hqqi;R>9{Pw` zg1s~nV>(S1MVNwLZSEW%=J7Zuvn3 z{IBIZ5%6%!qXJ;wzvjI!0#2NFKm?pH?-T(rr+H3`2xywKLI6yUP2Vp9hNtfp040}| zD3?6WI-WqkKmjGY$f!e zRd7F||Ca~8h2{VKflC81WUZfxjP)r<18zW;`VRjRe~Ir0-#-xX?`q#ZL!RZu8FfhCJWlQGM9+OV0_OO`bZB*PU|z)%`0({6E&+=q^Fdzfso%u1gTj zZ!IGE`JC@NpF$MBlcE2g@62(0=6Kz4pW{;K|JOqQ@3FsU|1-YW_u9AOYdzccne8Rp zZMF+-$JsW(0w72FN_thg6Vdsi(gsBQFSLGVeam{E^=j+!)~$%jH{SA@<$259mWwUN zS=uafER!(Itgfq5uY!DMfKoQ2-Og zdV|8JI0*$XA0}&Ji6PQvCEpuj6hLh;L|LZ)D8n#HMr z(wC;9U8WGwxk)H{Sv=1Upao1Q2?Z}_t#b!Us~}+Wl2Gol5TPBz(WriEs3__ z)zVAaeW7+)5*k}tt~ zH1mQH>K7-W(50s)62r8Sn~XqEl!QK)MjVOZBr!CQpM)xx-qnN`>Xs*=zoli3#1wsA zGj99>Q78!wE}bJFGMeNhp}wWf9Er*4ZVW6`B%#A4n}!H1KZfb0z7%ItgmP197YCYL zzBmYpO^at@HB+91Mwc_KP&Ms0q#a5^r7IE{-|yu~=yi#xuQLWqjBcFPEc=Ks{Ng0E zyR-l*kw6eiLa9sh0|JA=P$;P=bb;;DA84T@6uL^?zLh!ypimMT-3(U$%6&@khGrep;N2~BClL$Q&C-Y>29f%ITqCeV2 z(c9F;C`{(cYt2+-hAY*SWR9#W=1CNINK@nhVLCCjmGWe^yy-aEO2iyC5S1n;$>Tvl zP=wN=TbNG0ot!AMOC-j_p(Hs$o>L;AgF$SfJUL!wg*y?OT62^p$H}Z1g0U$V>B3}C zo*1?;hG%4QG9Vv#+!0diMy<|EWzw%06q-77tCZ7|K1bFP_TCcRz9G_pkV9wfQJnP3 z)5I-$*$Y`%kFumkKH52f>hP%cSd?_j+n3Ym54e(~OP*?uS6mF$7Ccrz{Qqyw3ceKl zD>Bnx68s4=0Imxz3{FE1z#kCb@0Gwqfm;Jt1WpeO1-1v4BgS7rz~=wR|Em8%|4oPj zu*bh0*#N3w8SsTK?R(jG(07;bDp&;!`?`ItkPnpkywd5A5u}hC@KNtw-d}lt=KYCx z7a{@7@lN(m^nCAm&+`(Z0sPi;spnMB0I~us^BnG(;u+`u7IFVxc0cI8*?keD2Ro1x zV5xhKyWBnA^{wk&*Nc!M-0Zs4b-)#MZFjY}>Rn|nzw>MO6Fi5!05>?#ckXreIFE!^ z!3<}f(~2m7uR0!b+~T<0ak}F;#0FUHn1_slLHjrMckM4g%5bCoXO@52Pqs(x9rksW zSM7`JGwk_xr{$pSOWQwfFWVlmd~5q1;v=45>$co#Ye$ZN8e1-6Bz`5Or01kR!xP~u z>163Rsax7;xlU@5W=e&U+v>Oe*P5{Y-Fjc}L+j1f%dKZxcU#W4_E_7kP1ZVVspyuF zMUM3BZLxyBC>u_};siS6*F(ck$mav+5Zfy18=>Ju^34WZIp!OVXURZ20O6-@!+vt( zLRov5H|(SCSUn!qui=E?hnBq^+P75$CBq~TxWM*oI5oo~2h{iJ0ChDwK=so)KvgCB zsh~zz&^YURGZY+9SFHn7KcxdyO$~mSm7q28%nu4~LDa%&hLk{nlE%uJDWrsrqrk(dz8z?2m=l z4JkxpBEvECKkN51yfEF;YFZxh%C6WBt&L0CK|a{2y2SLU9Bz5V-# z`fx2nmIR{uo^K-^w2jwQUQ0Qbh~@0L=G(Tu+Zkh-aQNcBNIq^gvUU3u{8j}^;x6=J#i5wToVV)mfccbGxzrkFvi z|7HfQD&~72a{#a>d9M*xe~b}UH`xfQe%J`BDxwDg>yWwaHS95f>bdj0ma4AYKvn&a z0aR6}3`~1jY}joEt>112tt&HwR#T#6c2;WJtqLg&WbT~}BL-0YQ3g<5sR2|?>6KXz znYOA56jrp?)`plFw0@fzv@Ww#v@KLWU`AV&udJ4O18x{L!s@pgVRf0Eqt>ndi;=D> zPZ@XS65Vi|0aU-m0IJJun@q*(KO3m3a>;oSbEvt4Hw>8o>o=PK>k3VP)%TkKt8$d1 zLB7g2M0J4rO*%kbNC&9CPY0;VR+dHk1<){P2Cd&{2Cd6%7;OvH_nOgGO;VOe{g`MN zFv9BP7lSq@a9w7rsCBFVWUN~?kwSl9J#dov`-njJIBDoN!s^?Nu(~`Wton~eSk(kt zES7qus~;)0`3vb|Ghj1K3Zv{CQF7;ucxGovRjB7MGhi*9$*5lwWr~xWi^X#G914#j z8zZuu>1yuqoQuZBWzVL!h2{&bVV53K-=>GuQC{&5O|9yC^fXoD15$~V(NM;)oSzHD z>^eT1k$pA8;hMd>*nJ}BLL)4D7N0lq8Zz%#Gw7TOGidE2X3*&+oE=%*l=Cy8m_3sm zx_2-va@B*y-ta#59h7sy7>Mjzdb+~e}6#p*+_VoIOJZj|}gx*%KKafk1`r z-*ZgC+0$wGa7n7+-|~#~Y$Ggt8a+5Yk)4r|n!S-8oYC_2{X2Y?OcFnj8ct^V|C21X ztl;bL|Gzjm6l@R93+4sB3OpaUEpT>VN1!24>i-T=|DN>!!GE!Tum2d>08I6JeV_SW z_5I0riEj@g`p@zOydQaA^4{&e22uXHy)E8qZ_x9J=XuW^p36NadOAJJJu^H$_j~TA z+_$(dfNlSg?z!$f*aE~|54o;K6#rh=Dp##*qVp@~YtBD9uYpB>mvgCeveSZyeh)aV zcbw(ubu2>;KfC>(_9yMP+kb8!w6DV#x{quE?y+5gr~sX|WwvSfBL7f&Ub;iN067ab zON*p3WbAv-`jquI)^n`=)>YO@YnElya?tV{%bAuQ%L>a>i>)LDg+3GV$%p#V@DRB% z&D^O7l8RH%=`$H!hJq}zRDyyOwE9e*DidIFRAfmC3Vo%0c8@Y?9~yn7eWEb554FD1 zJ_v;N^HR|0GfDCeIew|yb#V&Xd}=r{*s}(9&JaKfb*H4D$Y(A?h(kyOq+?hPt*$^; znu0c;$uR{ofutk_eLjs+ZpqL{C?zZOl}3d61t}=>X^5z=XR|Z~UB1%4Ig5oUS((pT zClaCgPzuU?CZ}a+18cb{DD;`SkYR;-`6(##nF0s-*LV56OIXm*$qR*Wv8IB&t)yM zl));zFePj0VIVM!SdJtfRnY}0XzAH*kkLZjPzw5awwCM)U@}8c&NI~qb6HR#2BYc4YPh?Moj5<}$i&9X!vu)QC(Ks@w`1};~ z?Yyq+l%V3uQqZ$A4I}fl3B#PDTgh;((v+m2Y-hVir6Dg-m7*vGr90<9X+_{ZF9n4= z+nPOyO(&jEc_}E`If_R&P+KibLBUS5&BK3ghzgCCr=VPCYBVJ}DDw@(GbIp}q@Y_T z-sKRYvIC*oOK}Q{b#{g-&FGs5rJz}-B~zo2s@3yT(5lnqhFQ)Sq4Q7*8g*W?3jsUG zUsmu^yrMGZWb||_SssY;i42&=xn}K0s)_&g65ntMR>7pUJ5#M zHsOTRRfE2qswoC9Do+I|sLI(BO9@GI>tB$9nw%raol$5tl!A_&%>qP?P)k!%R<+$w z3R-d*3xhZ^CsMIRDX7P3pwU70%@@<{flvwxa=A9)g`RU$P>r)0M$h_VAIfkVX_O@p z7itxxpaSQEp^zg2vM2@BH)jaRoRw61D#HaSXuXxno!w%~`6+0-d9MSA>8ooPif-O; ze}Bf;Q*F2~1ywhD7$_Eq;Z!V5LD$WW9zwHCZXhX4LE)Wg!SEd9rJ(VqeZfMB2)yN` zpzG!+`1R{hvYNZQZ}%WGWL7!OOF_*|wfeB?0xCBJB2oge+el_L8q-C^@l)i z3JPt;F{>%GnV*6ln=NWr7&}nkA9UEP$xdXF8W<8+JUa#LHG6gH_FrKNN^3R-I09sR z)zm4-OF?JNrj^hFD@7?NtJ&-T1(l>>2b83su4acJ$7g)4)W*wG&{nfERiQAuqZFrP zjkShI;3JfR#+p5q3W0zvO+jJJwkpS(^-!3CvRa-33`D;e`6;NW*_87Zgw}IX&`;+x zobC>kmx5lJ=1n$5RY#qdf!~0GH8ic@;QsaKPS+O{(A3wUSSvpT)iW{J zzZc0&g-Qh}D4eOq{(h4dp<|{Nb?>pf6!gi&;tu^aH75m4GSwmbS9MsWDX5RxM0f1v z!D);ZTcH#*$ZVxLHitWR@h=Zmdt8xn%BDrTDe8=-=RBGt01&l#TDt4w;Dg2nfwgNlE;B1{4MXi`rXp%F17$9UCFRJ6t(ORD!~kg>SHq zk!X8#_pmOMNPa4duOHC-m{6-0Bv0n+*I^R)sWf?#JQK|Re6W{k_4P3`l0T6Z{|bqb zz2fAFGXI>$Fb@^U6Xca)1l=R-vf0AS$8@&t9@{Nh&slzJwOwz!%65@7-gdfekL_LC zpOFP{19aT8ZDqD`(htZ4_>S}pwA{ByzmP5o{x|r3a5VUG@X6qVQor>vDP*_8EB;rI zADj`~8;l@_Kx=Suur4@RI>z>e?Tw&6@J--D_!K-F_$%@W{3>u!;IzOGr0)O`3>c1TR2E+a?e;cd|X8Wf=;_#{OZQoPY|G@X)4&Sff zOLd|z;yX&3icACZd{cbmeRl6>h(!3b_fOs%y%&2=M7DvWyiMLpZ?4x#c?JLOdBAhC z=VH%E$Sk-)YVj=gO!s63YHSknIV?ExZDan1Ok`ybLT&tPa^B!FP!H%hmnb($vNFQ!I_091aCW@ za@>nJ1eZ7tz?kEiz*yNb&nCi%bU&FWdj}VdIMf*YfUG{5{m!QkO#(JCeGV4j! zUTZ7z3glaUu>8~VpyjvrdG>OrtGz`FcU8u3p2qz7RL8B6KNSZu)fXYlrorEN%!ysa})12hfk<9hxUA-u5S?H9; zgJ$!f?YT^&+a;!^@4=O+V>rBH(=K_|Sr;8K*#D#LO_Q|19f%CXfD?H=@P$(Qu1tgN zN3$TpaD0cwW6kd22(okIB00$UTK`Rk&UJg{r}Y&k_Qn{M&xGa+b%3TDbb!UA%hFU? zc&?73{yQCD&ae(p_ctA2<~$vs=2#tIx}MXjzvw8Y*713%S-K4K(tMV-)N}zYK#%=d z`rGYzTK;o#2`xtyXBqOl?umsxA%Vt9O{&E$?7C z+RtD^)j&&6=i}iY$BT=!rG*!2ONZICr8#@GrMf4zrI`!0rJ7!CY5JSmQq?2c($vGW zCGTUJqlmuC78mLv3xB4E946@@bN1*Vbx-IaGZ*L~H9Pc>>2K&ERe#e%rq;`6412m` z>>G&REf6b;=VPwc8!s;G1)~)F_!m9qNd+wWm zr2{nGtphC1(*YKquLIQopaaYq(E;iX>Hst6>i{)mgrp1#t2X^L9YvM?$eKDwM-jMK z2k_6;?A922wXYr2LrN%9OQvJ|aE~&DkPKv1T=}+U zHI*0Kf{RUnxyp%2uR>-ihmo#)OG_!g3Kv{t0?a*93+zH3ZdUy>6JQf1x{$}vAyY0n z7?dVkWMJ*cz|g`8(zHyO$G%>WBh_U;i1;ZJ`##I%Qrd|()0;`6ae9#UzoS%w~er-kC}>+^}9UM-_IL+%K&Qn z$SdU&Rd~4dA_cun5#=}k(g13@i*LK|kn+LU{0lv#=}!JC;FqS>^OZ(wAOopkqIc_C z3d1!ST}9r>e9MQ2WSI3$z7h<;7_z?Mma>W0)(hp^+-`FD3BJo2=pNob#NWJu+xbRf zcdOwrBqdDrdiW{)j;aEcg*^PHd?6JKOc7$Zlf}Z;*ZDx$WodR<1+D_n1HQ&L@3TYTqxFb3dQNK3dO1igyK}P$DxmgUJL}` zp;pY`S2bMMdpo-#{Sivrjqvw$`RAATW%8womnyQfxV)paC2zL2Q-cnV*KjpA7)g3Sfo7 z6{ex`XCi6x=r)Sh(@_00(K?~A+6IbH8p?m(HC)2=`ynq4y*~|xIgATE7o?%{X98o{ zS6o2mr=j%cEO+W>AvX=JKb!Lb9#mHyXkHrHe(J4rpJD2t?5C;gWZ~h}I=N|R`l&T8 z(Nr+l6Up{AqGKhse!ECo)e%==&K0h8;q0*=cC{nc}5i+`mO>X!n`=1mEG|VI^CzI)uVB)ccG}!W)!J ztvdp8)6nJ^h=-u0m<(@_ElDb~&YKX!3aj>-(Wb&A4oLXA7!* z-f$DX>-DdfDd|eCrHk-b+Cqj7wUy#Dbp3qfqyjVS+tM_&{e1Hife9xCX(;^p_!Tvp zwgag9l@8Qc-6}z08Y+Jp2Zia@Z<*3Gl>XE|p>eCio)lj)MQLdNX=7wag!Rc!!vcWj zSP2BK?HvXHa_0{pN1KL+%PH&H7BQG2QY{2R!!t^!@ep@ z!y15@erc(6y_BS34?t&&rX``Tf;5Z)XaO?e$JG%Qq+tlak&%&zZtLczVF$q873_f# z+AK~({ZH%0K91MzFuX+z(l7wv?J7D?ZKtpR$RG^^f)xNCPfIEw75ikj0_nThbvzwiUK>)ko^orA3kcK?~n;7ym)lE!Z8kPWz1L!u^i6>M} z+9`LWd%G2V@v|p{69{b=rJ>+wk1cR5CUx^tQ1Y|cAiPkuBn1^e+d)7r zGc`diNI}ET=2@l?su!l9+NV+B7HMQUHwDE$+agREBvi~x;oFs1>W}JPA-O4hyz)vB z@p$s!qxUK68(GjZPeF#guWj$!-m*PodjN6vet}4Pr`m>X-L_WSLfZ^m0ixmmPkI+I z_a2q*mTr(P3w{!e2cJho{JVoU2d@sEhu8rF!K0!3Ulgnf<^`p|e*&)u9)Tahb%6_{ zmcSlJ64nM51ga!gAO|r7KJ&++>wn1qN9*_2FZ{ptU*rE-M(4lO`Y-=H>l^-Q{%ph> ze9!khd=0Mio#E^E9qZfRTj^T}pMxpBJf9EQ2fy(C+xxcndGA5*z1~~lfpDJpB;*|E z@^0`h_a5$@?k)5NyjjRQFe;rOg*;Dr?(y6NuY{i>`1^X#63jT$2uIF42yY6z`2#Lknt`l4Xt`66c zu4dOf*9=#QYobeXe&PJL^JV9w&O4k}IuAH^I#)VpIZK`6U=i@8<2~6X;8w>k5aIAF z$BB+X$5zL3$4p0o!wZXm5AAQmx8aZWtL+D*t@en0wROn4-MYeBW6iTlh-LT>%d@Zu zxRVKM2S}sb`fDb7W52tju&NDjIzcSA-oWH{t?irIH$igAZX`qdm%YU#tPDnh(Exap z$r=fO;6RWQhZ)ry3UCA7-U{$_CMaZ-xWtY?T@dRaAvnliQ^*wzYvWa=cgVMQ!eEiX zUSS-vCf0`cvhvGJYC90yqc-(1lZq20jPHHi3_06xGYu{Svsxc9QSCsiYj>o-XE{0g zagpza6PTQyBN%-vQbgeq**=2_(FRzdd!T1~851G1()QBKuM#Gn9*Fex^oRE%W*w^( zVmkWP$Y3+GTV(b%>-%^2(l<+VaC?BwA_Ctrtw}9DD30o*sgEEqJ$=3&HNQ++W^Il3 z?CuXYlLcvbkj9c}|sVh|)vG~tAz#?)$!R~&Y|j$*D= z2bfI}7c^C7KCYvvwd(*g!aBgTP90$C!%TkKN}Mi-Wowk=IE~LUv1>+NviN?XxTruV z9`-AtIM*T+XYUY-GanO*wKkzRqem!CJ60%8eMl$Ao=UoxTH?{mN~A+Xl8}`F>EbXlmPYDx!()=S+=u z+8?xomLT@uU{7Z2uE(496qSlUGoCsbTJ_SZxPYryM^dNAB#}S{<$wyMRf+OhMfFp2+ z9Qk+CQaz-#msh3$shgTLh1MPP+@tpL*?dmA`#Ni*LnE=4*TnLIFU9iwlbFi1H45!O zcscTq?S_)5cHcn1z)x{}}rY@VKg@ZSUUg)m3%X+?!;}wp=hSvRtucj4XE>AxmpZwxku>6~@#M2)%|9 zdI=?bKem98C zRer1d%n)M5DMc{5>q72b$Ldq>$qnM$&5~d1LyK5<3gs|w?k#%W9G5;c zt6LwM!MamQx;n3(H;r|t6yB5$J#QlGPARFv-}Is}yzDPx(UDxK z=~LbB0p0Ib-EXJ%d)YzV?;YCjCBM>sFN$fu=iaRSo+D|$XLV`6XFRL@uJdTWr|r>x zPuZ>gp7?}3__d@nSxYhnA?Y0ZlOY&2FAu>O#c%cKICEAb{xw93&>M6%F{h~5V@EAN zg}?4t4IQcyfb>@}a75eFC;de%A3j|+vW}f{x^y>*ZJ;+^OJJnQEk_u`{tJy^=>sLJ z+Roiu*60Gm59k8^3v>bL&&s*gy-fKf{Yf+hra=R>K>x)aOPhJ4*rqgU1w2}rz+mu*UYw06~F2j}z>{aqO#kPI1zuVKx zLn6I$h@StEF)Y1DYrL8Aqos@uy8XCz#}jtM+w6!}^7&Lt4!wqCa@h5wrCNtBQ>G^E zh#hKmxOm6UP2pQj;p)|O_l@D@tehdvwe&rU`t^J`{#s1$|ED@e41;gGC!@FG4&R6S`_yP8@)^9@ zJrubVdivXe0Wdb=4SyVdDf}SLa0h__(1e?LIP_`gMWFp%89D_X0G9#j&mGJMUkKg} zgung44Z%4;_xmRBPT;Y?k8#`H7g!H(07d?P`rpPK`*#0%{yu*z?$%}gVZIN2Px@~3 zo$TA{tM>)q5#U+xPra9TkM*{AXTc}HH}DDY3(uAC=eN_-^g$GLa9 z7rV>x{{N=ym#!OK-*@eV*S_(PQhX%6Al)NfBqgOy(tN25egWQhKH{g(MpJ=p&Y=C1`o&M zHO5DovNRL~MBSNfsykE!MBQy(y~@&im89$FG1!z8Y62pu%}Y{g8j1p_P`6y7OL;5C{r=d2$dC0L0 zB^0HhIzTe)l<8e1mWH|j_eA^txYdllCcRBwG+?t7)fy+3hSq?Rg;mm8orc~3&pl+Z z4v+2D9Lm$sAmF;oQ4Do2PD71=*A%!W4ipIl$Mh^ZIt>*90*;^~pw^XB(@-5~1UY%I z7uz{3x|R=Zjz2jK6@o?fkxfGViRldjYTYJZLj_9G&@G_pksRzb=(AYy2X($-bLP&zU5e+sysaK?-VW9AB-mGJ3 z=o!%1Qu>tyYGtTeEDdD?g>8KoEKRQxOH^3b8Io3{p=uyX#x`yPKaqy6fyf$si)utg z8kz>29I~W#D-ua*8hQq_J0zKJD7qvKEdw5eerP8eSXF7L7|;g*dakl#d($vgq@iiR z1*jf#C7egnqBBOhc)F<`eYv2Rp>a!;}~*1tKv;Fz`y! z&?w-ZgV!c9`_nqSCJkKzI>!yP_w9{uOu-tUdvBMq&apHU3TV=)aST~hq-A9SW?Pe& zq^so8sR%>T(lm4lxYF=VZ9;b{O+%4@c>Pe|X*AZTG7U8X>J8@Es4d3Q&?TTM%MnZq ztSk*B0vbMSrhF%6uOG_(e&AIWHgt}a?XmZqUIz_kU-^b%c>hROhKa+C~$ zrGq8~&hj)A2WS#1d{fTQ8c=dxVO&ndX($cQ1f`UQR3&L>3~*I@23gpwRkb7yRRO^= z1D8~$hs*s+ZlJmnJ;KkEmbN$zRRJ!rn=KqPPH7ri0$k1Rj{TPIhMoX-H+W_p(&98U z1w@vXib7R@D+=9Bb9X~ofJ+0*)ZL|NC=4h(ONT*UfD1FLgT~TO7vLF#43~}Ps=(3?Drd|WD^%U13UrRJFWMy(lk^CM0+~T z7pUqqv<2u()ZgAY#4W5c4W$8ID{>Tb9_1gNs+MlOgB5)U#R1yNQG&73A3|S%DotAH z8!aEI4`qb`;;z8|Mjfy651}xiBqj|dL)L-lb;BNY+~kfN6*)XIDKZjRf4T6h!1li@ zd`0+s;eFxO@M56*j|}}gl))?f!=YP3mpPsZoe@ffI`I;}JTwRI@S{U6yuyD7g#V|2 z0eDOBvfvrPRIn|0M6e-P9SjD(gcRV(z@4zYKNx5OzW=nq2-pG~^1tbS+J8S@+t2qO z1it@9|6e| z9^+l-o$np*9q#$JC+B$$2>f$lt_xfzxVl}NT#dl@FLgPkkEM5`hfB{yOJNc5 z0T2-GlCG7`lnwyr|0rn*YzxXIA29y^;(XQll=C6yEzV1U@qZ9VgS(t-oeQGf&Pk4& zqMt<1a~8wm;2THQ@kZp4$eodEBIiX;jO>lR4XlKd;d$|=ssMuBg35l3w!jl8yUFBm zXB|$P&Mjlu-LOu|;QI5{V?`=)bw{{gpUdX|ZV4E|+0CCA!rsjz^x=hPF1%PDE?!Z5 zq^TB;Em0!{W%x~$?B8-}YEwncq>xR3=4ReTMIKPpidqn}F!o6j#+2|=I z)yBm?15lvA+<9Ge7}HuCTUYCXXjl)s92N;fF5wcELc3AY=9f0VCwGJ(xL$2tqL#h8 zt_yB%5a(SJ39%Nd-L<s5B(oJs<;Y)?0xF?n>Jwo)-ZS6itVp@lZoHydlMROhwPdq%n@ z(a7maleY^zC5nODFHgk|jKw~&Mv}EXiFO=mLatZXe|hV`!Syf)(sUT!E^~@T4;&;V zIkZChYQ-EA$+;_dwis&usEz#hsQYxm5s8uG#Z=Qou1#~7Pcze&En2?GOgsG1rEAT! z*|*M{WuYydbDWtrW8bWA%(S}y%v@-uP4m@VZl+DWYua08+QiN&pId0YNx~<+ZljkT zUv!a}%G6%;7~Eb9pTQgn1h~Eatsw^7UY~3r!0q*C1_In(zbK{}WeT^~W3&+5UQZXB zkPy$nLC@J@t3nuFsFU&9ejM&Xu9wSQv$4qzbmO8a42N5=Zc(Auotu8e4u~y0-e-1h zdPJ-ze7Tg<7)Is@3lT$8ZzV3BGiV`VaK5$>F*=7?h!~#BEJTdYn-(Gl=rb$PH))QA zh#|UAp2LbDAMIIVBB3=i&7`GsQYI2w@;4I+?O0$Up%s^!NNB?wCK6ikshQ-PG}}Z% z?Jp>G&ESzVzBHf_tL-^x%M5!C>i?BJ2X+3TJqPvtq}Vl0R|9c`M)|Ak=qSC;j*haw zw4$hUy;mrIm`BooS__ zW_zqu)NITMR}Ibp)DK*TZc|xhdvqu(J4;72kqW`#6nB zHH>e$K|XcTrx(HN#dlQBdP~O^^%#WT`=Td`?z5k!?sG|4(XQFpR z&x;-#-2@K+rIG(c{t|g6a(m?bNKd3WQX3f#biQ{W7x;1bjBs~&U3f-#bm*U)Qz8-T$V3w|5S1fS>k{~q}Fs}1@B>A*9Ay8@R54g_`vmIcNIy#7!9ulgVIU*SIi zy7f!p%}>JX|FgdPpikfD+u)n)EAsvqKKy>`y$2ffr{aFU94G(*&!_O-_lW04XwC2U zG<&8&U;az?AKeeTZ*-sT-s4{7o&?*4Ph79Me&MbbflUUgCW_G!$E&fzkmKzftmqTNA--M@yaq#G9X!@21~6m%QH|fpt^PtFfY`@3^gjwK(l}(n9SAJwLAm8 z0+Fr{-z1hXYPnWqpjN;w(PL6;{PK*fSwL4R!mKux3e5shDnGqw=}I$DE8u1-nA94t zECZzi(M-61XIN>CS(<@Xfk-IBN^87|Oovig9jvs*k7b}zK*Cx*thC0i&OoPtq@re6 zX)Q`D1I+?82g^(=$w0e+$5n=v)>4*apk5$Y0#;hjf^Gq`WLRlEYp22zu+kc0fQM9%7OC-L8CjK}LkBCZvCA@0C7{vKV5Rj;C=n=3 zA+pz)#Ti+LK!%mpIHeir5YV8iu+kc@ECVe9%2I=s)|g{5&?Qh|r8Rm*25JM;Mgf{E zKS65zstj}mXwwjU6&zZNQJ#U404)n8hGAltW}qiP6&73ruP6gm0TO+Sud|kANd{U1 zG|ufZD6^gg6#-_+h{qbMC%WvE0^22cN`lvkn? zAZ@efDzzJv!JB_E7~E!!UXj5gKTU-LiGlq|#!rQM`RqC+U2z7l`&8}YI@ta}srDI8NA}pLza6Xhe+X=xwpOJAgg!Rb?b{Boxx*1^#IwP zNi9l^N;7!JH;jSCi)G}OeEk^c*?7sHfE@c^XwoLvTVt1J@S0DPS{|ZWsPJptk_=w- zX<7)FE=aM|D#bE*&!<6IMJzeO25@Y8+>o*_|LCMN28d}6?&b5fEi z7yS*U>6y7GgI9gZ5G+H6RT;eK(?>!^lvjLGYfY@l;ANkV&2o$u8$FWh44(L@r{p;6 zc;7M=gqMC@K@i&T@l7izmcd&;^`)GNNwJ|ggU5cFx5PGNU6R35Kg~1je(YjU%d;$l zw|*Mm15nUO3>x2-%QATFXJ!|!1E%Njk__JaIa6X9$}7*{rJpA6aqT^W7Eef}8Tqwe za1ANTGV*Ib^Gv!9B^kW-Q;Ezpq$|$gxu4o@Sx99Wy!KNY29wHdMr(aV2G9NUSr{Zu zUmN_R44(X{$C+7XCxt|{AOln8v89evXpup3>v6k}6GkED&xP$RE#`pTtG@kjn zAxLXlImKx_@^jaNXQ*f_jaPor#O{REH%D3eBza`|z&7PtlEz(Bv>!}Ew&iJDK}A)C zLj(gi5MDd%amQ7|q7~tWa8=kJ`ZDxh=oujFUju9VMD*k6qEJg{ai}&F3k8G!gns{< z!DoU$1H%4g!PA2S!EM2%!O6klfqw-uc;kO5@SDH`fm;I?1o{I<2aXIZg>`*pAcD94 zPyFxuU+_QbzuSL3{QsTeKMwZ)-}sO5uY(`JiT)A3e?bcHn&T?pFMQVnVZYb64OaEj ze5J4k_=h*^eck&cEb4FYUf?~^+wI-rUE!VWt?@=Z|M47h{M7RXUj1)}eZUVqy|AZW z;i>nGfpp+Q_aEGkxc|?6t@}dv$-oNSA;0!}qXOmNE!VSn@4wA;x$AV-v92~(vuh!| z2Nt_r(pNwad;u^0w@a5x-2Cs@wM(>VZ6+HvU2%96HN8Sb=!UK_;VOMc_ zBpK<5!2dyHc4S;+1O{abBp&6HVRm??D^n<-O1BI^@bCcL~=ADF5OEM1`sEIMBom^WP)n3L26X0ain zob}B4I!@h1y1=wQ>H<>^=>n5x=>lW_st<&9fze}hfl+_c1xB8&4|M4Q;bJmsViBt% zY92k>LK^jzg*5UkD`~HV6fROps%-f$RucOfoMU^zdttNtZkEoQ0;jI-DlMg4umxx}%+LzrN zZ@A1tSx%ThtV_$9K^Ye?yZx1hqgmfa9_K{8iepjI1iTKWcjcvn^yC8}_LqP)iaI8s`m- z>R{E9hKzh8-msKlWkd$J3iPFtio2x^OJokPnEUoNC3<_?WwnA$4-;Mo(wI2(c(du3 zVt>P@lg+XMJ#w)W#tR~DxHS5K{c^pT%z#%!-6t<)rqV5sh-~eR(xB^&t%I#sIaJH_ zMT|P!I-?KBP40-R^eB7A*2kq9M(-n^CaHlfY#^Fa?dF!U?XVVJbS}3<<c-z0LeGm5 ziAVO%-GnKUqNwgJ^{49(JgA9QShlIAM9bUli1T=o!(6#%Ioz_X>DvY^ernhc?CHzS zCwp_?MJVx`;lYw>*>uJbjAiVD2L_M$6tPKD6T|uF2+Lj&ovg-Ky39mabdHHIZ;FX9 zr{6@F^@)ivv%y5DJKsc@_Ns|6h2bf5HJvnrXFS@1+gvY(6Akya&*H`$IlCt*jO^|2jw<{Ud}-FbG@X|LE(r)2G@lj`tx zcvmXXpMXCJz~J<3#5Wina>Q;C+i1SJbg3P6(OGuXd6Vp@bNcM4vp%w;&YW$gilYUp z2j59A=>j{S6Z^iVjx}ixZwk1T2u+-&YmDJVVpCE1^JW_Pb5h3etiKt=b?;Qwk4mJj- z1OtJO0)N2!|E2H%a5VJ(r$g`m8~J587^1KMG{!2Uqo>tESPt5%1ydzDUQ4Q48Xm8<$T-usPlT~sm?Ya>eV^NIR5T<3orja za-8hw1O~tibb<0$nuQ#Oq&I|$ZhEaR&O!)7(i<5uUH7t-l_fB}GGe;MD#}6vL&8$9 z(CHeZIE%M`&P|xeXq>TGy!w+knt^uW$qlkOlOcIo7VrNgtCJ%cn6a#^0f3{)W|k`& z*kxI00En~-V!Bp(Q5KK?qQZ1=(=+hyPYi*Wt}(`B@#s$?dp7#h=oMK!_mjvE-*-)7 zsPSW2Jo=N&i}|v|P-9nQ@#Zg*)5DeJg}yW^Km3b_Ekj+4vv~NY&Q+e)RK<VeetZ27rg zu$%ezsj(}wc?g6j2}oUwQJ%$nKUYr!QrC0wrCB$-wxn)}mBpp#>lsC*E&lKx!>Uc@}yA zqWY>)x}FO)0KruuB{Xhn7J2|QgMf%G%po;iNfv4VG*7_er!S3Fo`oKOoGEU){GHOc zC0S?!$O#!pU1L>dp$8zwvRMbDu0<%zLLq?m2n|SGW0qv04InZ$Pm=PitOn4XRN*hQ zgt08t0K^2uy+X!-(%2PQXadlZHvp+?{PHXm0z`9FhzpHdmR+kRPnQEYt=>%UQR@GHAPQ*g?a(6d|e#V^nj89caI8lt`$+1 zg^Gb-;wZ_7L_HG<27;+zm21qBtVzE>W0hy2U%(TmPsJhEbD>_qTn&d@;}&P3U_f6F z8E9PNlw_e>Klx50Acg=M*BE26P%EHg0RxR|^s+2e3aH5% z(747d%1)DWV*!)KsLVp2fF{`<1Dd!NA(n+!0ZlSBf?YM9ZY&G!0#2+$ z6W8({lZA!>HD!-N9p%z3)Dr@6pl&!U_Itx7l+Hd#B5%?Hth*F+~HUZC8If{W>mW4V2*9=^9 z?y)Qs3V0mBwB}r#g+>7_ek$CMYiSnx1UxOfal$9bmsaKCEYt}^D#mKiI2GBTn6Sc+ zqx@K|@k_JNDWF_cKaU!(Bny=S>O_cA*~U*}Rb`<~K;tK#t!<8MrCBHxaK=e^@g`BN zmU>JU$^^7tOW!|vW;b-Oh5@cam!OcrnG!(GSDVqJ#(-*Uu&FL23iG57B*#P zaHXZPsRTpWfyn2>UUWP>3}}B3MlOq-896?(FR~Lj{YxXWBIAM6?+gDUTnN7r{sWNu z9|+$TzAAiv_|)(~I3C^_UJGo18R6=16d3)VhW-@&3-0PMi${SW)^@L%me7ZwEj{M-FU_z&|>1&Uz6_fOyk zyzP75_pt8{-_^czeJA+#`L_Fx@Er!JLK!p({t0Bkx4qAMANJniz1n-O_XObcZ}%SI zJq%KYGH<~1Pfx+~w&!`z!=5`lS9{Kbyx|zndQYQgj%O+m`u*;&A$NGy{ag3l?kn5} zA$vI5eT4fkSRRzQ-M}Dx!}TC+4^D9QTC=Hcl>@puJ%tNc+`#!~H4yN0s)eP1G#=(asijoV>cVdELf7AV1@r11RuDelga+ zjPa|sp3o=8w6|vkxt0-cpj%HNu_DE4fd65YJpVF$OxqB`>$aIl%C|WlEWPM2L;?js$+b{e(AGL<3Ad%*u zL}<~g6RA!8qz}f97FsnB!0juj1x7YX*uH$Mw2H{h3{Kw?2ee=ZKR>9(<=dOaOKWYT z)R8JKIf6hw%g8@%S0c6TBW@~S{NtUqd%IJ$-LT4#7(Ko#!4H7z3)GC&c*1Ihnizi< zTVADUL?m&QXs#eRC65;W?XeFWSpg3=y(CZXg_P&(GUCDbJWE!y%f z%^EAS<&`1mPtn4o_$a02WqsgD68v`oF$VDN7=fOHcy#TN;-Wd|2GVq30Q<2#nGvxT zUJl?(Tk7Oxl7J2Yw>Nwv4}BuOU+Umx-rG)Qa4SyI1?Ka!cNaK{?}YjMq|KDhf!!o9 zo4<~P<|?JOPbeuQ`sN?WokfW$sYW}SbBmb!18^cHLHHBTq@cMsIxJ#{HGi%vs`L8p@U;BYE{n{%`;fpz} z=C`)T6mB!dKY~3KtXAW%`I(WwhHg8^eu^EUe|%$l%7h z@PH|PuPF@wKv+L&|IfeP7@jcM6s|Ic$BXe%+gr7a`D(b*#IJn7n7-0f|I%lS{8IMo zt@URKe>QaCdyVA{=VvOdJ;Pr%<~RINQ<$|BwETuMlCv)TDW>=bO<{if*QMXVe6{^i zF(1_ajpj^z)B1??8~G7l|5|+_ru-wDjrEDFG^P*#*~s^c^{dv$FXp!vW|!w(RR6sL z?Y;1N-T_DD&+@LM5J6x!HEOK7js?G^V!Glz&_^akf(<;(TDX~~u@+u=jWK@J_l@D< zBaPwECf?sf{u>YK1FX|1=e)2*$0=iVNtsi|knT#LP8Ti2Z;3J|6yn{F%Rw^^pKS=v z`+*@ifxS|Ql(h%ildy{yLMz{eq%fmr>^_)cSM$CL_yEQE*9sGt+U{Ob6H9tWTUoGy zNa3>PJ74RK+C9l$-+6qd5V?>a`r17htGMr6{>lsT?m;q!^_{~X9zlZ1oH#T2&gL&5 zQ@1YTg93inrH)S>@dKr2(E6!|=>mc8@rMWT0w>75(37Af8;A2DE#A|UsD+|_58Y&s zdPhW&MHi)v*iIrYF*`Q$CZdH~R*Uv2{1w}IzHxlymgt-JuE>uffY9=9V~{mjWeM66 z#%q@Yhd(b`z&LJmp#oyjYXG-MN z)s{-M!Dtc&g>9tgDeovx&z4<|#7&H)7E6p1Ci1S0RDhW6)9d@B(tHagj+6eUg z$+)o|l3sCclYS=MB%Ln}N?W95QmqtregoV2-#NZ6cZM&ImO7q*H@^h%1DC*8z^G6m^i=55P=Dx%(8Q1wd?R>! z@cY5N!It1+*bj^jeCs&D(dF10{V4Eh;7@@U1CKd>N8LYlU*kwai{M1}epm;rbuVy_bY+}#qvtzbcifNr z{L`)nTsOHca-HmSz+b>~j$b$~jXoFsG5jOUiiQ+rfnkjCMb;y@JOD%+nu`0kJ-qEj z2B#p9IE=CDtu2cgd4a=p9R_6)!(tHy4#yxq6!xZI9PS(snU<`Iy)2F?6mN;c(^Mbp zK6ciLoC(?tx;uC8dX_PKdIwYOyV=0d9olt`KFZG9cRnr`-Y0z1ZTob`VT_dl|9UAx zY+}2i9qV?S&TTPJQ#;n~=tgTtI{Vsn$;Y}HoldxI9vo=z;cMHG1K1(eMY_Frhg9WS z=yWzy3An2c95gyTtKR+^qe9Wlloz?S#J7FCy_2Cin9JE4m>o9N^grj%THCaK`}#|) z)T*nhUb0dlSo$y5S!q82%=W@TjdGP)ddJdVF}8`|3oRo6{>`!wf%$hWw~kvcwlM96 zht?g#4bX8hmLRurPE1zraxb(9WIqG(;g)9@Zi|WBxoXEFm!o-JF%KHE{jfTvFBcfQ z7;&kWMucqKYdia}CooXps5?9g*2GN9fsAH->nCM#b zzv5OOQ~hUArt;vv`p(t&idEOhQtZPYUGlg-Jp0zUKhcK))6}C6qwNBtvrnW)JNL*X z$jfg2yYoM0XgzfyhNLfe?Ss&EAl|;eu4`rM$^#~n^!f5jYFtaGMSX1qCDX}<^kn6V zu}MMVhD67GcMRllF%K%`0R?Kv65D8KMdHCBSV(md&l*bAKhS*~jWU&%vQiQE!f~!9 zQA;|?OebDlC(ZP>QCru{|=;+$LQS|Hlj+kS9&oSQahw%WABcd(KA9JP~0YF)~{Ay`Ot zwmKQ;W5E^cHIWeOtVyo5qGq@e2ruw#F=6igp8ubC$nQ*bluY^QMq&T|ii3Q9Fxk~C z>IDoMU|Y2%4$wprxZZ8zmcwn@r)DPGZe!rh{oDP&;-J7Y)TyD%N7vI`-^EAz)8$Wk zpJGE!w+@;)dug< z{LSm511fQ_4>!$h`rJZXHmAvDA;N+4iDC~GJNVe!5Sqs{2>{ zxz4q1=vYAXZ-WHAU5)-H{@@LjsS;ge{XS2yA>xWC@A2ZXiNY@-BF?)*wZl-ccZMpA zVu_62p6S}9Z>plKkyJiCVsWxRYwnx3OeO0Qz)v+Ff6#+(@@}HFfj@)Ew!|K_$LX4k zh;N9a&Ov&VB2g5m8(-P@rj@$-@YPK`e|nD}>=wtwRI+h;V||&c!Qp5=p56+ex6A$| zdfK6~(&dZ+OV@8?2^8Gk<8>L#6qAk4W30K08mwEk?id^D;&rVy)RF7#a)_)O&ya9@ zGVAZ5=Qf;D9y8N$Qn}4STRO*Mrr`v$-%P9f&y3%hX*k*V%`}|ry3I74c;XhCZ{pKt z8cugr{Bf1r5kG!I>4u5Jv~D146dFn#dE0Gn3RPED{mh2Ee%ty3(OJX7xOg3(0-Cu; zJ4SCI0f8{qL7uy#KOVN7u4fzIC%i8yU&?@)y|eWn<6SH8!4gP}8{z{nvB>jbvYWvW($GHvsHi}zSFP&Wh<$e@ynn!#`rgWV|+24rIgeco`Ya}4v z)~~rM`3|aHHkSk(rw_Zp(KXEN$GiD$zO!9f*HgZPZzEpKC-_QyL7?${?)|{~5_IzK zW}W;ay$kSOJ_=s>3Z6d$mG3dnPl3yKzUMU0LENubc;~3^7KnneO^oi(A(Q~6I*H3_bzXn)?wp8W4~YMBou$qoOABswobG_r+w=f~eUY5qP= zTJyhVz&9jwl5?>e{;$bF^-z4CLw_TY9AfZ>Iq!6OpX5+&DuFv>I}BXvlECl8tekfd zJ(!x9^L|8vH$fbL%$cCc;T~H}b0LY2E$n$$kRhiallzJRz!IrRE+7G~kvH#hlFSJj zKDgwEJkh76IG?1>X70Spw3^9j`t*rdsBK6@?0J{cW2+#;MR`iC)wv`y*68zosMV;W z2Nol6bE=EYa&Qq_}h*<=4qIsl_)daiF$C ziN8$5A=R^$3rLtzqi_SOiIgg7D)|0orC<65RV-Lkt+$xH5HKMv zi}jdw2){9Am=wLW=k<$)|}-flug3zc;yiu)C*oCEMGJQ&;PW zwCh{LG!cy^TFeNddNiU=xNLPA0?K%i_W4e+8#wJ$t5F(&I zi9Aib>i20D_d-E}b6A+76)Yy*mi7TwuYyX+PD(4N%G^P5+jmfLf((7bmPA752jTD9 z!~<`2H?~@wHsIb7n<#1r9UoP?SNaW2mR?qSVPL(D>r8~%hnom>U+^51lfdCGYkkRC zjD;i~qbQg)%XEQ}59$IVN_aYPw3c`~NfOYe?KJ43O*jc9+=qvi3@8&N*jlXb)^y=k2J~VIn_o&y+*YZvq;__2z z4T%eRhx&8*DWu*+SMgT)hx9qkPW7&>-ojs?Wu=nQ-%X!eC@wQ4a3bwKe4;T)=(n?e z5aoxg#-2$NNeS98Zjd_XhY>q8@?Nybb44*DkA+}=mimq)u&+FjlMOv`(y zD9S}#zPJBrvb6Dk#zm*DdY`7;5SbGHy=tk+j*s&d!}YCtcZiDX?&|LhQHF9+f4f%N zr7J^s=@tTF<1PIyV}ZKZ>J|OX2~x8z!y)eHZ-^n(U(VmOkXAR*TrgbA>r12tKtq+DLNxAWYk?8Q}m z$zvwMqAC+%?rkQ*9FK`GYrlyw<98-Po!>;5)@>q8iJJ%$pXLvvs3|Vv6RpR$^#`o9 zs-IbD{w(!_;pn&i5(}w{@v025{QsrRULlzu?taCSfh#D#+RZXkR$fadm1c?~e}n*` zO^Sy2_#8tO)v<`yMj0?od8y-*lY#OKf9ojA74!hAe(Sa$tJ78h$f<&qYIU}tCxW_d69f-F9CD3F?EMtKfa7YbKKfz-IAIT&4#bqb|5 z*%KD$WE=tFVMb}GVmaUlkR=B=Dhi~=F3SN+fb3J4ZOXMI2Rs2XreUTb+w$D;N>zn9 zje%Q|1CoG9Xa?Xe&jCk(+Ng6xrBx@E1B?LG7Ms56!AWD6-@ZS2F# zazGdmN!JmYf+;B=21HUDo9ogXUB6+%T0`gL@m@;0^p(4nPB< zL3Z6$o|DlAQi+w_xHQqJPwVfp9MA?togwRJrwvtOmgImnK(mfC^68+jv5IrR8Q{6m zH85!4l;;32zzyvhNTgDH57g3)%e4uMUjP!pE+7R^mQ)I|TVw9!xufMgG;0GbkD}Zz zVSk!3fgi+jfEeJOfJ1Pr4OUGK@B(C~l>&PxJFOf*29zvp?6h(K7~p0j3q!Mub6XXT z$^O422T%d(#pGbGX+J2+0a1YLa=|j>R-OZ#0Ci$=a5tfo8Lbz~b26epGBvonRk(iB zx~C!sL;;#F#8pA6^nAbyD0~|bgjnt<(FK%#WqS`_y|v`A9B>7whlp*RGo?9T3(!m! zdI*MARpfvyAWFuE-o`*L2WSD2HTX>e+)XRFGzVk>&Khb5LRoXEf`ML=1Fisfa(_>^ zvA3#nKouY}Md5yalXbJN$N^S>>jiz=cqhd$)O&mm$O2@1_(OFl$)W*>Ks4^Xp<9>?24<-0eQd_#Z**f4(J19=BmrZP)unKxC7j! zXt^nIaSo6JG}n{Dp|RG`SPn=7JWhRB29|Lu$t{t`f)M8omL1Hu69QptGAV!c|F1Hb?;B9l3KQ4Z(=f?*ubiW~q1c)a1Yq$j@7T$j?^ ze7RScZ)ibD4ln{V(EyHVGR`f_$shs)WGic0Hl;a$2vAQC#FIGY8S*U70YiX#8ayMX zEC&byYWRS#qB0~a%>h9`WZ55YHzq92)hj%bvzgKXK|rMAw@>}PUYP@g0L_?zc;{e; z*d6m%K=n? z#zkfuDpi~VxBv|&F%6uG98d+QrHYn}X$L9K0a<{yeT8pGU6PY=1@PfCc{D1`0at+A z3N2|jW1-O9Vb}E=~TE?Y001I$?+GRiQ8m}k^OaWTf!V9~`h~jhowRF-i*tYzpb@9UhGv%K zfFnRX1WyHV;iN&IY=oSQ9`E$aurvqs0BV1tx7)fe13Z8W1J9HSxB;AsHRDV?89AVD zkW|i1JRk>9I$&d>Z3bRZ4%h+I+X6RJt9(%opaIMr0qy*^6@k3}6o4 z@C~Ju=47CNK1JD7E2umNpaAN6z8(u{i^eU<0WN?xhu-evP42-;a)1gDEHg}8Q4T-> zRCytr)Uqqj0V9A5i^G3Jr)hnb<^T~u9o5TRLla^-86==L4x0kYhEkHnMU^Wf5LyA|0Mr5|7?Ge?`z*5ao@iXNdL{g$v!_k{ypvevG;WEZtr4m43_xs z!rR~Fu)tsMnF(Ki1z`E#o{w<9gV2nXAXO7Kr_l^jGOO(oNDS(hg~% zG}`&O^A)_uU+hdeHvx~|?lhSJ*)zK~ zY?XOjNNGP8QLLL_ERQQGEpIh~VF;@7xRlZvk=d*)Z`wu6^SGGO#NZg~O+Y9$dE80q zYQfxQ8e)qdwTe70rL_5LaSU~c<>ia1%!dM>eoL5?$HjD^nw)fAhJYQc%Hx)*Hin_Y zOt-i4JZ`FLW6W4jWqDjxX+CmA))`l7Wga(GwWn3TFZ!XtbybZ3L4tDHSW zFtoEekNc`R+Tz9=H!hg*d0blQpv^g~Nw$*OwDl@dk;nB_?eH~8Ts2K4;SQ^ngg4~9 zK*Kdf!DUt#1tt|{0Jn-fZnU~m)|*h=s`9wYs-v+c$>U)tq#}>|tS$%hc#O;AT8pKk zG?$^zEYqthkK3)T94kOtWgd51b!669k0h5M?=<8rKy)oR%wPn-SadEAcGl?A?Gq|5TS9IGp9m2o;&=5ae#`)gG^ z)!J_S6pzj0ddx1c2=^Qj;6=)^e9H5}(uynIRK-2|`OLODVk(^wvtWcAyD2*yKwbsqO*wZB#z z4`aq&lQ^d$j|;OpYpkcsnmlgIYBlYF!D4w_oz+@U978L{=5c>kC&zNtQVj>f%v2k7`}n#a|7T*bK{_|;5w*oktg^0<-nL`D?b+K$iTUd|h#h`~n; zYojXjxSey2+mjvL-CJb;X!=&;iY`|M5n2;=pG{oVx$ij-i*%$SFJIT&+DT%((JURR z&f~f+ieSEtJZD@U*LEHuk%he&rYesMyyz9q$SRB(pT{*`^a{mj8A4`JmB(dX%Sc2s z3}i(f_j%D~%4owN+x}|Z7R%#G&x?;MZ2m&me%l&6?sSiv~IC% zI^*)V|7+to!~!VILl8i>rZ%{KWW9E+W6Sao1JD;ya~h{HtMiZo&`bhT2&yfoo>(5j z02&xIilL*5@(>BoJr8UHqbv_$0F|rxRn*EY$wL-EcQwVYqQ)x9Lk>V03crdPqbd&( z01b)k%+R_vYw{2U(7?(uG{1^kF4cKR1gOPw9GmlXRUV=NT|unGZfIL94*>!7iJXaP zdo0dFN5WcEDNdTp()fl01Y5)EvbHqMilWfnY(x zZD?sA@XoL+9W7G0CA=v3m+;=ev4O3DCBff8FMfpopJ7+xoAmC4m%d3}zvpw$Tb^Hg zZt|StITqge8iA!Z%KZiG?|E7vH;hy3SyRyL_xqgoq{3}9_z<=N~uI~ep zV0-8%f%{!6Tr*wep&z! zI8So!cW!Yu0p;K0NIRZ#+~_zd`fBu7(Ho;@1pgK7kM4}F4(*TDMMp=zjJy&pM1B>y zEpl;aQ{+J8=*Wu5%t(2}<7f$g9)1@H1-n{5iBRR1vbLjp04n0OsV;z- z)g?QUNymH6QU5bey<=~+Ymw8b<+HmTM(g@aMt*mMddD8N>}=~#;B){K0aB*L^V%S( zz|;;f_5kKg=(O;$q8SQ~7>JSoM2E9kNgISFdxT%Dkq?g9Yo?7TDSBqOtAeU29?XmO z6*~+Bq}pR3Ajxm#Y*gtlA_*fQfN4)XUuS{ z))>2c;9o1Lr1;XFF~hM+VE|vRJ06eEYnX$!$97i~+cL^}%Im}s!j!glzYvX}?Yk{R zH2evf2$6G(csD}RkG2re_@UGeGEE| za&~=Z1my5*Lq+!XCq(^r+K>_ZSB84*P4tsQ0>$jGqa*$!W;$KD5r4ZK9q}JF^gHtJ zs};h1q}etU59xks&X3@skY=kL9r1s`h#kscVJGVVo=ZPleN0+$UxV<$^V>v!O!g^)c2=TVMNe-MCys z=Z?^##LoM!GdMJJrlZZwWRIKt<$l*07@9fLakN|?wM=}ol_LE^@@6`AiEUjVna~xG zB?{=!?Y0bb>fdb{=-5^6O8qQwYaGiyS;&u=5DMKdr z>N`-K0$|)N3N;KU$UoJ`SBD6UyF{Piy^B^AMjx~X!{vZ_LNm4QvhP5&eTc3_^N$vL z8Mc%jG7u3m>V|90<)QJ{n8p{Rt1aUT;#KDH1?|cq`UtEai9B@M3y4?fJ3{R^FfO<0 zIFK*HS$-_`D1MSrI}VIX!C1$gB#P-xbV7?wS-w6iai(LZzHBuwbXALJ*g%}$?=c9V zwV7!cm|xlt18Q@FJqMGhQ`AH^-7sp_>j_HSsl*gOE2svJ=aPkpy>`Eah~4#fqIFQ| zVVss)*t?4?oVE;Pv(J`+te&?{9kis~O2v-xt(A(l>=5T0*7d1P_Q0OlbQ>D|-4W^? zU7|8*HAo^ z`K*|?NXPd_Wderm$TJ-RJ_1WyTa=hr4+Supe=Nm@xyQJ@u79`=x!!X<@A|px7S|=f zvft<0>{{lk1CG64`a5jk|0q2zJt*BQ{ZKj$TJ>$wPowWg|A3qIozbhK=R}W>?u~AY zE{RTy7DuJXp~$O|N8suHJYWRwjkHD@Bh!Ep=!G|dL$Kw4I{ee{HQ{r@J>et6i^3Da z;n3eg?}eU*?|{ppPY@3^hvtOJLr!=Ncq#a3@UGw`!Q+BEf=h!Fa1;M5@Iv6xz}{B;^8Lbhqwj2A zzi+E=4bTmy`C`5>Bo{g~Bc)YrDI{e**CATq<11hcK-R2yRb zavS3Gzt|8bFD4t1wjSiUnS^GP<0%$WeUpVW{R0bW@**yP^3r6A4JX?W>zCOOr~lc8 zIQek380B@Q;Uo*GzR^OO{wE7*@1AiyiZ>9M0awv*YS9JiJ*hX~k% zk8F7hhm12ZT%_aNks@22_5m4Waq*?xrf%}f2=Bkp4?qVm{vlZfAwhF{a(|re8;dXD zp(dzMp&T%IvPuwdw~J3R5gNKog!)<&VLBUawNa)bkI9qN7~(y4@%K!G2KFq#NkokL z>82RdpEnUEvmF;F!8=}@-{}^gItr#xMq0xjE3JN-l{Wo3D{b-w9!qLT6Oa>V+AkK9 zR8MMPw0bU8iB&(|A8w5|{cS64@?4pQZM<74<031q;W#U; zexa2%{VgkPa)TJ=Bu=kN5f@rW4TBa^{b3f;bhesBTeZ9<&yl}RAkl)kzz}Rm8G`i; zI3m&`@^tq6t_CO1CVN8!75ys0K%zX)x2HEG?dkRN?djA1XiuL!i?=b9OBy&-AiGCkEqO8<38P4e-}lB@ zX{_i*c?>nun57Cy2$Rs>q8luvF-zo`#DYK|+ETRZt+X+V<*JZ?4aipX5`d_&q%FDZ zd-5t%g``E-nJHryDM?w7T1(p?6@INPc?@G$v~_E3xke0xN*J?{EVBWbc^tf~P)1i9 z!($F3m>2L-PNEE z!AJx^mK2@Pmd8`=-MH~#dYv;QtD%2LR(->etm&@~$(lSv^lxAPAT;6V$l_#F22@O? zI2d39lm8~W_& z_44Ln&S(0|_VFjz8tIL))PC`q_Vk8cdwTsWd;0X3?CF!I%LCE{$M3A17-pOz^fFUw zyZ0z_kmg>|Rb-?-1ar&+kykHXi{!zT%oN8KQIGiiTG*oCbl)actsN z;N%DUIPxt)%0;xqeqc{;=&`5Q*W1&lGq4pMBaQh_Ru8K(oyt6ecL6OfXboa#Fwp8} zTH{TB!AhGvm3K0vmCc10pKc;F>@yMSXP5}n|6n3ao}v)s%f;gFn+OdI-oPhkas8;T zGsT$xd(!_;4Eu6e^sVTF(H};SW$piHw4ZQvne4Bj@zLDNT&=j$nKt_D|;^riHIbeD9V)CC;AnDak){eQ%HrSk;mR_A!QVNz0;*xboduQ>7>? zKx3OUN{DUNpsg-ISDRJSz}$GScXy&kNa(fnl?AA4v*MH%#ZZ1lLDAMmgqHRL)-s^2 zt(2j^erjb@6rifjYE{T$y;Y^Wx&TFOB@5OUUoOyBwJa(NP}Nqd33W6}go*-mw3RYe zCwd@eGc=>B0PSp6AwwNV5tt;wh8X1qsAscwE@D{nuP#6{TdAY0h-_A$EI=z;siPdl zP(oz^O4%G?51w>Z^(1ziJTJ!z(8uPn-h+n$`ITGigz*I^W3&37fJ`7kK;K>{L>Zep zwg8=MR&^86R%64pM5-=8HJjUmQ%QS|_%Iu_w<`;Zf;LA{KA&2BstQoh=04>J{GBsq zF}48hY_5v8);D)V>Yt3s%6-rx6Pv}?#Xl_GvroN zfZ8@|IEo0ZHb@H<1t@Ow^c8W;wi{IiC~b3B3x12m8n?Ev%rk5i*O{;DEzowR*F%gg zx}1NSY6UfJU9DQ;gjZ(-M5ro2k6T}=#UQn&plEW7dTmhEV6=X(DL|83SJH;|&Q6kY z>36xx0@S&6op_|#uy9fVs@!7mxOvzny6hV^wg9DWo^zr~YwQdystZu;<~b)Ktv(*t_WLBmgUx02mFL_Z< zlKRomn|8Nx1t@pV)&`$!)EOGw)FMT{TV%G(T;ZAm^t*Kv2aY49$!#&yhU|}P^YafK*w7Q6GHO%{I}-6`=7gnuRYUq~_R~6se0gBsB%7e2bYuv49C=jZ;y8+P4^1 zKw)gOpghD1Q26Gr6G2{CKHISZbiP%#eB#z>P+gFCH{ZlufJvm2#efA{)~&yP^P%a<#$M#Z*;r>Uwpfoi$AX zisf28aqZDGGWDYa9dmVbaGtV!6w33b>bur7f5zrd(RZ!A$xdbdWPN8?Ep}r0lXRV7 z*%~VIC+gC}b+j4Rq%wbkA%X>iq#}P%*PShv16pPNczp&|*pSNn0bPU*fbcNcPgLcP z({&_AFj)kS%@69jN;%`3tQ*GXQ@V{qiDWTw2{Z5qLsx{( zkgg5&hBk+mhiXGH+^sJHy8VKXKlpXLT=D!Pf|9MiCbPVhWO8x(mhB@>8LqOR7opXx+0U+$3?kM=X{G0rZ&e#3Z z{l$K#?_=Maz9)Tm`>t}l?ta1jOW!HJxbH~c0^c~i(tjh}?HG`r_I~JnA@XkIuE-OP zN4)oVukfDg?eZSwJ!OE6Cr68-uE-bId*D{#X{U3T&)JdaWz`t`%Rbj=W7={3 zj$2sWw8MRtbFp)hGwS%p@gaNTp=k7~+POT@VeldGjP#dbF4l^oD8l`CtPuOkL@N7t zxtEnu6jy?XmC?6<}g2^OB@j8@BB z#J!o@uf)|C^Q7DzFIe|Tr)o(h8JrG})=-`wz zwBU`9&K<^X=3p%WM%nRYXPLTf#=iOoR8spuH;}X8=0hkRQl2 z>3T!X`$o8G9NwQ11Mb=AXi_s0lbS9xk(Nzec9V$&Cp}&hY4)uRpIF!U$2-2T692Lz z7al##B~K+9Xw=cUD>&PfrS#SE*GweDnpNbQCR)OCmD-o+n>6eOJ94!{n95LpirDM? z>y~MG(qvDrbFUj|B01i0ylW;+bIeqyy0%J67nQEEA-iro%4(+14hpW!3x&ZCa@2>Zh-kkl)Dr%u_2rmA^&AEqS=)FUaC9yRk@Zp95T)7 z#k#Xw{o(<;RFV5A9$b%AJ4nZb%hrCaY}VLns%cteA}y;~w%kO*y3kcxAf?{g@R2Fj z?4`5gCK49OeI^q8qfIrDuxO4nk*3}?RXBC#&g2rYi0(ASn&_K2-bBKg;RG|OvqC$S z2%J|ORPfPOMuD@(SlwtMNsk|X3cH&{CGchI?8feMr?OjtpgM?oe#P(g=M=bud49$3 zbP+K->gWl2{?qe?!m`LvCI4dnWBT-Pw)f@6uZ)znpRE1dNLjOL%^D+R;h781Hd5xl zH2)P7rFMRUi85*aR3l~Tx~a{>hB?lpIV#RwQyZtY8sk*{yz*fqrFcd0DkDW&Iw7OX zL*xV98=;W2_Sm%pw)D=mdz3YX_zTWk@PR&f#)9*e-3Q+Sc&m>O##cPB;wiOIhU&vy zRlfASh=xAK{(Z<82Q#(PNWnzC*GR!UonoY5nyxoeFiW2?QZPyHFj0IH#~CS@RwpZ` zDFxCgd_njUw)~|or$d6b!aIK0F!^k%943bE`c(IEk-u)c?%MTp`)iOpy6X;W{GGS$ zyhpB(d=x?leQKgCoh@81i*qqL5gqiPF%CLtnvsGIYB5sKLC+Z}=%Bkz6yL-NM#|VV zW8+3jO|s@9BV}Y}RK!Rbv2Da@MoQ?+&~-)%PI#}ID32e0D!u;?I{d?;??fMmh5V_} z_GnXdLevZN|KH&Ab|7+8WJ<&x&f@+5HhA8PhnGWJUkbe)dN6cZXdu)Qni(1%JQRF7 z_~YQI!JUu=R6-K)PT*&F{~ri!2+ZL3|6luW0P^1s|9pR`?<*kx{oHr8?X9IOkJ+~>;LjC@@KQ}8G_Zi4qd=;t{HjBEt0vKx;IFa9 z7<&j$)g(7mV&J*jl1=3y`MFvb$xx5-LwK$x*`yM|z^y)n*J=`e3a(uVu|s&NCQ+dp z#gIekA-qu&_=I2^ctwZsI8DGLvfx&2e958z$KHF#M^&Z&v$`S9ZP%ADtUPA~VIr$Q)A$4yqd(#9>2fHaz-6u&HLuDk?f&_s;_ z-~8pM&QKSm&$KRF2=o&XOhE2T8`!lY!u|nQOt@UFP5F^t(Q7WiZ^Asf@JEmOb9n4(AEc(t*KzvNO$gK#>Zgl4}E&07*mF{Op?jtQegr@W6GM9iA+A1#wH*#rc#Ch z#1MpmZ7ib_LqS538n-~nvRb)#X)O*VAT_4EXvA0O8GsQrnLo9)!30FbWd1hx_b?@6 z4VRaIgqSMUWDs=~B_JE7BLUV0Ry-33G{w4zDy)_} zlz<4BwQn5{d|zQkX?P1qq0NSvN@$ z<~h$#Kn6^=B1$mHBnlIX=oi>pIK4B8@Cp+U{j#BuDdw{CKwZ_L1jN2{D4JvnZlrP( z5cd*aLK}hRF!>3Hcv;gBi^Mp^fds_6GKm1?9$RT z>r!q0iW3m((iN;X_T{&0K>`w8I<}nMvsOqb0bwrfxz5N`Lx&TJ92e|Hohh*LUCmEG zj!Rnz@q}!ItmV#2K#WTd1j2kZxc3evAjG9L69*$EIZu890$f_M=6^&hxg-IhEgild zsvn(k<%JRu-O?I3Gh(IfMF~i4>4~HnTpJaY5)j?e;nPUCX)H=WXsauumTKB?B>4%* zZD~i~5;|i1kc1Nu+EUrxHtG`Cq=u1z%$82F?E1Num>2SDHB*x)5ECCrVJ#E#BGK@z_0&-kBXeyO?K*9-#ap{s; zqO_UoQ{f>9ap~Of_Nv+v2_J$WmzJQnKGpDrhakhHCGZxd8b$aJgt%%6=G)a_haknJ z-6a+!#35#;l{o$oM7cF&VP`bq)T%2y1d%Rn5O2?^QG^abs7qIg&bU)U7aUSVx}1rb zo&X|Ux@$V)I{Pq28^Ss8hqr+V)!E`G+>^u*U71e`u2q zYuvd7hdQ)|ZO*W1!-rz>%0R zUQf#NqUSE~0d{!SdFFV=dL(EEJmbE_eKs@$mb=T`PS+vVi_{jN&(-KEcV#=jbG`!$ z{mZ}&SnaHF7CJ{bK5{(ixE_%J`d|@I;RxD)w!de8z!>9aCcz3Ir;VP5t1B-FJ^;D+bZU;q z)$Dmm@BkPR5mlHzyNb+Bf(1Z6SHu8}E3+Vpmp?gyC?9fJ#{yiqID)(+-u|py)hoGL zZe9|Pe-&x!5EuZgL+xDyaF$^zJ3k3N0J+3;%1&vyn)8!j1yF1hw>;+6NgMc361)I% z^ukgJSQtEWnRAoi2#_8V+aeAVNP-_guFu#v>|&;NXG~J&1^~t78IuGzfIRs(F~8Jm zj?qc*0&*#W%aE4@D}W5lCWLG1H4IE32_^t(0k+>VYBHdfHzo-V0Ii5U2~I|I zPaTTybVJ)iNj&(;c&G$igYuJj>XX4#&>S|D#512}#`LRiDP86A^B(Tc^d8q$f?yKQ zd$L0q0atc7iMKuZgaL;b=bf82^D8ir#QUC%2E}t(3zK-=lNAIM=O|dMI4_CEJsD@2 zg3BIC;#E(31&wiY#konm>B$m-vqx&`qm~*-;uTMu)YZe(E>%=+5|4M5iFx)_F@;II z+i7E&$9SlvFiwO@QIN#boz9^`LA?fOYdSB9$2;u}Bj9>dn8dqXDId4aOy%R@u9QzH zOy%SCu9PodT-DYEl6bh&PD6W=pQ3^!9__SXoDzifA@gX|yknDiuM;*=hfGjUq#CCE zUX;Y6o!nSCGD9!%Y^S}HOEMLbpOoM2N+DeSyd>W3w2R1ZY-UjsPj;pL%uNg>EV0W6m1$Jz#PghVli@Qme3SA6T_xda2qy7BC(UJO4i`w`aZc7r3?DVQgfz1%V{q)nsW#l?W3$6yDPe zg`8ZULrJ`&>1Z=Mv}WSiRO@z05^reoI+mRQ#EGgb_7q1{n8XvBwq3SmQ}k)o1{5Um zekNzAQjD>P`~)7*bjsu+xC(*^Jf7*`#)xSihs#gk;mmTj!7|4%D7gtdn(1WAz6`Y{ zCGcD(O`-;8be%PF1&0%ODUG@HuTQrnc5 zz>Apd*mh!LWSIZF1YW}oX}*c)C-4*|qX6-2e*|w)uFm`f9>X#goN>lARBH_<@Cv3K z_`C!jw@PL?Ot0G7U;>X?R;w!QSJ;!`1m3f(;I1zATH#t1O5jCHHUl;K zG40W!1fI0y=%Hw`$W0`n1m3l338sAzNZ?^h*9EZ|;_410@T6rZDDWFl@@uwz^FTKZ zCaLx|kict}=Gu%|=W^vH+T@9evDnCJrcfdxH&U_V;WCC3$H=1;>Fw-~bjiW-blEp5 z*|){Ilt8p9IxlfFo1He?1B{oDyu=0#X*>jS6YE)vNlvaw!NfW?sckW=Kz`uz5^GtJ zBvcW+|8f~eC)Th}C)M!OmQX0Mn)Lxv)(oe)OI$SK7UAd-{(t!o`LFd~;@{&x8J_&M z`P=-h&~=~duk=qw6u?X13t-UK>01MT05#AE2>P7xoM0~U01pGx}45moN0Ivcm_TMZg*blJk@cR&<$S#QD?og z%;|Uh6a0gh9Vf$9pwUt8D0Yl=2=;I7pNK1kqwNR8Y~fq`e*44r+w7Oy&$JKPH`!aD zV=&pCZx?O7&1=cF-VOGENlk_?K5j-N@B3&e%EcHlDQk8I%R494HpTwm2n)o1e5{?(! zGOHT=?}1X4LmE}9r+dTg8y=xbX0kRbR_~hRnxCmQ5UytM|3+iCKtuik1*TlrpdNn| z)gg^_Z-Q%UMg1Hcn0>APpxRWpBlHkM%asGvCKF2WFHyZ94o+1|*EhdN6(3{W#E;Yb z&N%r)vXR5Sxwd&}p)^wvGGJ-$+U6xxt4Jv~Ubb^vS5r;XBFw1^x#9zT`aZ9}aXr&d zqL`S@0~1v4Zj@_6o>(c~Az)^gs?k%SQMu>8;gSCax#u*0MAp7QzOypHL4Q3}C}S-d zH)Gr^stgqC?!l!QT`%~w;7cBoduQ(7s3v=?doyu{6ooe%>YCIe{7ALmW8FBS+GET6 zV(p!ArfytYR=a;V+`RI6?;2;ewsL-!5jJo3{Fz1=G}}szu<6%TjxxdKOh4HOgZkE6 zMi>;h78zks;o4z@L5b@#BMfR>ubNe4q1+i89BU^NtCay(ODP=Fn%)+L^t~MCrN6>yRf|Zc_NC0v8Vn1wx0*D}{WT zR=m05ZCx_BDj27xB&e&jr$aR*Vb0sJE&2v~nI?^JijS!ks(VE|wx(VlB(_^o{QL*! zKWc;pUkJYHm%+%TSQ;k6e=!?5Pa(%(h7LtQr{9(4T%K&oD zaLzP>raP;(1BAE=W}z-%*>bwPk!gW2RcqDJ!HW}7=WK7U`M4%64hIk(d%RLE zfp2VS8gY-ssXvkY8~pt;7L7$JuBC+Y{H<~or7caQFUQrM#sTK-n#T-ZXz&45uA^vP zpGoz8c^nk4&tL~GiB~{8!N|IsN~Y7<$!@?R+i7h1Mu`Cpw9wI>6@x2w8$Kb+S1;e> zkw&Ap?VEd+2bUMI_R6sl7L+fjX8j`o9C|aU0R`e9(?$$zi21v!H50} zI`@p+y;O_eoEteG90rA4XZxgltYucGNBE9fOd+`i?)``))+79j?Eq%wQMS3acfrdG z<>O94bySFo{=VF3Jz?J61I z5x#XvSs1wv>n`h~yR6oetVqPBwnwJ5RmP^3PivcA6N%tQq_U%JMy#g1dit~(<(W~;otjM}`(M9lgnrUQa<8|xLF+&#hbSQpyS z!9UACt;gGTv!89Y-F6S#SCRPOM%+Ss3qfD_ zb2Ai1VRfvyg60r8o>j2-Rh(XtMG|Ct6qVg2dg7=iihoTKn1olMgnrqGvU0AmzC%>YIrwd@N( z3&BDH;U_!+h`hDMwRH zWo31B70#FPSOh0ZBs#rjT072;Xk~RxM|n+k$Mop5%Ic2Fit-ti?K9dt+Gk9kF|}%H zRU}puomO4Z(bm?66586PR<~7Dw^vrqh)plAtZAFkHe+gAd!#%%y{anKRue0qIwLl< zB3eClYGrIjMO#HxdsU4!Z5?7QsUs)`tn)XJ&TqBGjt zs?o*BjEtyv1Ih=O@n>p4UB(dG7FB?m6AF-P7)A^wdBr!0-Oi z{VCr454f*~AOD^1jWnX(NZ1LaUGKV{bN$_QforF$%~j=^;L3H`h5Ml;@Tv1P=i_+s zU*g>D>_ODQI_G3(j^iiCd(alR-Ejr<1%B(;>}YY!b4jl;w)=k!>)^ckRtPOrbM1(h`r=@$O>!kDX((jWZ(sHR%3QLlh5ML4R z#XEnuc&vD|xY%;KSR+mlM~kBH6+9+f2cHT3LZ@)Fuvn-N#tQ-H9DHZ_#PW(|pXGK8 zy73?T3?VoXe42oFyl(NjDD035gjl?M>abx0w@{yrHgkSOwXGaEs%wRP0c!>87 z?>#&OQ5jo!2+EnjwjcS#_H^S`xSf4#NE)dDErmPcYHIx(i)Ku!Rk2r*JT^i(ZxLNLNWPL{f)x7d(%Ca5z-)5yex?P+SjL zi}7Ga{&h>%{f>splHb`-xE$zub>O6z9^)dbW&`vLkb-{TY84)-bC}USj zLJA+A-O(=MNQzw!r)5I1JK|LK*{8YMyTJ6LAMsDk$G`2Qw%!nwwu<(kE2t)&w zc`Kw2GIreQY+5Ua*rK}VjBY1x*@_K4*s%k6Bz(57u(aR0({w8<%xc{|L+jZRJ(8O{3_ z?#+UG0}CsMj^@B|+R&H6uCJ{RzNiU1dgW&;f1oU~H<5Y?Kjq1f{=Pl{+P6i8D(eI#cXtm`8WrI(4PRvspTn*vIt(`JUiPq}KxC>GqLTsi*}BqnXkhlReWr+tYp2$} zXMhyf&fy{RD&{eBQR*d=Y$llXGV@Fof*aB_J{Rst0Um-|(YrhZ_aNq!LoEk4A9=Zw z7NRO_wB>B9WdJsq{IZt;*jRt!D6pYkWMfZ+-e}oWErnL)>QZy2pQ@$MzIU_~?re*- z6k2+mmco7QOD%;qAJC;7O8Xs(YRGxeQN_W7k zJ7pyzXM(LfQk`nb?O*5bkXiKoP_P)>$heUkA$KM$7~;O>A+|D+O~X^fgP9P7rT2h5 z#hRK64umNtAkKv`X5gIZrk@44~qZijD1p&9;2KP+OlfHK*K=G5d#{OO2q7iI`-LGm_dAUKhbc>{7f8ooe}hx>@LxO8{^?eywh zM}%LoS|YfwB@QFVu8ynQdhNEgKg)ZFkj*3Ut#K6C$J^_5;JNX^Zo=OJgW!t{VDJSN z(1Sz1=J&&Wqk6dytq&a>7MT~#`;uMUXe&v4bSnQtUHIgkKMV@rzuV+fp9f5;EshHvyBuAPR=lZ89RY`EPut(JKLI~`m)cLU_uALl7vLowvfFK6LvsEPyrZwM z$x-oaGi*h8M}KGi(E1!~^{&v%ROLf&-berOq7hnRt>S8-#R~VKIgp8d98CV>=QOS zo1Jsun=pWw1^HGRMJrm4;V5w%x*YRj6;7CdiFhikjnPMrmwSm>9I>03tU&;(Bkjuw~&GGA~@1{ z8hzGlG-W+~otq|%xYeJsT_M*?nlf|KO!lnRC}(!e?9w%bP*p!${hSf>WHq}OY8k5^ zt$xf%b$|8KM$moL`;4H!RsY=p3d{~1X#nLumHWH_H1gJww^7F;S|cWmxWxb|vOG;c z&x|G(CmaS@K=f!v1cW^2(@&p12ZTcVOh8Z~e5`e;ZX)Ynu76$EO0ojxel+)E1E{8< zri};Dt4BR_$`F(YP6mwb5t&{D!)vE-(b}h}FiwV>yfi*V&lQHPLoAv;W3f+C={_Sc z;+~*^xD7ab^p(RN4jv!Zk>D$l$*<#M^bqf)9cy9%8a1tscj!CPjFd0@2X*LqU9f5= z@-;2@+q8EqH;o&>23o`8%s?qzYzB(q zuo)0&xKOnjSQM%-0}Dgu-4V(QnRiD>46&yT*CZh{%3P);G?Kp86uUCn zQUgzbJ2Sz@M<;ry>{Fq~xsKOJ%m~ACWQhqjXF78is>?fNOF2_s(!uZ|*=fv+_P{49 zWUe~8Nw-cOV}zl7ZWGKgzRw7Q4iQsm(v=6lQ9VXFs1=DOSiG18Q`hCq`F@m%4$l>) zgr%pm=6qx<55B1KOt3B4+l?^1Vs1CVc4oJjU~96@GQyy>Z%|6v((y zavJ45Mb%zNI@A{Ss)@X={KIq~^in)2A@b?y+zHuFOlE3N(Oo8Z0*p@?bySRF23IJC z^oTp8{<)ys4E!woZ!_@I@b_lmC*g0*z>mX2X5dHRgcZwBrTKV=4Xgm;;NvGDKAz-ah5GcXcnN-tcKjtTdfDL00@>HVB7 z(s*+ZJmd6qZ6~6Z#!zF4d_+()ZL$bISUsQE|Hq__Bm5uvAICfW5B{jX&Oa9Z|32|O z4*!2A_%`}#ePexg?;-Cq-dnwUyxrbq-f7-3o_~AZ^gQIb(z6>;02@3pU0w`%TW7&Jw57k#s!oxYKc_ z<5F)%qitf?);0^{O!(R9ry{ zt^|n56~$%n^%qLPp8&C*kqL|zP$@VPAa*}88k412bmXSsL4epH5hRBRq~JM#*vNoU z)l0s7TBcwMegkN0fihU5hf{DHK#YY*Hh4Z5WT7O~-sGp?Jb;)*DR@K4@Eo9&T*upO z=BD5{fHoB+bGZU3cnzRU?HXXt$JFWqDYy$@D5C*aK?=SC=(yr>7u&3c9aQt?rr<7s zR@m9g8_xt&@DxCs+1b9;G~DnNK!+PRldVn)-U3*WriQ{@0BtDl4aVVy!vIpOXCsAbUJkZ?K!oPr+{hT>z126N&4@O=U0zw*jm_(K>@UQ&9>Y1BfA6 zZzM`$BC@bhT=s$#90$-jl}U_cg^PgS#Q#06MW4-1Q< zb~u!hodytWoyo*GKLw`&q)yp?7(ctYDL4)wvqZ35rFkj%4IqPz;I*+n!!pZF!F2%5 zW;EUmrrhnE0aq!I&KkAs5%f`h=X&Cr8j z3jP5ou75MarE$F*lY)Z);dHw9M!qpdiu=gihbzA37gY{q_ z1zUfH>NZT+m=p~CNw=7ixK><#3U>aqvRMD-o~Yrx45nb|PdWgfZNPG!3#DM|Pqs1j z*k-b-EKI@XpKN1_#%!A?@>8(-XI1xYiW%2KAO(Ye+8N>yj;lE@1!I4*G-Y3K95R@K zwLfce#5fAMDVY0{G2a%0cX<7w6G#Q++9EqmLl=;TF0zx$lbeExKP}C8!j+_8-Sc@V*!t5Ei1fl-li$;0Qn2)=bIm-x zskz3aVCYW}T}G!cDVX>ZX9ZpS`VFUG)=xgC&~1tJsbL}20z)a-^^;aoyveGxBn6v( zG7M1OQXGq#Tu>CGVA@X(O&t+86uBu__>*BK1O^Q3`xyrMWcuk0rew?htr#4Gi-p`2 zEc;0=g5z=pQn2SIOAZ*rA_%2m$WMB@HP#ksGxan#1v`FH=9U4&5s;gL89&89yMU`L zKLsm(viyl`9;XAp#zQF>@skQWp>r5fe6H$79_ITR+UOdkASK)GcOphObTFZ0!f)Qf zBy9J|?(B^7Q5)47@{_RNr_GCNZftc}*@B;Wq%#bEAPEb8GLXO;+yWIPVZu*7qd>t` zD8A1z@aFk}Ny3Pq)ttd0M^SQ6DPTDfNUEkg+L>0E+^KYqVM)kCLlrRSXH{g#pPz(D zKf^X=_^c#h(@zeV&UmBg+M0w(KkIm-!GJqIDckcS8=lqlC8IStkc2(IoH5eKwY4A# zQ+~2Rh)cfy_RXeqG%pEjesUPd1YGVw5(fROVB;dmPr{y`b#n>KQ4Jr$P!b0HY=vc- zq;L}U{N!kWpFPbIO6yR55+?nu@CDQ$lxtO95=Q;3$%-b7mbD-Wi+l&8~4EkAzw2-0deh4LD z)6WW?*VEHw{Je}!!mgjV8|sWxzkhrTPPLSRB#iu7&s8#R+=`Mg^Jlw<5@cveUJ{o6 ztpAjR%U_U$oxf7SCTMv<;fW&%C1LAN`_a7}>Y&CYQX;+;yTfI8DK9MLYz6(jDmoFV!@_dn;q z%YT987yqfS|L^cOgAY*YpCC3^-u935edT+_cdzeaNb6(1#l9naA)j6Jd%yA?^gimn z%6lT>0xS?V!TNu^cMRIExNG4pFaVyxudc6MpSs>~J?gs4^=H>Pu3fHUT@lw3VS=k#SY$cFH9@R# zjdn@SA@OiX>tA&4gO~qm%hk@Cz*YFIGwNLGtb|uVhvO^9Ylt#%h2s=QzoXr;(lOUD z)lum1!Mk7*Rsy%%PXd48X!|02xiH#ZY#)iJ18HbAJZF2rb~8K;o(5lo9kv$Rk+#XO z5U^Umv3_iQ)%v*gua^DRE3IcjyCEw4OL*6kwyv;NL&sqxd=P#iy(aCGZn4}gT`rv^ z{SH0>j**tY8)1Rumqv(b@qoBbyhXfFJW1>p*9Z>_eMW8r4oWV!)Z$j8@wy?z8MFV;sKnGo}BD9th3bYvu@ ztx2x6P%dz9WB{@HVsR{N0=|3A<5cSv;?5|<(tpVKQa$_To)VG%q(4Zy2v{6|CH! zFt#4B$EnJHZx^)xFJ?bGH#BWnhkh>+5ZN%^2_0a_fMF~!K$xs65f`eDeC$2Dy!BLj zMInL#s7eJJbd79L0o15TS)Dse+wr=D(E&_&WvzFQG@Ua2d%=e#LqH;Eq4egJ%_mU) zDhH?X-<8eBQ}I4{AlnA|WAl56_5`vt9c=oD4Zzm+cr^ek{;=Xa6)=qf&ZTC5y)mLJ z0Q@om&(LvYG$UC+Dt_RgjtQ- z3gbuD57qyRbzFmz?g5UtI>ltX6l#xD&RPu!)DqvWc~_s@Q}dEOc~;HkRJy*rr*{DE zs0MrB^1X}wfqkLHZ3)Re0b7cF2FB%%E09YdryWF8J9SCu$X%^VLXb38mqbL9i*!jG zBDc$fqOE#y;iSXmIvEg^fFHia2$PmBKHda7s)5;^E87Tp!IZzzNGA#f5hDzY_}ke+ zk+&eCc2OTU(8*z%DrAc>4cO(!F5kuSci~dRV6acPhO%ONyXbCZ5x2fo$jAnk=e&u7 zu_<4v-{>%?Sffu@-Cy;PKJ998t<|S3yDTTmyPH&vnj8EL*}7UV3_ab21BEB*sjw&g zo+4e7sddC-3*Kbs2kixfXEcllC=1!%kQsYW*=H)s=q+WS)gD$G=P8P7S8;%O6}5IA zFm~Q?JfL{q1`Yr@?q?hTLfq#$0Hn3&a)8N>vZ)*Z^4C9dfY8yQuQ)(nN4`XN94^s= z;41aPM0ZPkX4A}78K8@2w$edlw1jTi%;g5il9_8JORW|Qv;_OfLCu7J?Hf04teR0V zqoSg`yk_c*X|TmEFE5`ydCn2i8a*v6im}r`Ts>oYb#?Xh%BdC8Ybt80VNhK;`6#*N zjE9Qx`IG}-e4gV0b1I5C00xZ3WkTa9LlClUWsDgBBRGZ20;x7L#Zj_gNYCUbpk@03 z2N3to{teqqR8dk6Xn@gzXNs(h2so&iO2vAp1QJv^M`?t9)sSoCut?;bLYM4vj(xmj z-jcRV;3Jo`WCCX|L0HU*f?z1bw`3dzqg6WAG{*gt3}B2t3zEiDW61YrpvE|tWdLJv z&tPZd)=mrRFiqBY8B;HNFT*!1b zn-2nH0A_R33&6B;202S5k@NhK9U1b407TgKEW9GQBrs!hC|69GRl!al#*N2de5_An z6!z=W=>FOIH2PhtPou-kD+j3rm5$pn?suc5iTI>-c5m&B!5R@f(l`vCU_ld9pdM)o z6&d$-b__1LbjcNJVpij<6>1`IRp1)8G@4}U81zVG?7IqafX*JgE}IP>pqe>$T^2hj z6{!OH_z@35FIgb4UWI1*oQfiz20fQYU7^8d`;@1_XdJ;qu-)X-T*-wIVqx&qy0GEi z=W}7l)v&W1xflZxjsDO8LaSL6LQ)c=LL<*IP@zqe4Inh(5Avk3<9=%GH(a{7wnd-D zVQ=Ho#q-wd(`efV`ZOBG6bwkium~`ig?c<%$;?+|JO+{(tIKILd6J$UgLslYjrO0) zr5)qn)2GF6>qc_veY30C#b|R+e@}cVbkYfP2rX0WgNEpRbGZ=>)1NfeUjU{%wy_D0 zINKt9{GBRaM=+l`jN}QJQbI2&0n0zOy)(9>tUVqd@#hf_vn333Qs_Y9$x3b+$1FJ2 z44wbm`B$-pjeGA#Sp$FWkMl;eUIK`|AU%rq5|?A;MbSu^{Yo!W>{e|=qnAl4lh$R_ zjSVxb;c>`v$XHitH>+%0q__V0`q!w!g)Wzj2I|#}Ioo^SNi}}f`?U0YpGuQ@HAaE%H13Yp-QHV!6f)&t4 z77dC&osAcLv2?G5tzl;$WkmM73S3O52Z~B~&FFEiLf3RQC}vc^HI98q8EPT%RZbWf z2m<>Y(f{8kJUPOeFa0ciChZqKmL7s`{Wa2sh_QD(Ua@Ubi?m3ZDV0gZ(kRH)zZX9j z-w>aM<@=4$fj`6l6*LE4^*`ai+kZX02b|*XgP#A<;2tzU*ME{f>>ueDec$=M^u6QT zFZ}5HyEs~S1$zH~LR^90`?`I{_?qBbphny%I)o?TVIa%w82aco(|=kBil=zfkVN?_Hg)X0Z+y0A;Q)^b>w^9&)|~ zbIg0h@y?r_SAeH*s`EH!C%6i8;X7)gGYDINuN?0~XW>EEOI(5&hN~TwjuJ8rTk+)8930hc3y9M*A?vzEiIaH*7UH>HF)Ra-I){^d}1M}6sE>x+B^9Ivthihi1kkxidg@6mN*X2X6@y$$Wa^A84c5_q1-LE>Zi9KGC92*mQ|`>vf5vKF}p*SL+g$PwNsD zg}OxfA9aZ-pXd^0lXQv6C+QLsPt_&Hzn3r82&Qi=`#24a5vQ1OMd`3On}9QaeDgJI zhA(g4VPZX*KJ3h;RLa|g$e_gQ1hY$~oAZLP;$oRb;r1_s!T_U}trA+!A1^NZ??kk$ z^K!*$3K^m^bST-+4T>{NaGK*BEeGYYDLM9PIW#!UarOjpgdfyau&%CCQ#omnyB)(vd7Xz&`kxD_vw3-32=mZiOPy{h|X zX^-3os)ea&yb_g9YZE&>;XNDrnF_|bG80t#jav+oexOmgZteHz3+Qip-O4H%@ zkcwbeE}@eHG-0TAZ;CZ_=ZF(&)urHGvEZ*O7Z;0l1U4)S*IQ4whfI-~f9qXDKUJBT zx6*XEWg7eRGr47o?$fe^20*Y=pNDYJ7PfE@@Xr=Dv-wmwpkzJ%i!M@?DN3Dz)PGA? zoC=i6*_xny(sy;gU()@)oE|}$*`p!WSdBMYz%o+C=uYi-@zvVzoUz*Ptc$eYp4(Zs zwC~ZR!&&hv8+7sU20+832Ed{l4S<3zMnJ>>aNSO~k%8&iu#XLu%JJMq$J4-dKY<*< zW|li^rp6i_cMUB}J~c%iK$)32MUR`jTc4VE zram?P1G?<>%tnktK~^ScXevGW^|Uf$vS8$Jn9vlmoG`pPw&9Yt46v3Au<{JBaRkOQ z7LWSG46A(B3@hJjhLx3>VH3}w#}VT@?j@t8G972rjm9{R(lk1dirDNtdT!~tk7p}* z%6i;Gx1Gv&JWD}R5gS|L1c}kF`y<`5^7S16PXR3(0G0VzK^ww2g-3m?OH}UHCCbm% zCCW;5iHWD{661bH2Z7@=N>k||P?$8uiKi{)F)@9LwP#yzEeZ(ba*Kot@c7)gd)QE_5$_V?-c)NDn zSJhN&Zd##dz`id|&$x`2Oy@lIjX9@|EIE|CRSm?<3x;>3e>;cbYdBZ~3=9_abs& zk7tpm*kf_O?|#C4qx&>>r@J1u13uRf;s)LU`G4HC)^(I?j5C3#fj2nMg5^MqvmBlP zha4|KzJG}$4j+Is9Yyd~@TvVNDTerelO><{Pw`dpZ{o$`fVfhu5Oakeg!d5r?@z)Y zv;}4hg@S zipfMNgJ2DM6}f4sB@+!cg2VdM)MY~HYNoCMOokYOd1)vn6HOF~Hk2AjLoJ!;B~c_- zYqFrhRwmRZI~cbsrEIdoncddsxwJuL{CY*4jJLv@)BN)HK^Y*6DXN<)2_ zX#4c{45zDCl!g{FBf+tsQ5!FqhB`A@Tm5RNdsX2nl!h`hZ98x!+`!Cv+iRc4Z{HP;UK=2_`%Oj%XR_%oBIX~Ck5;RXnmXe zdiwjRt4D3OAC?ZVSh^&L5m6O_wsSvDQNHy2H0%Uu88Q`D!MF>}DY;xsG-=vN15Y9nQ)38i5spcG-Yqbf?nP=FrZC}K(GuzYEl4A8dABwX8b z)36($A0=Q77zhCv#-Im1Dh-YmRHJM4d1_aVDCLqfL+JlBN#-w3QK&A*NE>C_MrUYbk;sb4zH)X)WoPc8c z2iltZ2KW&Qr(sb*z9eyAGkko*X_yo!_zX(wp)?E&$lQ|r3lM&iFFurpb%BC5Z-!tR z<^|*%2c1RZXFr^VZ2_wp269T|B5l=&(l9PyMFVfLg$So$T0padAsI2p91W&mSU{_$ zcy7o7DVP<|N$Bk|#Ct#86d13Kj=MYg<WGBYWhJ&y<#E9Ggyp_Nx{;9A^7J^HeW zgDIF2FdXsxz~Kr~up%Jq39`L`cJ}e$2!bit5U|XIfWrk+Fd?8Lhd5`v)m3o{#slP& z1RHbk+xufITr8J8l!65TS#&B5hYqJ?>j8>3f3gB8SP#(JNflgHBLBb3vVDaAGygOG zJN$q0pXnd8Z1;EhH~Lq?0-)MI!5{Gb>^tat)OQmk_8WY&d}Dkz?|0tMya&8bdGA3S zfD65+dbfK!ysNwmGFSjy4F?{_LH~axVgVF+?C!Mtb@x8^E$$25yWCywR`)!-_XBRx z^(9{Xce^fw#{VYQQrC1>(D^H*@vl4gId5@Z=-lP(a<)3>IZK^I&K#%c_{Q)p_C1ILu+_f7zSus?UTQC}du%`2 z4uQY1A5!^0!>hn4(Dm=Mt+Oq)9c7zlI}E&z|A5!=Ec_T=V?EpYTf_orvL0ofY|XWb z(vW2j{0uw^{fP6Wozi+~jx<(sAl~0gl-uxou}xeomWf_rNO(!OUf3;c6;{Ice}Uyc zme(w|DbjuNm+EIX4MHzxo8C9u7gRZ=S-$W@m*Y~aqM^Qj3e}2-;zwi8($1Z+DDjRK zi_h(jHpAtJWiE`0EG@gggx5a54vBV9^_snq1I50H(lXl8T3KYMn1-4tAE6_N+VS!3*D1|D>m9Y-w z0k~DJlI1DIxv3f!0=tT?1SJ!6S>;?UR0W8@4Hx8D56_u49B%q`Re@n~b1F6thl9r4 zyTjqiex5pZI2<(TemfivT6K>Nhl7UQ8^hup6AFgIL2+>>Ra8^Pg^FLNG%&wpdSKa4 zQyeBr;bK2iTW!`}6xda}sVb|I8b1 zL&i)JbZwbbK54d*4#RiA1anLX8(|o(9qNK5%LviNu((;wb@)l0D{n})#!7)B_jDL1 z+(Lc6_ebJe<5j0t?bTA^^)myyRCCn>x>Qruc3rBm>=j*V=_Fm5;*v=h>TruEov2GS zOzP34>L+!wBM5B)1G1ZPq{^NydzR{)k`@ArMgznYi3td4DA6&e#&UX6#iS#tHlva* zpTxpn!kI;1ghaP*UEjKqYUyc^*47PFFAoq9%w02goh}K!^m<)VdUPeUb&D+mh?SU# z(&JRgk3c%&9_cZcltb|ziFp~v({%y(j#McR6~Hj*WU4~R!HGTrFelLtH%EF&pbZeO zd|~CAM$r8$pQqa1$WN#|(muI?M8=FoJw=zqdLE-s&Z$uPN{F$F59+X3z$LmQ*6yG# ziDj#=2&?mT9d^89LP(dyn%pkWU2iFy(FHFq9Le@-q!$VsB(CC?_~K(1_nU#y#hca4 zQAiJAUH{@jzdW(s#6KClja{Zs!`s-C`ZT2~1C#3@OL;!5Ap(OvbRi!ou098_h{Z7^-BRGfB%yBSDASwC`{kFEjnBlp~F$=TxlLE@?eK9YC54o*LrPqlnVpA~o-b;bHOX3*et zTf$UfzMoPUj3*wEzgfr}uc@zTq4rOd675E4;obDRK$x+Zz6ojqYs;r5Fj23n3Czl| zY64U6JiTnh=@Ss8tVyi-iH9H%*2g>qk+4?L-m-_|Sk|?&-tJ8!t{IV}H$55C6zc-_ zf*9>EWI~^fA!W=Vmv8KdS1pf^@MZf(!2A9?-u>SD@TNcCJLo;eyTp4GV*5?>=6k)K zUp-%WKK8ugdDL?!y#DR+oZ#v5tb^yj8qeXLT>ph0xBFN35ajsJKm-3S$nr09pY1-u zy#+7)`R-}%0{<9yj@#k-0p=2~x%RnkcU|uKBRm6kyN+=+yB4`-xejyXxI}me{LuN5 z^AWuHFL9pfJi)mYvH#{c4~I>Ew$lpT`%m%ef5LIM<9b9ZIMuP;(cxI@Xhg(<3deXy z$dT=EsBiyA?04G#Y(E#V3wGlDe>5~3=G&|6li*R1S^Ix%dlNi>2W_|8uCkqLI|-T& zt8LY`Je$q>t@Tsu0qb888}?*tzjd|sNb7X#;nuJ<+iHiM|5vb*I4Hg3`&7DDx*4|q zd!*kZDqvJv1uKc)NRy;IVZ3A)a{M3r|KYz|{6_pxd`*1Xa=`Kt{ssZXhCSpd!pHwVG;uoY(^N4^o>q&(JfK4w~fuqVZ0JE=CfYT~9%4r#Z+1C8M9JmtZhB+zaXXeiN=zW)7ndPZCI)_ z7MI>LO;lsd1S-7N1acnW#t%V=rFV%!A||AVynuVU7cFOtfllUJs(>ZW?8p@)FPSW~)D^IMtuQ z2h^Xrd(@x)v(%ryM)jw2K>g{sUj1nwO;q|wZ9N@?GX-{%%|jjk-JQpEUJgzI+0Hn^T~WZ zIhs%U`J|Ieu1YDjmUhOaw~2ltY4)m-%CDJcE5CBte%{ej7KhowqHH?Sa%$msK8R^9I#bib)mH=$u>m{otHbFQWDG^DRIq%Wf_-w})TcSqX0q_=32u!D%j)zV5X zx!@|gyeYO65lp)Kr8j9)`U#t7!ECxP`v*zj&Kzx8Vxc$zG9>*Fm7-ymR_gBN+HdQwBOb)?YHzA>l8)|Wv_ZypK3lzsi>`t zToYEYFAU0K>E%FQURS}V zp>Rt!FZHCFbC>ozdn{cfn#$+=79(J?0WfE=0WkY)1E8wh0I1k*0F-}k08E`}0F+%| z08D<%0GRld0We_(U38=`7}b)?^{L{g^r@T^^r@_W>QkN<>8c>5gh#7C^V#QuDXF+l zqw5ZdQhZ)ujSuOa^fJAu;2zx-qh9$GX;aIC#Mld3Bs_wC5g(wdT&Gbxr@;uBy~hZt znr4Jl3>YEh-x(oOe`AD{oo|Fpe$($B@pm*;)$pD8Pb19)d0{DPzH{o?LQ~SSsR1e} zgDLP!*t!oSvEPo@2%egE-&>U+%hXWtpV0bjdsg>N#v|NqPTG2-&w z0Gs?Xy(f5k5Sy>bTj#AJyaE5s;0+9U-t#=~dC+r<=Tgtfyw$FBp?Lyn{ZCh+BY!#MXTi7O96V_L( zf45#`{ev}b-Dq8Gt+F0w^-DiVpG&Vwk4QI2XG=RE=bwvreU2pJHUEM5ym*gzsd${& zB36l`gkOY@g(rlogwr7FZxoIYoQNs#y5$K(6}Z}Rj{gP9A%n=5$o$zq1p*xz#ORBa z$(m&B^}PDX)hyhKqTUbQ-8+=^qyWG<`WFvyOsM7nVBeifqqxv4%(m1ceJI!4+0hBT z0mW2VIgOgvw>(98b;y%}fL=A$w>(K1YAxNJ?LATUoU9|ZrC4LK3y|V4WkO}5C_1J% zWJ2n4=2P~bJ|~dKlt)7W%kV|eUK!|GjA5gGsFhlSROX+V21NuYmrq95HZ0cFnoEU? z910o6(4ml_^E#uQ@@~>)98HD#8A(vUsIgL=An363;lQI^cG<7AI)}#Z8-@slWK$`) z4zH^|i>ey%IAmdwV+Ys-5qB?7EclVi%M=idUH?$eJSfSa@Y~_fDDziN=YJOxY2gFi zn+JPIkW}i>wYGBpv<%>Rv*)j)qdU-zgC_zegIxEPIC3yoC1wa1Mg#(T`7$C9$!knz zgf-{8jEL+l*{5ejWbMrEl&2i`OL|z57dZyKk8Wh5$ikmtTjDssb_S#=7Quw{NFUI> zrbEyPXMVOgD5iTgm6Q>v;)8ot{;CNk;LJ;BUT*^CuE~wb9YXevo4R`1n8riv(XGeG zL*KqR*1i=kbv7^TU3j9rw6J_T5oC+0L&A&Ps7!D;keeq^#L6wr07g$( zfbjv@a2~63seD)~R#;UPJYY`64i11t`EL$@6*-FoU^!mI0k9TXD0HP-EW~d(3JB#Z zIRKX6UiqX@Y{1agB?b^S5{p}gf@MoFH17uk720#50fYv8&FVvN204t_?>GSD@XXWV zfJ^}i!%J={MhI>o_bIg(CU0a(Yp26=fVIOwla;W`#J=%;0ZgZ^6TOBamn zX+nkk6J9-cD?bMFasUKV zLs+;%Y7Pyc8~NfUC6jRD~$Gq zi>SY@3*o~E3y+ojQG~v*?PQi^GFu_lHAQz?tE+WnY4Ktklwyp zo6n$QLcrRsKh}CZ(=N<-@sG7$M<<=;$#D0NwX$*6@HpS$toa(PCPe~dpI~1{m!poB zz8_+(S2MLIwFMsO9c9qy`=h5@e19(UmP|9F4tPTTf-WBgu*A8fkq20pFekDK#ezi( zZ{aAQzc!BpxL$X$Q%}ia|Bu7PQ3%N(bNt6Bh`;0al*u#+65NhlriVs4);ywll$L6k z(lA>~LDkTyrF@Hgjatgt>m1Nhj*A`FYboKopsYPdY7m~x-J`=@>_1DFs_a~Uns|hJz+aG6YZ4`~chg^OG4{-%tN6>3FDSsHL1FCt9DFqBiBiHt*S~inC zyu9jj9wHrB^$XpVq&8IoaeDKm>ay1fAx>|;gee&i+6;0CG;1GIGRR0Ex9JhBXjK}4 zoDb7egEm73%k&SaOPa|fJkmjRAyKKsn7n)r5G)V=h67~Znf(d}$jZv9!vl~>i%1#5 zfAX{i7R~-kjzgXBXjV?vZ|O}1ZF5RlIFvd^ZumyU$JZCGpJF~C*VV66ZX2*GM-})G zv(anW7F`M}V?~ogWe-C6^;EBW%ZPTV-{OnI6JM1t=>3oPJ$T={8an;$-Z|b9uNA)h zpYz=2ITLUC2G3-V*Zogu@Zamc+MhwChLLLDwU$EAgH`##QT@ z=<+$gg8u%!&dZ%AI@_EJp}X%xyuW80*EvphY;i1elskg{Paq|~2@wZ6{R{mizF&PG z`kwOLZvVx1uKi>CGxp2ualGKi!jE3c_LA)`$mx%_9SuGGBD~y_*4M2MKu3SKb(^)- zI@?-+w|YN(75+vl#7q5i@fq>2@Bpw)TqK5suY`XHmkWKuTA@nFvwUZH)$$k19!nRv z6F<5Sx*u_$(L*qE%td~pa|=acrH>PaVB|OxLu(j?vN-dmtx--Kg3;qq zDy42T%(UZ&U4ACj#g8KE{hX3~j6u!7X;*Nu{ywqyu~kR)moE0zp} zndtB#m_*K2iL_BOlLm%hBpJr&$?3B(_PLV_nRhfgT5&NP@$eu^GAh+BIBY2nLa4AJA@rplZ8PVPFWxkOUQx zUB*@&ub@Ihu!SV%N({xWV^zOZ(19VCLUK7(R4@%QNYa*-b#v!0tpgLIYEa4c|ARA* zP#RX3q$A|631K1z0Hdn5C^rqmOJbe2q`tPUv8hhO^itXr~dA=mHGX_!`$jYLPYDz1!2ZW^|fq;?{>BvW&&f*F;D0VSyi zHb4DhlL8){hS8+DBQC*aU4V#mOt)x6i8Z?xKnIx%Ef4=I`u$3fe=AW*sXA=fXL+7PsYss?i-fiG> zf?22`gK1bxaw}cK1=28>B#RPOQai}!vnr~LTS*!wlVopGR4ENG*fvNRV;a$fH0&nH zv9?h8EI_3YyGik^r%{ee!-}$sqm1p0wIeLhcCOmVX_!>jW~762KDamJsB_b>u_UX3 zlvNhrtkoAt!@`pEjA9_t)uUiUsXt|=*C?Gfy24T2G32FNnc?Nmo<5U3Y9PIe)di%% zq;^cYg;}Hmg_di^nuY0RW~02L4{QZug4SiQ`Yuj4F%wCdVr2#!)1vfBW)UpYEa{1o zi06DoE4Yf_FNP|uX-x^Gm$Sts7c!TK)irc(dKnvIg61%RbR+9GobE=6*hR~fmtM-o zYX^*XNzfD?xkN^8MhG55FxWtPv0NxYa{2Pp4Qyj=Cxd150255tvvtm}T+Y1oB32{C z8LYSi>4mIDisbU;rWbIhjlP3$!a*!?5k|i0N83;uLQ(rw*s* zDcPaqWiCFLp38bV&`a=Ki$m!-a?#yz=VWSGAbk|;>i|J>IRoh<6;#|{R~<~xmMet% ziNPc}KRt_03Yh7~n(D*7ax^^)2{v~Kr1^s5|GYhE>*)WyJ^k7{*>MvP9wuAhWl-MG=PVPVrx@@$mvLfWdzPs602TtPO%XE|ZSaT$x! zFzP3MBsO*sXCTXZm1tdB0VQde^^>pvMm)yw*y^9hG{?Ad3e&LfCw?|Iwn6u!mJxCk zd1;vWlT$L&SyYr>&zb=w^I9@L7UR#PP#QM=8-_OE)~GlZ$wTX% zOOi%hV%af5{8D^@zL-yd75hT*2*d+?!T+HDX8*-_o%i}1gy;QJ{ds;Hy!*Wk?SPww zpM2+mXK;*fsjt#k=<|604eNn-z0Y|c@ZJn9fz!M@;1Qt3JKsAUJcKOo2vtMiD$g#@ zR?iB{JHlUtGlU+?y`DLqafk{y)ciD$?gJSExh)pT?ed1u7_OL zy3Vv#!+T#q5M14si(MOBN4km;2{7S&&H0e?I_GK5ZO&tyOPsTvWv~{=ar_Evfsd%Q zz%}4E^gAN36PO7rfgJeiPe4!L5qRt0Yag_?!81U$eY|}XeD!~3d%<>(Wryu@;ZxgL zwm~t+)@Ez43g9?Y*v8ueHkb7$*ap04y$*f>R#=|3+-Ti|KOUTb<-(VD;k4ZFCIsD40N{Bs0?g*u04HSHs$HfkM+hN1nX`eggH5` z0L*p#+M>00Pzf_sgK329Xj9KXUwcfW#_WUWcFM3*iQvZ@eoo>>s@o_hiGzYKbeLR$ zTz_XQJ`e7ux57I>r)+@=q7urLRI@5Xs2xaV!x&Y103?7#R9dVyNzaKYq+SbD)KdDC zSOCw}J$-|Ex&pokM#riQ(^;5Lg@*bpA=<@gY={bZu7lC>pI4u@J@a{Dl-;@!nV!=X+pesdU9_Afbi z4~P08=b~XyS;uA{J{)RmHgN&+i(u}T=RD6>!{qYp^}IVAYL~YX1>R^Zu<634OSBQ! zcEgHmS1^g0p#jSdEPF2#{i1D)dNRSQ->Lp06THw{n3DB!h&5E>+0zx5q0s3cd-`5$TPU8qi7SA_kpAo+WN5b*oKn; zRM2YqTAr1DXw^VD2WJa%h~LhCClg%Q;I5$p0CL>6_iK^6<{!)e26Z(RSTJf+bgmpX%ud z8{8v&LM4BM_u1D&wCz`xudFbDmb|#+W$L9srt%0MQz7MiS#uFw%LOP)k%tD~4j!W4 zN&{X!-a+uCylluKfa3=iV-&?B8F)7Eq7EB)I`ACz$-uB4;Ul^Kapj;7><_$3)eArY z>SyK5gkb^8#jo|r&s{_Mn4^5gQ4HCMin<$+$IOimgG7@J5_9Il`tc*u$2vxg2ueH(pkG&~?lc!UqBycGL@`0pS(L#0HFNZj|ZTUy+4 zt>Z>H^R^!8#uZU{>S2qlefqGdaCdlW7!)oD{~QK|Tfn`;pzx`mGz<#g^KbMho#h+~ zR2C;~p$>%tCk~Sf1wyR{S|3sQA{zGyAIOI`2`LcWh=U*&AzozyHwA8|ks3itFp7^9 z;eEP<6lfm{b|%{i)xTB$4i(TV=yo`V(r`>DOL3?HVFC-N$W;L#P9OqvhXv9)>f&Yk zoas9`z?3c1_HzJ)3Y^UWCOb+ubAU;=PU5Q_A3gjDjso!(t2jW(VI_-sKw-&54p2O+ zcz_2~7dLT$?7w6m;sLj3-^T$UGiCvCmELCgvslz_1t9L5bq;kw1As?(Pd=A7^~LB( z3CAd%1`u?z-jP2?n@aI=Dea4p%L^zsX8?oxpjQ~t!0Dj73~JYS91gcL+Xi(_TpMrscL3w!t8dIE*0RyFqYWmt@m)N>)#8U4g4<(s~oj{`68!X}Tr5~jO z(%&Gd|I+uI?+)Ky-*NB>ILBA)b9=w`zU95&do3&k`d}R}+dCF9`~Hb|eGho9z?;9# zv&1vSlkNWA{ige2_mz0(Z*#Y}XS$2slItVaovuH)Ho7VhgKxV*D%KyjSdq78VWdFjN>7JYn0%k@U5E3RM5k!!{7(|qW zBoG1#kgzNyfdoouM08%S*Xy*-0jG7&VQ~)YY_GlRw9a9j<2vm`Ifw68)!o%q-NXKU z-g)17@B5BzpJUa%x8hV+y1#obeDZCzuCPwE4zql3*=gBeSpdI>-GL|3^Ey~Rj0&7; z8H3A<_)j<DVX-NX3Y?ljqNz)aog0Hb(Wu^J+?*IRisZ!) z4?iRce;zG>L@86zeQkI0n_B*wzNE#7GS4LQ`8AI~Y^- zgQ_Z4Vw~(4^n;ojmQf=yJj0UW;P{)s7twmCzMt1>8ySPz`H>i2 zYDsporE8BUdiIIF-XO)o(8mF-+r74Db5nTO>FGafXLtc+eNtA2vaAV|dOd>p}-sN$ORF zpWdMuUh+xC4(eEtXXV83icdZZ+?GtAMI?r2eDX=PV)0eHvGRFyW9yVkTYGyE4BgP$ zNDNwgnzYCl$BCQrMgqntPI0wV5{*T@Zu*o+wB*wIhy7I|*29{^0Xt zstUh_c$v*C6OKWJFRpI&+Ika-L3dBuz$0-a#tz1yxaW6F#>tLBXRobpjG7yRzMlL- zu=>#M{&SwzDhtJ+vM0X~dP1QHbDq*z;TRP5q>YG>`u3q(O zL)w48*3hvr=;{eDMRR#W-rm@gxh^*$2A%zU$l-L0`$IIUyvC@H^`yuL^dh0ZCq*tM z^XkBI<6_X`6Zl?(;%!G!#FaC!+F!K-r^cYvU!e=)VUfI7AU-lx-DSv;7lWRksOAnR zkrRWupNtqz?<9~W=>e-S7=ywentFSm5@K-9eOgmA9lpI+(HiQU;jwu<&}xmABRe)% zKY%c5I96($AB-1?m1LM7j2(>45vM)lL}Ig*j8q}2K`T$xTJm4;tvRuo%4l#7J8skR z<;02=CZM94HxI_lj?G}*n{&RFB@&yiw1mfV>Fk`?G*flAXnAvDQ%%(|W_GMdukJi8 zOC(m9p*qGM5u2i*kW`l?*K7GgvB}Cek7y?C^t)!P5wS^19@1&d4aUfhP1IX(u2xbc zHX%a`7<)u)ywCy$tQrv;Cse~2*|D*DHRtHn9GsyV#vTzHBUE#_mTyF?K&XZ>vSayr zHD_z$k=W=A)i8EWEYI}wU83d9i9yp(J}hpwFlKgaq+T7xN0U=cB!n zTvK)X^y+d<)iGvvEUZ^|rj{iV3uUN|v2hW^_x1m0EUph-?3Az1aySsF{we!y_6zKL z>>KTi?Bk*B{?hiWZNKdzVC*|>HSmHL#_j(d`7!x=ycRqG-2SP7p1{h$%s`I+2mibN z$Ne|^&%%2^vwx9)81Mk^`X0t>z)A2HunJxT!|)RD9=r!$4NHPPZ@qVpH`klx`NZ=i zVgZ~A&j9N@rJj+{_s85Xx$kvf;yxa60BYSO?vZZ0>nrH^?{{6{`h#nWtK2o&6>xqF z-TqU~>z$`L`iPx?lBTY6BsLi&TW zOX1&&WinY(W-g>BYg4J#L!ty-q_D{BSTUJ<##3ukPm6Nb2GYqPD zD1C@ppoF2G^AeaWWTR=Lp{>crNN;w!L{9t|B|DKYW*-?pTDkR*xY!vohvG*m3sg9c z`Y9gO3w&A(+ZPAHCZHt8R$k7KFWSdCRut936N z#|fKsT`{94(~9Hacr6Y~tClYk$En&hEQ}qD<3P<13*%(Rah%qEPDag%;}mT;Ix^;% zI1bXqXk$lrOKV|U|E4X41i6B?_V$$2Xe|oGaj@nQ#U(2=RwRy7HEAr(t0F6SHcr-r z&B`akP_E_v?YT-ZKl<&t>i@uV)v!2!v)iQ2$#C3svtztSJk!mNv9sgc&5luX;~8#t zjGGfT-|QGO6vxeuEIj1EPhRUv=IPDEy^gFP>@KJCLUG*X`1ML>h2yxpk!-E~d-?{5 zgFl{!`x@nSbt?Oe&dZ4}R8|rFxqxTlHb#~hjyYFvC@x~+QrDvKB5~ZqOiLYO2jho` zOC956$8j0cmO4fq7ROagGsTe@IUHB-Vy#-gbY4yzcQM22$TCLaxQVgVOIzH=>8)3< zV;wL`&>kF07&{!Fr4DCrcQ-ZOEGg8oj)>zvMk0C5nm&X41{?!-F~TS=nQ36)9!3~5 zW)Zh}d=6a2C}W10V^|!QFcMyn#Maj3LvdWcggG@{Zxt?Iq^M{I@c>l97};^$zsPWd zp;NTJOT~ zpt0vn%@&D|Ftg$OgcsaM%u9NLeQ6L%@gBJpPiuNmYEX3S9BsnkMN zM9Q*h`G&_G$|D&TitcC$qle;lv0*xESlq^arj1%jp}4H%pe3PxiLt_Q$vATuFA}$A zm^q9cjN`7y&0)RJP#hOMeh%xbNDMbT@?G$zoH{!XjhYKfh*tTfzN<{I`2iCzoVRoJC`~qJH3v$;{|y4Kie_jSO@)o z#Qu%_E&C(z?sulWUp`)5A!kefk{*yQ$9?~BX|Xg;ItU&BUb5b3J>A*^5Bw$8Tua*W ztmQA3Q!G7}YRfdsLF)ZJlvqD9fg>H!J!+RU>QlDl32mTg-RIn-~pZ~zRW9epiu zU>q&EM=Lxhp`QM@0bS)xlrA=b!tum$3nwU zu=;Wm^js+XB#b#Gfpa0bHE$yJ6NNp{*KDEKPoYtv1dfMfMIqKhMM8tZ3H4~$)!MtW zsIzBtZ^@0?h~y@4G$c0vga`B?G4Rm2vl2KTHjqL$&7QWYbXt2`NqhU8X)T+lm2R3| zJZ;mQ_G#@iXU?8O&V0DSU#FEiD}m!9$=5QYbXwb-&9h3Um9)3cX`42?t+=?oy?AE( zoYEOHONz-^P0WYWCCOJhdnP0{&z{vXeN+3i)@gHEX3T79nbz96dDE=6X~iXmeBlHR zpW-R2TWia2Z(XWNT7S0s|N2{3B!NqX@#rYAUp$z=#e&~<87DiT-Yfu0*X2VA+$@C6 zm}Lkhs7l9)l{3EV&UUxsl) z3EVz}-+-}l61aJg&XiZwty#HxJ?RW%<|c6YAOp;4;Y%*knv0=Ey+Jxq|u^zmTSP{MEctvQxYVX-Huy;>v2BybNQ+aS!KfcC`>*jmWK zX)&o$3EWA@13isdq9B1w3Ryq?TQQ*ot}EoTVB^7bMWKXxWnqKBSa}It zSxDu^VPX-;OavC)%4=hDRpS{VeviOr_adY_-^Azz<81Pt_&XmV`s;A>QkMg?ogC6I|bv8j(00Y=NcELU7N`>uPzdacPWh$uCuI!QSoi+W(3Gtdw;X`?8yYe z@vTaSJE#De5$wTwbi7lkep3tDM)DWo9zsOei&rGxp;WJn@a$pnE!;d{N=aPi+*zSS zEAA)1snrG|@hW8uGpp5np6ywO%l(r7Vt<=|ir)_u|7*Vei2t_>KK>W^4)*>Ct^GsZ zE8x|?%e&M&%4_kw1&?``dXAI(p|hXo8Rq`V{iOQ__sNLmSLdGV4!ORD*T1{qx&H)s z?yrK^zah@ApsT;h`6p)-{{9{bT5YGN#f*6 z&Ov1Jg0ZE69ZKTpN{ZF6pnA@55+_&TbXD?|-a{N)ji)P}9Zcfj%J-0E%ueFOs$IDm zHI&3bm9#>8h|!CRB-L{&zbfhMP!i`v99B(3#@N9m&a3>8F-~?;KdP26YAA`L zsxV}X6-lbE z>ib-4PB4j6DPJGsgp!7nX$fP6lQ@|Q{VR291xAuMni}iV*}){vq+ESECzQltl<%L; z%1PoRO6Hj|d5Jx&&K#Mho)|>@2T*O5X4Fu^aQG}?tPu&E&d3X~ z(t(nJk~t7?D^bXaN4H6&^~|iR~_7tZ-trGPr1yigRGRk%?MG^P+1u$PaU~R%}jU75SKi zXLiOMlUS*|FNi%>6dzA(MI4-{(G?#i{Rk&kt&4GeHz{y%)DsFq>M4OTwMvPkwJhvs0b+hH_ETU(Jh5vHf6k9g5`~Q-c$rI&AE$>*K3&a9%1Re|A6}TdB zR^SNO6to~3Kw)5bz~&$Hf8hV8wcUTO|5E8;sn&lKum%4_-**8# z4jk>*KbrGWKY>-*M!SZ_yUz|-XMa!_`_ z2H{ibHR(y|PU%YNOz9XzCTNr@5JPY*0#g2B{lfa1^)c(M){CqsTBFux_$WBUT4)_* z4Op}A1CiL1P;?^t9j=8P4XPS8|!by3&G zGcF-fWLa|RS35qD>S7Uy*S1~bx+#AarZE3 zvUL^w<#g^=oEL)F^pz?{y(Ci4#1qdjk;Z*6LYj(BD!vqJ5QU2rIMCRWkz8|RMsnW$ z8Og3Mm0=ajZv0~=YR!3>sCloDfY7jughMPGx|o})-kv6p(v@~%nL!l_(MB2*SnZ0U z8frX|j+oLrg*4FEO@e!p!D`2n1P4y4_atc4NwYj=n~ggWh7{T>i=r(6(pqn0R?Comy?ci^=nx#BjatP(;R;$qo#1Q$R}E+ zOZCnOESm2U60%pxSGTJZBd+DTSTB%c&^#CEtkp32?(ON?qvg6#uS;OjeETwe#WOMg(ma6*lC^$^nc9BIp*K0^AAeOm}Z zk0=6BnMS$BjMKnMwMoPGSn^kvhrpTeJ=P|SloA>?de!Qsb!!(P$^xnB0d2+Ev8k(* z`odp!o%*?8X&|fdsutoSh$vkS`XXOiN~S$oUDotgw|8%9?}y7+Vu*$x8WN7fwc^+U zR&$++l=rELa4<`mvs`R48r^ zZb|vA6e@;k!Dj}-eD&vL60`qlkeFFuAk3g)&M~d%PKZLMerk{?q9LL=iODAzBqq}M z>zu^6_sv^N%@Jl=-hF18>kH*qr43THrJ8e1q&ylVTdh)&3hy*Yxve@$_4mJ|+)Nrp zPZt;h8Wdr{zlG%N=Y`~qbA)8k3?Vu3PhKe(Q@fX}Zi~<35{s_q5(_@%60@J<5;M-` z5=GOw#KhCIa|Cq&7*#cxRcB=+SEjUXs?s>fooOOfCY4iMZ=WJnb)uM-%ao6YY^Msi z@gQ|E&?){g>bZbyxz%)8SK@WkjT zg{0KO1<9fFMkkds9o^=cY(i~3m4)s6mtwkLy&*kUOy?hONVk!+)-Je-jf?!DKN-^R z7}C#(=^=fFbgd!1Kur7d#kBV_KdZf=Fg)#fFtTMEF4>Q)D&F_u1s0T;XdDBV0GIgePbZ){8k(l7P$BmTclUle_qQ3afc}$%{l)JdIA8vMvy8E_S z$Ed$Er7waH8$v8l4h>3Cg`22no3U3bD=vsF-DSkHGC34Av~-aZ%+~0d%hYpWCN^1d z*QiH0a+q$9HWP<-I8#T9$T-xhUzlMR`%?Wjl&c0RsT`wrn@|=<$$=&Kx%wLt64J}G zIj5$_UZtEh=?;k-HDa4l_g2e>Dx0T5@4+K;ClI|Y{ad1|vk%0P4^@9vQnox_Nl>u$ z(zBHwbnb++#3k+2#tw~HagfqDN+#{UR#}Z{x^P=N0W;U0qLf2v@*&C$?CizGe^0II zux4p?CaR}P*(4NMQc@|g|L>7blKijw@AqHs|DAucf4P53V3L2RF9jsP{l3e5$KhsO z;hW?Oc)#<$>wVaJ6|ewXf##p#4SIg^yaP1Am7WtlU7pprKL_1kyWepC6?f*}ySKVm zxTm^@xxRJ1<$44j`cFnU%v#q}*HCBL`3eyIS2|BZ9Kaf95%oQIUEq(v1T1t84|x4a zN6PUkUKK8O90Oba5=Y4XwfzVNx1=YeYtXrFSp83zhFia}zC*44Pem-iI>Z9RdyXY(dCT&s zbY}M zP>Cvt(jLIOdSDX6We%r?DDO1P(O~KCwR(doXhk{249}qoQ4;vAwQEOPyUxi@K_N<1 zHh@;~ROmtp6&N_3IwA!vDACp^FY`JhI|cnG5hqUbc4^HCr=a^3G*CJ(l7jNnsDaYi z!4%Y=Tu*dPCa1vTiGHOa-GJJqK zFDD7LC&}2|i^yh0@F^56WuU%D5=u`pq>4VdwRiL8_I8~;ED60Q!@@HBTsWy>>)3pf z7%!59#?$m8F?KKsttbB@F-|C{symgYpbLx@Nva?_zLh#VCkcfo=^=-eWqHF%Ro$t# zbwHbJktEcernWM6FbRz(-&V#6C86vTCKO|hOG43EipJo^(**@QO{WI{=U7F5qZDv7sf0%^r|0Y&aW#p1d;{O-CyK@u<06iJH9$Ur;clUl1NxVplb@l7N1a!Kl zx)?hL9dul0se^tpo=hMw32iaK*lz0WE~L6~=mbCS!HvE!C0#>`7D zRmP6I91#Dv04zfn)Fbuj-CUBPn~WVyE*87VIHBYsakA@WhLdH=u;M_XT={g|;r}9B zF`PV9DN+Fll3%e@>q00wUu=oa3MUUS{=mIjwn%bbhMqHaFgaK3Ipbs}OZ6X^QS*`| z%1{$LKr=yHl5Z5|BTOPEIY;@WltV$CfjQgsGqRkclCzYrx2UbNzYvyr2>w;n-lZ2E zPR=y+vviu?&th{wb#^d0L+Gc@2_>P=6qYkqW;i*G)aS%51AQeHtbx)(t-f$_s-Z19 z1T>N?GPi|i7ZSE;{jRfrL!Dx1aAD@LqXptmq_ciQo&J9VUrM|PhLgsdl#T@rCIOBj z8_kY^&2xm^E0hE(ihQ5oOeedhzOmt!oEdW)Nv=^oz$n=f5rdR?L(%h%O9Bf;j+u;I z$OnSb1xF@ih_AMmfvz|MY1U5=oS=g2xNdg%~wq3eqn;Pi0 zmSsI^JyZ(p4r~e31Cu{9FeWfGVDZP{(eF9`1OA)*7x_>2@9}r|8~n@sv-}79v;9_I z!uOu09Sp?wjo!>l@~iyh-TZ{|T#sTfCQePxT&w*Mjxla(Mh3 z=N;~qJt@xzz}i3TxfNCfr+JR_Z1ZgJRCr1}<2@rhHh0?nq5DPmBZvs_XZN4nN4dM) zjqXZ!se6Ju2v2~6u8&+VxgK@xcU|T>9X&Yp!deE97!Gzjl7?eA)S!^ET(@ z&NH0HID4EMomGhXH^~`xIvw9QK5@L_c-(Qj;|j-_j$<9Yj>CXdIK(m8k>haLzlHz9 zSM5*O@33EKKg)icy$_g$8vA_v6nic_A%183x9v6C-)wiaY^=5DIM( zn+IMIKa*dVpOo*CuSOh#!qSS=DN8mdKty+Mg%qy4-MQbS0Tur`S8Xs|SR1&R7!8YYN@pBt1|I9j3g z|E`aV5}(#95oVag3-uq05?9t=D-zDGKUXB2S$~#D*js<9NZ4I}vPjrfFAj2jcl~xz zqN9GRNZ3-}DH7W1H;aVU`gW1fRIdcbVV&Dh-zZ9~sjn9aht`Ypf9;p`MS{fIFV_Ad z5Z3%@&7~q?^%^Cvk5=uP#cRY`){I?KC}zo8BTlKh{dKnq5_Q+sT_+MQsk=`kTwHgT zNVur(CXsMq-4!BXU!B~J|q(EsJ&Ap+)yhnIknffNZCWgoc_Hkx)@1PX3zm8gVAq99pwP%rdcNx=66qI0QoV`_&(dgomre9jN-j zYH>*( z57pvoS$#tFiK4{O)yIg0Bdd=R2|KHmC}^x5E!DdOiK?5c#8I!hsp=L{;?gSdyREvU z>d&IYiB+eGgwCpMBB8uWT%@ZORW*qchgPi?3G=IJMM7!SJdqHtnk5p3R!tEJ{;C3z z;H%0P39hPTBEeQAese1>T5*XWv10p*s7PpAu|*_QuUIP*Dpsr#2_-A$iiGSHxdNf` z@yho_!ef=(#0{tX)AG*+iSirE#Z|lfg7ST$ z#0lkp5DC%plSM**`LQBld-;(fp|4#0fXaKz#Q`dxU0xz)nNcowZdv`Z%LR#LYnPoN z66%&UiiFk68bm_bGI2XW>{IdEU%Gm!SjN&7ORI!3mM&T1}#($doTqQtaPaXTq>mWqd(lJ82s7qXQ6r*yJN_^MP~ za!S4|4T=(9ln%uUgMNc6`Mgv-1~$%X91J|mU5Xlu8*diMXuP)ZI+UT`;2LK%imMdD zRv#y3sc5WoJN9Mmx9rK1zmZ?G?sZxn$2mG3wT@CpKJLT``y249cRl>-9bs>`*V~ud zOMv1ZVM|$81I7P$+dZ~xZD-kzvUNDVvaPYr3B&{M1)d4q6SyvL0U`+=hggE`frdau zU>?x?d4VAT33&cb{crf6#=F9;KpUJ*eFs+hi!FPsbFITIKRF-7`-0b(_PynM+;0JqQf1cOl z`Nmct-y>h<`3jy2{^@z#a}RxKILq?~&tBmCS5cJz2>DaIH6-2dyZ`Ba2>u860k6>K zZgQ6+2H_YW{B5p;>uuLluG^hK*TvQ?t}|RmSxX6E$9Baz@jP+{xJ$TQ#AE98+cb@Ec8XiRYz$O14CasYO#q~L<=2Vb{OiPS`gLMAl39jHD}==cbnH1Y&5d-T1YYxOhIv)DkASKW z(p!s5J~M+*?KK`LY;B{_&uWi%0WQ>rkn^=|im1{8Rm)pDk^u5Cc{7Hv{T)GU(V49V zq(%JNOId|_klLEw48*)!G7w$w5!@D6r0-S(!7*O>!tmMA3h>d5+CudrPqpCgdUrE2`pCK$HmVwG$qmSFii)mf{U3Mp9Z#-lP!t;QBc z)B}?@7877-8)B9B!*m=$J~~^M!}PFE0ZB9tCD>rL$Lv{6AoGBj(f#LEXJ3|!g5Q*% zS2b2rS}@SK2}hJ1wUGsrgckFOHC$ro7kuJgE-~aVWjpL@hfCG=HpP%kZx`8kZsEnJ z&}rG(qQr8v{E^P`&X!gHCp%jSGNWpVnKaCea6xSy;D$%AKZF0$|9sIQ4Y9UuwjZPZ zpRO(ViLi&QK~Q*rba%E`ZXPBTS~y~B7u@FV9x6?=V7CK6p|6`nQRr@S(>17lC#oC0 zMfrYr7Pds;&H!r>poZOT%P7p6{5Guvb$|m1|i?wsyBw zQp+U15)f@;xu%esE6*?z{$wE74mJ?1pD1e^?GCxq^bA-(=41%e*!q#UT~xh5XOXgf zSU)6d{}Kf1K_~-a$+iqR)~Yc#!k?25$G~LApzvqPuS=%d(%t&sq35~3pV9xeexNig zs-1;GFF9c?ihV5fv?4`d)b1qrcZ~b{DK>#VjO~op9PRb5PO>bwxh9lQb4mtc z-aj%BUEeFmg1$EYChafl`vk>~dDPqA-O|;$7YA2-^?;45i(=GyowCGt;ge-cIexc- zzh$Q9$1~Hj@6JpgIw>>Vo8su*?E@{U?l=3c%=DoXGt<3EWj#<<*{JnBWm)QK+0)+E ztf2PLo6s%Fmrcp=@CkfWxAk4}qqnsyG!h89vtNrES@9OJaL{w9*mvLb2eA#W+8y`>NbBp?fkHAi-bnKtBK zN6q>qYX8puj{PzF4fZqaI}oklQ2PWaWc|+iw)J6H z-XCjihaLTRt7Q4e@|5L9%Q==EmJODLmVAp1o#y`urvZK^utg2k*CrjIp|2uo;NMNK zMaB-M0fZ-Lk}fQP2!pO?45a~s=P?;NE0P8T-dN^bhgRjVG;r_?&b?P7=cIvwC!kIS zkv>{t%y1eAcoBKYc#$+v@W$%&todnR;R(VSs56)_74|W6QC8g6AmhoPaA-|dcsK=Iyf`R( zw9$;D0FE~e3S$?ffR87z?9T2T{rHc@62f7a^q2{aN&zKLK)}2ZFEAnnusn&9gm6;G zS(?&n52pZ?7iZjVjTcD)CvR#QV+VgTPwDy1JjF1r|6eyx$xZ=puUQS9qD|EiDFE#` zt0Bh7O#xs}>}xu^;0|+BQ4c)mm%giI3#9VKVCc!}qIkR(SwPSe7V-Dp*3Pp=q=28-O@m5L*XoI+fSo6w zAN8cu3}Z>sj6Z4Y+!WCBq-OvLmNXN?bCC;hp~!93^X8`jFeIy};@Z2JT!fpuc97n% z@<*nCy{AAx>Ls1Zh?Zh7CnooL@!=G3hGgN{z5}P#0b;zy zst%=qF(jjf$1cUEnF;1FchsKwho2pTUgh_~8SPYN> z)45z{LMhk`kQS-eU!k$E7vNZ2u2Cr%43K3R9YoxRuI5(a`kKo-Dh1mClK@vjUJ3>T zq*ony{GjHm=3c2b1WbajAU6dY0@5p;%auMc1tWq5go_|_%>%udV?D4VY{sFv-B{1G z6wC>#HQBCSVnZ^}Or29T<2>EEt!s}l%Y+n64CZIfV)$()rC@VVmQi%}Ok=r|Qm{f` z!kc^h5gu&w4vcO`OJ|Q!ctmQUGGXY($&LM()B?pW22Xr#YDc=-d$tU8@B^5Wf_Vbj z);HtvqnSL|a7Bzy!9HOgn7AzBiEvM|^5Nq$LgEVWlA}{FS12?|iXyOD$RNV~UZE5$ z7symo7Z{F}pMvQE`J(BQS1^%u-xg;S@|ClwNcr zbVD0o!pPKgW!-|2Y80QPal(XC)B=JWl_;Oj8&0Vf5E_rGb4&^r5Ts=YC<+r#vR-Sq zQf|tONx={zvlLg>!Ko>V<40v7i}qmw$D8f}XCN)uQ z5-mlUTc%+dm71U|Ris~J9W#zwPHMdJrDy_tGjdYn3{0*86H{ZAWoQ$EHQ*_^tyzDx zFxE05b+EFgWRmUJ&eu61HRivHaxEB}g0%&S=#`;VzR0nu`~%Bz<>jVEE6XlSEqkI^ zp}JAZY1+;mOywy@3$jj-vjE2##dBJ9PAE0fuqCogBT^AzOJt02Dp&amwD25UP2p6I z$P?-cD|M-d6^<27g|rV#TOL?-kyKFG@W})q7g)OCbL5}M%S)C=-Ai2WxSnS-}r2GbbdH54v9y;W;@*;Vv^FHUb&U2i{ z0oC8=EO*Xw79eK8kB-maDc~{3&5rYdT-fGV>sVlIl-4>XIfgr|_88&<{@s3;{WAN> zKrnRJ*V-4^r`jWSm+foYhj{IHz;=V}eA}_MPTOik6F4~VdEn*1LxCFt`vNBhw!#`> zabQ|tWWa}5h#&i32WsI#>%0Ez{U`bR{p;a{aF)LSmJsg≻>95T59Z`kH+!d~d{%&CG}SkWaKEOt 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%0DTxM=ra)VFEkLc4>1yQ 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

OjDph6K8sbroe$F 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 diff --git a/README.md b/README.md index f4e19be..6402d55 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ -[![Build Status](https://travis-ci.org/FlockOfBirds/camera.svg?branch=feature%2Finitial)](https://travis-ci.org/FlockOfBirds/camera "Travis build status") -[![codecov](https://codecov.io/gh/flockofbirds/camera/graph/badge.svg?/branch=feature%2Finitial)](https://codecov.io/gh/flockofbirds/camera "Percentage of code coverage") -![badge](https://img.shields.io/badge/mendix-7.11.0-green.svg) -[![Percentage of issues still open](http://isitmaintained.com/badge/open/FlockOfBirds/camera.svg)](http://isitmaintained.com/project/FlockOfBirds/camera "Percentage of issues still open") -# ReferenceSelector +# Dropdown Typeahead Reference an input widget that can be used to display and edit associations ## Features diff --git a/src/ReferenceSelector.webmodeler.ts b/src/ReferenceSelector.webmodeler.ts index 7c3d4e1..5aec2f7 100644 --- a/src/ReferenceSelector.webmodeler.ts +++ b/src/ReferenceSelector.webmodeler.ts @@ -19,11 +19,10 @@ export class preview extends Component { render() { return createElement(ReferenceSelector as any, { - attribute: this.props.selectableAttribute, + attribute: this.props.attribute, // data: this.state.options, label: this.props.labelCaption, selectedValue: this.selected.label, - selectorType: this.props.selectorType, showLabel: this.props.showLabel, style: parseStyle(this.props.style) }); diff --git a/src/ReferenceSelector.xml b/src/ReferenceSelector.xml index c346811..097ac16 100644 --- a/src/ReferenceSelector.xml +++ b/src/ReferenceSelector.xml @@ -1,33 +1,39 @@ - ReferenceSelector - Allows users to take and save pictures on their mendix desktop applications - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCgwJFhuIhoIqAAABhUlEQVRIx+3UP2sUURQF8N9kXVgLG5EQUxjShZDCKSRgwE+wyhb5BEkXkm3sxDKN1YKdlWAjdkFMb2WCSwgZ0TJlAlqJsNGw2bHRdf68iQPbifc2dw7nnvPmvjvD/4gy9Q1PNOx5hlXtEvfMlmERvJKpr7qt4TNanroZsHvveb1zbUmDeZwzHL9CxwOzOfSO6xXS+76O6xOv7bBZ4VYvNzmcSOAwMsrdRDbOvdKXmBG7bxF88Ng9D8ecVKX2gSXM6VjW0rRtKLWGyJcMr7K9acH+r6eBrsi61I5r2jlmsP2HJQsGOayHXanzAjco8IKx++8cWRGXuVPB8fXNWS5tzKrEoEgNCyTiABq7kNQTmHEaQE8pbGylQOzIWQndM+1WmRwa4kdN3QL2SctGgFuxB9siPaNM+6J53+oLDK1jRc9bL3W1zDsIMi/5UHbFGmDaRtA9lUZSl8VAYjY0uj/rcVFxE/ViNKU/QTv9hu86lX+Ev/p7FOGudnnDasSJN95NdP5/JH4CyctNHfjcPXwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMTAtMTJUMDk6MjI6MjcrMDI6MDCMRiaFAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE3LTEwLTEyVDA5OjIyOjI3KzAyOjAw/RueOQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII= + Dropdown typeahead reference + + - - Attribute (path) + + Enity path Data source + + + Attribute + Data source + The attribute from which selectable values will be retrieved + + + + + + - - Selecting using - Appearance + + Editable + Data source - Page - Drop down + Default + Never - - Select page - Appearance - Page to navigate to select items - - Caption + Empty option caption Appearance Text displayed before selection @@ -40,7 +46,7 @@ No - + Label caption Appearance @@ -55,20 +61,7 @@ Nanoflow - - Entity - Selectable objects - The entity from which selectable values will be retrieved - - - Attribute - Selectable objects - The attribute from which selectable values will be retrieved - - - - - + Xpath constraint Selectable objects @@ -86,13 +79,35 @@ Microflow Selectable objects Returns a list of data values - + Nanoflow Selectable objects Returns a list of data values - + + + + On change + Events + + + Do nothing + Call a microflow + Call a nanoflow + + + + Onchange microflow + Events + The microflow that will be executed on color change + + + + Onchange nanoflow + Events + The nanoflow that will be executed on color change + diff --git a/src/components/ReferenceSelector.ts b/src/components/ReferenceSelector.ts index 40d3ef9..d6c0f18 100644 --- a/src/components/ReferenceSelector.ts +++ b/src/components/ReferenceSelector.ts @@ -1,5 +1,6 @@ import { Component, createElement } from "react"; import Select from "react-select"; + import "../ui/ReferenceSelector.scss"; export interface ReferenceSelectorProps { @@ -10,61 +11,38 @@ export interface ReferenceSelectorProps { label: string; showLabel: "yes" | "no"; selectedValue: referenceOption; - selectorType: selector; handleOnchange: (selectedOption: any) => void; handleClick: () => void; - id?: string; } // tslint:disable-next-line:interface-over-type-literal -export type referenceOption = { value: string, label: string }; - -export type selector = "page" | "dropdown"; +export type referenceOption = { guid?: string, label?: string }; export class ReferenceSelector extends Component { render() { return createElement("div", { className: "widget-reference-selector-wrapper" }, - this.showLabel(), - this.createSelector() + this.renderLabel(), + this.renderSelector() ); } - private showLabel() { - return this.props.showLabel ? - createElement("div", { className: "div-wrapper-label" }, - createElement("label", { className: "mx-control-label" }, this.props.label)) : - null; + private renderLabel() { + if (this.props.showLabel) { + return createElement("div", { className: "div-wrapper-label" }, + createElement("label", { className: "mx-control-label" }, + this.props.label)); + } + + return; } - private createSelector() { - if (this.props.selectorType === "dropdown") { - return createElement("div", { className: "div-wrapper" }, createElement(Select, { + private renderSelector() { + return createElement("div", { className: "div-wrapper" }, + createElement(Select, { onChange: this.props.handleOnchange, options: this.props.data, value: this.props.selectedValue - })); - } else if (this.props.selectorType === "page") { - return createElement("div", { className: "div-wrapper" }, - createElement("div", { - className: "mx-referenceselector", - focusindex: "0" - }, - createElement("button", { - className: "btn mx-button mx-referenceselector-select-button", - onClick: this.props.handleClick, - type: "button" - }, - createElement("span", { - className: "glyphicon glyphicon-share-alt" - }) - ), createElement("div", { className: "mx-referenceselector-input-wrapper" }, - createElement("input", { - className: "form-control", - readonly: "readonly", - type: "text", - value: this.props.selectedValue.label - }) - ))); - } + }) + ); } } diff --git a/src/components/ReferenceSelectorContainer.ts b/src/components/ReferenceSelectorContainer.ts index 2d7ca7f..0e7ecf6 100644 --- a/src/components/ReferenceSelectorContainer.ts +++ b/src/components/ReferenceSelectorContainer.ts @@ -1,7 +1,7 @@ -import { Component, createElement } from "react"; +import { ChangeEvent, Component, createElement } from "react"; import { parseStyle } from "../utils/ContainerUtils"; import { FetchDataOptions, FetchedData, fetchData } from "../utils/data"; -import { ReferenceSelector, referenceOption, selector } from "./ReferenceSelector"; +import { ReferenceSelector, referenceOption } from "./ReferenceSelector"; interface WrapperProps { mxObject: mendix.lib.MxObject; @@ -12,25 +12,24 @@ interface WrapperProps { } export interface ReferenceSelectorContainerProps extends WrapperProps { - emptyOptionCaption: string; attribute: string; - selectorType: selector; - goToPage: string; - source: "xpath"| "microflow" | "nanoflow"; + entityPath: string; entityConstraint: string; - sortOrder: "asc" | "des"; - dataEntity: string; - microflow: string; - nanoflow: Nanoflow; - selectableAttribute: string; + emptyOptionCaption: string; labelCaption: string; + source: "xpath"| "microflow" | "nanoflow"; + sortOrder: "asc" | "des"; showLabel: string; + nanoflow: Nanoflow; + microflow: string; + onChangeNanoflow: Nanoflow; + onChangeMicroflow: string; + onChangeEvent: "callMicroflow" | "callNanoflow"; } export interface ReferenceSelectorState { options: referenceOption[]; selected: referenceOption; - showOverlay: boolean; } export interface Nanoflow { @@ -40,28 +39,19 @@ export interface Nanoflow { export default class ReferenceSelectorContainer extends Component { private subscriptionHandles: number[] = []; - - constructor(props: ReferenceSelectorContainerProps) { - super(props); - - this.state = { - options: [], - selected: { value: "select" , label: this.props.emptyOptionCaption }, - showOverlay: false - }; - - this.onChange = this.onChange.bind(this); - } + readonly state: ReferenceSelectorState = { + options: [], + selected: {} + }; + private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); render() { return createElement(ReferenceSelector as any, { - attribute: this.props.selectableAttribute, + attribute: this.props.attribute, data: this.state.options, - handleClick: this.onClick, - handleOnchange: this.onChange, + handleOnchange: this.handleOnClick, label: this.props.labelCaption, selectedValue: this.state.selected, - selectorType: this.props.selectorType, showLabel: this.props.showLabel, style: parseStyle(this.props.style) }); @@ -72,95 +62,122 @@ export default class ReferenceSelectorContainer extends Component) => { + private setOptions = (Data: Promise) => { const dataOptions: referenceOption[] = []; - - Promise.all([ item ]) - .then((values) => { - const mx = values[0].mxObjects; - if (this.props.selectableAttribute && mx) { - for (const mxObject of mx) { - dataOptions.push({ label: mxObject.get(this.props.selectableAttribute) as string, value: mxObject.getGuid() }); + let selected: referenceOption = {}; + + Promise.all([ Data ]) + .then((value) => { + const mendixObjects = value[0].mxObjects; + if (this.props.attribute && mendixObjects) { + for (const mxObject of mendixObjects) { + dataOptions.push({ label: mxObject.get(this.props.attribute) as string, guid: mxObject.getGuid() }); } } - - this.setState({ options: dataOptions }); + if (this.props.emptyOptionCaption.trim() === "") { + Promise.all([ this.fetchDataByreference() ]) + .then((defaultvalue) => { + const MendixObject = defaultvalue[0]; + // this.setState({ selected: this.getValue(MendixObject) }); + selected = this.getValue(MendixObject); + }) + .catch(message => mx.ui.error(message)); + } else { + selected = { guid: "default" , label: this.props.emptyOptionCaption }; + } + this.setState({ options: dataOptions, selected }); }); } private handleSubscriptions = () => { - this.setState({ selected: this.getValue(this.props.mxObject) }); + Promise.all([ this.fetchDataByreference() ]) + .then((values) => { + const MendixObject = values[0]; + this.setState({ selected: this.getValue(MendixObject) }); + }) + .catch(message => mx.ui.error(message)); + } + + private fetchDataByreference(): Promise { + return new Promise((resolve) => { + this.props.mxObject.fetch(this.props.entityPath, + (value) => { + resolve(value as any); + }); + }); } private getValue(mxObject: mendix.lib.MxObject) { return { - label: mxObject.get(this.props.selectableAttribute) as string, - value: mxObject.getGuid() + guid: mxObject.getGuid(), + label: mxObject.get(this.props.attribute) as string }; } private resetSubscriptions(mxObject?: mendix.lib.MxObject) { this.subscriptionHandles.forEach(window.mx.data.unsubscribe); this.subscriptionHandles = []; - // mxObject.addReference("MyFirstModule.MendixUser_City", mxObject.getGuid()); + const attr = this.props.entityPath.split("/")[0]; + if (mxObject) { this.subscriptionHandles.push(window.mx.data.subscribe({ callback: this.handleSubscriptions, guid: mxObject.getGuid() })); this.subscriptionHandles.push(window.mx.data.subscribe({ - attr: this.props.selectableAttribute, + attr, callback: this.handleSubscriptions, guid: mxObject.getGuid() })); } } - private onChange(newValue: referenceOption) { + private onChange(recentSelection: referenceOption) { if (!this.props.mxObject) { return; } - this.props.mxObject.addReference(this.props.attribute.split("/")[0], newValue.value); - // this.props.mxObject.set(this.props.selectableAttribute, newValue.label); - this.setState({ selected: newValue }); + + if (recentSelection.guid) { + this.props.mxObject.addReference(this.props.entityPath.split("/")[0], recentSelection.guid); + } + this.executeOnChangeEvent(); } - private onClick = () => { - this.setState({ showOverlay: true }); - document.body.appendChild(this.createOverlay()); - window.mx.ui.openForm(this.props.goToPage, { - callback: (form: mxui.lib.form._FormBase) => { - form.listen("submit", () => { - const label = (form.domNode.getElementsByClassName("selected")[0].lastChild as any).title; - this.props.mxObject.set(this.props.selectableAttribute, label); - form.close(); - document.body.removeChild(document.body.childNodes[document.body.childNodes.length - 2]); - }); - }, - error: (error: Error) => window.mx.ui.error(`Error while opening page ${this.props.goToPage}: ${error.message}`), - location: "popup" - }); + private executeOnChangeEvent = () => { + const { mxform, mxObject, onChangeEvent, onChangeMicroflow, onChangeNanoflow } = this.props; + const context = new mendix.lib.MxContext(); + context.setContext(mxObject.getEntity(), mxObject.getGuid()); + if (onChangeEvent === "callMicroflow" && onChangeMicroflow) { + window.mx.ui.action(onChangeMicroflow, { + error: error => window.mx.ui.error(`Error while executing microflow ${onChangeMicroflow}: ${error.message}`), // tslint:disable-line max-line-length + origin: mxform, + params: { + applyto: "selection", + guids: [ mxObject.getGuid() ] + } + }); + } else if (onChangeEvent === "callNanoflow" && onChangeNanoflow.nanoflow) { + window.mx.data.callNanoflow({ + context, + error: error => window.mx.ui.error(`Error while executing the onchange nanoflow: ${error.message}`), + nanoflow: onChangeNanoflow, + origin: mxform + }); + } } private retrieveOptions(props: ReferenceSelectorContainerProps) { - // const reference = this.props.attribute.split("/")[0] - // "MyFirstModule.MendixUser_City" - const selectEntity = this.props.attribute.split("/")[1]; - // "MyFirstModule.City" - // const attributes = this.props.attribute.split("/")[2] - // "CityName" + const entity = this.props.entityPath.split("/")[1]; const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = props; const options = { constraint: entityConstraint, - entity: selectEntity, + entity, guid: mxObject.getGuid(), microflow, mxform: this.props.mxform, @@ -171,13 +188,4 @@ export default class ReferenceSelectorContainer extends Component => fetchByMicroflow(options.microflow, guid) .then(mxObjects => resolve({ mxObjects })) .catch(message => reject({ message })); - } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) {// nanflow + } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) {// nanoflow fetchByNanoflow(options.nanoflow, options.mxform) .then(mxObjects => resolve({ mxObjects })) .catch(message => reject({ message })); From e355dacffb33e8e1d2b0c51a9290d74497082b34 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 23 Jul 2018 14:04:41 +0300 Subject: [PATCH 06/89] Rename widget from ReferenceSelector to DropdownTypeaheadReference --- package.json | 4 ++-- ...ts => DropdownTypeaheadReference.webmodeler.ts} | 14 +++++++------- ...Selector.xml => DropdownTypeaheadReference.xml} | 2 +- ...ceSelector.ts => DropdownTypeaheadReference.ts} | 6 +++--- ...r.ts => DropdownTypeaheadReferenceContainer.ts} | 13 +++++++------ src/package.xml | 6 +++--- ...lector.scss => DropdownTypeaheadReference.scss} | 0 7 files changed, 23 insertions(+), 22 deletions(-) rename src/{ReferenceSelector.webmodeler.ts => DropdownTypeaheadReference.webmodeler.ts} (55%) rename src/{ReferenceSelector.xml => DropdownTypeaheadReference.xml} (94%) rename src/components/{ReferenceSelector.ts => DropdownTypeaheadReference.ts} (86%) rename src/components/{ReferenceSelectorContainer.ts => DropdownTypeaheadReferenceContainer.ts} (91%) rename src/ui/{ReferenceSelector.scss => DropdownTypeaheadReference.scss} (100%) diff --git a/package.json b/package.json index 0374816..a0241d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "referenceselector", - "widgetName": "ReferenceSelector", + "name": "dropdowntypeaheadreference", + "widgetName": "DropdownTypeaheadReference", "version": "1.0.0", "description": "An input widget that can be used to display and edit associations", "scripts": { diff --git a/src/ReferenceSelector.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts similarity index 55% rename from src/ReferenceSelector.webmodeler.ts rename to src/DropdownTypeaheadReference.webmodeler.ts index 5aec2f7..ccebcae 100644 --- a/src/ReferenceSelector.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -1,24 +1,24 @@ import { Component, createElement } from "react"; import { parseStyle } from "./utils/ContainerUtils"; -import { ReferenceSelector } from "./components/ReferenceSelector"; -import { ReferenceSelectorContainerProps } from "./components/ReferenceSelectorContainer"; +import { DropdownTypeaheadReference } from "./components/DropdownTypeaheadReference"; +import { DropdownTypeaheadReferenceContainerProps } from "./components/DropdownTypeaheadReferenceContainer"; declare function require(name: string): string; type VisibilityMap = { - [P in keyof ReferenceSelectorContainerProps]: boolean; + [P in keyof DropdownTypeaheadReferenceContainerProps]: boolean; }; // tslint:disable-next-line class-name -export class preview extends Component { +export class preview extends Component { private selected = { label: this.props.emptyOptionCaption, value: "noGuid" }; render() { - return createElement(ReferenceSelector as any, { + return createElement(DropdownTypeaheadReference as any, { attribute: this.props.attribute, // data: this.state.options, label: this.props.labelCaption, @@ -30,10 +30,10 @@ export class preview extends Component { } export function getPreviewCss() { - return require("./ui/ReferenceSelector.scss"); + return require("./ui/DropdownTypeaheadReference.scss"); } -export function getVisibleProperties(valueMap: ReferenceSelectorContainerProps, visibilityMap: VisibilityMap) { +export function getVisibleProperties(valueMap: DropdownTypeaheadReferenceContainerProps, visibilityMap: VisibilityMap) { visibilityMap.source = valueMap.microflow === "microflow"; return visibilityMap; diff --git a/src/ReferenceSelector.xml b/src/DropdownTypeaheadReference.xml similarity index 94% rename from src/ReferenceSelector.xml rename to src/DropdownTypeaheadReference.xml index 097ac16..4a8630f 100644 --- a/src/ReferenceSelector.xml +++ b/src/DropdownTypeaheadReference.xml @@ -1,5 +1,5 @@ - + Dropdown typeahead reference diff --git a/src/components/ReferenceSelector.ts b/src/components/DropdownTypeaheadReference.ts similarity index 86% rename from src/components/ReferenceSelector.ts rename to src/components/DropdownTypeaheadReference.ts index d6c0f18..2f8a63b 100644 --- a/src/components/ReferenceSelector.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -1,9 +1,9 @@ import { Component, createElement } from "react"; import Select from "react-select"; -import "../ui/ReferenceSelector.scss"; +import "../ui/DropdownTypeaheadReference.scss"; -export interface ReferenceSelectorProps { +export interface DropdownTypeaheadReferenceProps { style?: object; readOnly: boolean; data: any; @@ -18,7 +18,7 @@ export interface ReferenceSelectorProps { // tslint:disable-next-line:interface-over-type-literal export type referenceOption = { guid?: string, label?: string }; -export class ReferenceSelector extends Component { +export class DropdownTypeaheadReference extends Component { render() { return createElement("div", { className: "widget-reference-selector-wrapper" }, this.renderLabel(), diff --git a/src/components/ReferenceSelectorContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts similarity index 91% rename from src/components/ReferenceSelectorContainer.ts rename to src/components/DropdownTypeaheadReferenceContainer.ts index 0e7ecf6..ccef331 100644 --- a/src/components/ReferenceSelectorContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -1,7 +1,7 @@ import { ChangeEvent, Component, createElement } from "react"; import { parseStyle } from "../utils/ContainerUtils"; import { FetchDataOptions, FetchedData, fetchData } from "../utils/data"; -import { ReferenceSelector, referenceOption } from "./ReferenceSelector"; +import { DropdownTypeaheadReference, referenceOption } from "./DropdownTypeaheadReference"; interface WrapperProps { mxObject: mendix.lib.MxObject; @@ -11,7 +11,7 @@ interface WrapperProps { class?: string; } -export interface ReferenceSelectorContainerProps extends WrapperProps { +export interface DropdownTypeaheadReferenceContainerProps extends WrapperProps { attribute: string; entityPath: string; entityConstraint: string; @@ -37,16 +37,17 @@ export interface Nanoflow { paramsSpec: { Progress: string }; } -export default class ReferenceSelectorContainer extends Component { +export default class ReferenceSelectorContainer extends Component { private subscriptionHandles: number[] = []; readonly state: ReferenceSelectorState = { options: [], selected: {} }; private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); + // private readonly executeOnChangeEvent: Event = this.OnChangeEvent.bind(this); render() { - return createElement(ReferenceSelector as any, { + return createElement(DropdownTypeaheadReference as any, { attribute: this.props.attribute, data: this.state.options, handleOnchange: this.handleOnClick, @@ -57,7 +58,7 @@ export default class ReferenceSelectorContainer extends Component - + - + - + diff --git a/src/ui/ReferenceSelector.scss b/src/ui/DropdownTypeaheadReference.scss similarity index 100% rename from src/ui/ReferenceSelector.scss rename to src/ui/DropdownTypeaheadReference.scss From 70b998c25ab8014d2b7ea6db12dfd0366836b4b0 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 24 Jul 2018 09:05:40 +0300 Subject: [PATCH 07/89] Add editable configuration --- src/DropdownTypeaheadReference.webmodeler.ts | 8 +-- src/DropdownTypeaheadReference.xml | 6 +- src/components/DropdownTypeaheadReference.ts | 12 ++-- .../DropdownTypeaheadReferenceContainer.ts | 71 +++++++++---------- 4 files changed, 45 insertions(+), 52 deletions(-) diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index ccebcae..28cd033 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -2,16 +2,16 @@ import { Component, createElement } from "react"; import { parseStyle } from "./utils/ContainerUtils"; import { DropdownTypeaheadReference } from "./components/DropdownTypeaheadReference"; -import { DropdownTypeaheadReferenceContainerProps } from "./components/DropdownTypeaheadReferenceContainer"; +import { ContainerProps } from "./components/DropdownTypeaheadReferenceContainer"; declare function require(name: string): string; type VisibilityMap = { - [P in keyof DropdownTypeaheadReferenceContainerProps]: boolean; + [P in keyof ContainerProps]: boolean; }; // tslint:disable-next-line class-name -export class preview extends Component { +export class preview extends Component { private selected = { label: this.props.emptyOptionCaption, value: "noGuid" @@ -33,7 +33,7 @@ export function getPreviewCss() { return require("./ui/DropdownTypeaheadReference.scss"); } -export function getVisibleProperties(valueMap: DropdownTypeaheadReferenceContainerProps, visibilityMap: VisibilityMap) { +export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: VisibilityMap) { visibilityMap.source = valueMap.microflow === "microflow"; return visibilityMap; diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 4a8630f..25123e0 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -37,14 +37,10 @@ Appearance Text displayed before selection - + Show caption Appearance - - Yes - No - Label caption diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 2f8a63b..192a9a0 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -6,12 +6,14 @@ import "../ui/DropdownTypeaheadReference.scss"; export interface DropdownTypeaheadReferenceProps { style?: object; readOnly: boolean; - data: any; + data: referenceOption[]; value: string; label: string; - showLabel: "yes" | "no"; + showLabel: boolean; + emptyCaption: string; + isReadOnly: boolean; selectedValue: referenceOption; - handleOnchange: (selectedOption: any) => void; + handleOnchange: (selectedOption: referenceOption) => void; handleClick: () => void; } @@ -38,9 +40,11 @@ export class DropdownTypeaheadReference extends Component { +// TODO: Names of Props is too long +export default class ReferenceSelectorContainer extends Component { private subscriptionHandles: number[] = []; - readonly state: ReferenceSelectorState = { + readonly state: ContainerState = { options: [], selected: {} }; private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); - // private readonly executeOnChangeEvent: Event = this.OnChangeEvent.bind(this); + // private readonly executeOnChangeEvent: = this.executeOnChangeEvent.bind(this); render() { return createElement(DropdownTypeaheadReference as any, { attribute: this.props.attribute, data: this.state.options, + emptyCaption: this.props.emptyOptionCaption, handleOnchange: this.handleOnClick, + isReadOnly: this.isReadOnly(), label: this.props.labelCaption, selectedValue: this.state.selected, showLabel: this.props.showLabel, @@ -58,10 +64,10 @@ export default class ReferenceSelectorContainer extends Component) => { const dataOptions: referenceOption[] = []; - let selected: referenceOption = {}; Promise.all([ Data ]) - .then((value) => { + .then((value: FetchedData[]) => { const mendixObjects = value[0].mxObjects; if (this.props.attribute && mendixObjects) { for (const mxObject of mendixObjects) { dataOptions.push({ label: mxObject.get(this.props.attribute) as string, guid: mxObject.getGuid() }); } } - if (this.props.emptyOptionCaption.trim() === "") { - Promise.all([ this.fetchDataByreference() ]) - .then((defaultvalue) => { - const MendixObject = defaultvalue[0]; - // this.setState({ selected: this.getValue(MendixObject) }); - selected = this.getValue(MendixObject); - }) - .catch(message => mx.ui.error(message)); - } else { - selected = { guid: "default" , label: this.props.emptyOptionCaption }; - } - this.setState({ options: dataOptions, selected }); + this.setState({ options: dataOptions }); }); } + private isReadOnly = (): boolean => this.props.editable !== "default"; + private handleSubscriptions = () => { Promise.all([ this.fetchDataByreference() ]) - .then((values) => { + .then((values: mendix.lib.MxObject[]) => { const MendixObject = values[0]; this.setState({ selected: this.getValue(MendixObject) }); }) - .catch(message => mx.ui.error(message)); + .catch(mx.ui.error); } private fetchDataByreference(): Promise { - return new Promise((resolve) => { - this.props.mxObject.fetch(this.props.entityPath, - (value) => { - resolve(value as any); - }); - }); + return new Promise((resolve) => this.props.mxObject.fetch(this.props.entityPath, resolve)); } private getValue(mxObject: mendix.lib.MxObject) { @@ -173,10 +164,12 @@ export default class ReferenceSelectorContainer extends Component Date: Tue, 24 Jul 2018 15:06:42 +0300 Subject: [PATCH 08/89] Fetch attribute value associated with mendix object --- src/components/DropdownTypeaheadReference.ts | 20 +++++------ .../DropdownTypeaheadReferenceContainer.ts | 34 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 192a9a0..1f1f72f 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -18,7 +18,7 @@ export interface DropdownTypeaheadReferenceProps { } // tslint:disable-next-line:interface-over-type-literal -export type referenceOption = { guid?: string, label?: string }; +export type referenceOption = { value?: string, label?: string }; export class DropdownTypeaheadReference extends Component { render() { @@ -39,14 +39,14 @@ export class DropdownTypeaheadReference extends Component { private subscriptionHandles: number[] = []; @@ -48,7 +42,6 @@ export default class ReferenceSelectorContainer extends Component = this.onChange.bind(this); - // private readonly executeOnChangeEvent: = this.executeOnChangeEvent.bind(this); render() { return createElement(DropdownTypeaheadReference as any, { @@ -65,6 +58,14 @@ export default class ReferenceSelectorContainer extends Component { + const MendixObject = values[0]; + this.setState({ selected: this.getValue(MendixObject) }); + }) + .catch(mx.ui.error); + } if (newProps.mxObject && (newProps.mxObject !== this.props.mxObject)) { this.retrieveOptions(newProps); this.resetSubscriptions(newProps.mxObject); @@ -83,7 +84,7 @@ export default class ReferenceSelectorContainer extends Component this.props.editable !== "default"; private handleSubscriptions = () => { - Promise.all([ this.fetchDataByreference() ]) + Promise.all([ this.fetchDataByreference(this.props.mxObject) ]) .then((values: mendix.lib.MxObject[]) => { const MendixObject = values[0]; this.setState({ selected: this.getValue(MendixObject) }); @@ -101,14 +102,14 @@ export default class ReferenceSelectorContainer extends Component { - return new Promise((resolve) => this.props.mxObject.fetch(this.props.entityPath, resolve)); + private fetchDataByreference(mxObject: mendix.lib.MxObject): Promise { + return new Promise((resolve) => mxObject.fetch(this.props.entityPath, resolve)); } private getValue(mxObject: mendix.lib.MxObject) { return { - guid: mxObject.getGuid(), - label: mxObject.get(this.props.attribute) as string + label: mxObject.get(this.props.attribute) as string, + value: mxObject.getGuid() }; } @@ -134,9 +135,8 @@ export default class ReferenceSelectorContainer extends Component Date: Wed, 25 Jul 2018 10:44:16 +0200 Subject: [PATCH 09/89] Add styles when editable is disabled --- src/components/DropdownTypeaheadReference.ts | 11 +- .../DropdownTypeaheadReferenceContainer.ts | 2 +- src/ui/DropdownTypeaheadReference.scss | 33 ++-- src/utils/{data.ts => Data.ts} | 1 + src/utils/Datae.ts | 151 ++++++++++++++++++ 5 files changed, 182 insertions(+), 16 deletions(-) rename src/utils/{data.ts => Data.ts} (99%) create mode 100644 src/utils/Datae.ts diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 1f1f72f..5f32d18 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -44,9 +44,16 @@ export class DropdownTypeaheadReference extends Component 0 && this.props.selectedValue.label !== "") { + return { value: this.props.selectedValue }; + } else { + return { placeholder: this.props.emptyCaption }; + } + } } diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index 5894e26..82db5b7 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -1,6 +1,6 @@ import { ChangeEvent, Component, createElement } from "react"; import { parseStyle } from "../utils/ContainerUtils"; -import { FetchDataOptions, FetchedData, Nanoflow, fetchData } from "../utils/data"; +import { FetchDataOptions, FetchedData, Nanoflow, fetchData } from "../utils/Datae"; import { DropdownTypeaheadReference, referenceOption } from "./DropdownTypeaheadReference"; interface WrapperProps { diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index 27865de..3fc7310 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -30,6 +30,8 @@ .mx-control-label{ padding-right: 22px; font-weight: 600; + color: #666; + font-size: 14px; } } @@ -52,7 +54,7 @@ .div-wrapper { display: inline-block; padding-bottom: 8px; - padding-left: 10px; + padding-left: 7px; width: 75% } @@ -67,7 +69,7 @@ -webkit-box-align: center; -ms-flex-align: center; align-items: center; - background-color: #FFF; + background-color: #FFF !important; border-color: hsl(0,0%,80%); border-radius: 4px; border-style: solid; @@ -111,7 +113,9 @@ -webkit-overflow-scrolling: touch; position: relative; box-sizing: border-box; - background-color: #FFF; + // background-color: #FFF; + background-color: inherit ; + } .css-1wy0on6 { @@ -129,7 +133,8 @@ -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; - background-color: #FFF; + // background-color: #FFF; + background-color: inherit ; box-sizing: border-box; } @@ -150,19 +155,21 @@ } .css-19bqh2r { - display: inline-block; + fill: #555555 !important; fill: currentColor; line-height: 1; stroke: currentColor; stroke-width: 0; } -.widget-overlay { - position: fixed; - top: 0; - width: 100%; - height: 100%; - z-index: 101; - opacity: 0.5; - background-color: #3333338a; +.css-162g8z5 { + // background-color: #FFF !important; + // /* border: 1px solid #D7D7D7; */ color: #555555; */ + background-color: #eee !important; + opacity: 1; + :hover{ cursor: not-allowed !important;} +} + +.css-va7pk8 { + color: #555555 !important; } \ No newline at end of file diff --git a/src/utils/data.ts b/src/utils/Data.ts similarity index 99% rename from src/utils/data.ts rename to src/utils/Data.ts index 1065f25..15a3c5e 100644 --- a/src/utils/data.ts +++ b/src/utils/Data.ts @@ -146,5 +146,6 @@ const getReferences = (attributePaths: string[]): ReferencesSpec => { attributePaths.forEach(attribute => { references = addPathReference(references, attribute); }); + return references; }; diff --git a/src/utils/Datae.ts b/src/utils/Datae.ts new file mode 100644 index 0000000..15a3c5e --- /dev/null +++ b/src/utils/Datae.ts @@ -0,0 +1,151 @@ + +type MxObject = mendix.lib.MxObject; +type SortOrder = "asc" | "desc"; + +export interface FetchDataOptions { + source: "xpath" | "microflow" | "nanoflow"; + entity: string; + guid: string; + constraint?: string; + sortAttribute?: string; + sortOrder?: SortOrder; + attributes?: string[]; + microflow?: string; + nanoflow?: Nanoflow; + mxform?: mxui.lib.form._FormBase; +} + +export interface FetchByXPathOptions { + guid: string; + entity: string; + constraint: string; + sortAttribute?: string; + sortOrder?: SortOrder; + attributes?: string[]; + references?: any; +} + +export interface ReferencesSpec { + attributes?: string[]; + amount?: number; + sort?: Array<[ string, SortOrder ]>; + references?: { + [ index: string ]: ReferencesSpec; + }; +} + +export interface FetchedData { + mxObjects?: mendix.lib.MxObject[]; +} + +export interface Nanoflow { + nanoflow: object[]; + paramsSpec: { Progress: string }; +} + +const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => + path.split("/").reduce((referenceSet, part, index, pathParts) => { + let parent = referenceSet; + // Use relations, skip entities sample: "module.relation_X_Y/module.entity_Y/attribute" + // At the moment Mendix support only 1 level deep. + if (index % 2 === 0) { + for (let i = 0; i < index; i += 2) { + if (parent.references) { + parent = parent.references[pathParts[i]]; + } + } + if (pathParts.length - 1 === index) { + // Skip empty attributes + if (part) { + parent.attributes = parent.attributes ? parent.attributes.concat(part) : [ part ]; + } + } else if (!parent.references) { + parent.references = { [part]: {} }; + } else if (!parent.references[part]) { + parent.references[part] = {}; + } + } + + return referenceSet; + }, references); + +export const fetchData = (options: FetchDataOptions): Promise => + new Promise((resolve, reject) => { + const { guid, entity, sortAttribute, sortOrder } = options; + if (entity && guid) { + if (options.source === "xpath") { + const references = getReferences(options.attributes || []); + fetchByXPath({ + attributes: references.attributes, + constraint: options.constraint || "", + entity, + guid, + references: references.references, + sortAttribute, + sortOrder + }) + .then(mxObjects => resolve({ mxObjects })) + .catch(message => reject({ message })); + } else if (options.source === "microflow" && options.microflow) { + fetchByMicroflow(options.microflow, guid) + .then(mxObjects => resolve({ mxObjects })) + .catch(message => reject({ message })); + } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) {// nanoflow + fetchByNanoflow(options.nanoflow, options.mxform) + .then(mxObjects => resolve({ mxObjects })) + .catch(message => reject({ message })); + } else { + reject("entity & guid are required"); + } + } + }); + +export const fetchByXPath = (options: FetchByXPathOptions): Promise => new Promise((resolve, reject) => { + const { guid, entity, constraint, sortAttribute, sortOrder, attributes, references } = options; + const entityPath = entity.split("/"); + const entityName = entityPath.length > 1 ? entityPath[entityPath.length - 1] : entity; + const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; + + window.mx.data.get({ + callback: resolve, + error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), + filter: { + attributes, + references, + sort: sortAttribute && sortAttribute.indexOf("/") === -1 ? [ [ sortAttribute, sortOrder || "asc" ] ] : [] + }, + xpath + }); +}); + +export const fetchByMicroflow = (actionname: string, guid: string): Promise => + new Promise((resolve, reject) => { + const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; + window.mx.ui.action(actionname, { + callback: (result) => resolve(result as any), + error: error => reject(`${errorMessage} ${error.message}`), + params: { applyto: "selection", guids: [ guid ] } + }); + }); + +export const fetchByNanoflow = (actionname: Nanoflow, mxform: mxui.lib.form._FormBase): Promise => + new Promise((resolve, reject) => { + const errorMessage = `An error occurred while retrieving data by nanoflow (${actionname}): `; + const context = new mendix.lib.MxContext(); + window.mx.data.callNanoflow({ + callback: (result) => resolve(result as any), + context, + error: error => reject(`${errorMessage} ${error.message}`), + nanoflow: actionname, + origin: mxform + }); + }); + +const getReferences = (attributePaths: string[]): ReferencesSpec => { + let references: ReferencesSpec = { attributes: [] }; + attributePaths.forEach(attribute => { + references = addPathReference(references, attribute); + }); + + return references; +}; From 21392795b0f21d9e925316ab2e97bf0efd57c15d Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 26 Jul 2018 06:42:07 +0300 Subject: [PATCH 10/89] Add error handling --- src/components/Alert.ts | 14 +- src/components/DropdownTypeaheadReference.ts | 27 ++-- .../DropdownTypeaheadReferenceContainer.ts | 27 +++- src/utils/Datae.ts | 151 ------------------ 4 files changed, 48 insertions(+), 171 deletions(-) delete mode 100644 src/utils/Datae.ts diff --git a/src/components/Alert.ts b/src/components/Alert.ts index 90ebcce..0953538 100644 --- a/src/components/Alert.ts +++ b/src/components/Alert.ts @@ -2,18 +2,14 @@ import { SFC, createElement } from "react"; import * as classNames from "classnames"; export interface AlertProps { - message: string; + bootstrapStyle?: "default" | "primary" | "success" | "info" | "warning" | "danger"; className?: string; - bootstrapStyle: "default" | "primary" | "success" | "info" | "warning" | "danger"; } -export const Alert: SFC = ({ className, bootstrapStyle, message }: AlertProps) => - message - ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, message) +export const Alert: SFC = ({ bootstrapStyle, className, children }) => + children + ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, children) : null; Alert.displayName = "Alert"; - -Alert.defaultProps = { - bootstrapStyle: "danger" -}; +Alert.defaultProps = { bootstrapStyle: "danger" }; diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 5f32d18..093d9e8 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -1,6 +1,8 @@ import { Component, createElement } from "react"; import Select from "react-select"; +import { Alert } from "./Alert"; +import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; export interface DropdownTypeaheadReferenceProps { @@ -14,7 +16,8 @@ export interface DropdownTypeaheadReferenceProps { isReadOnly: boolean; selectedValue: referenceOption; handleOnchange: (selectedOption: referenceOption) => void; - handleClick: () => void; + className: string; + alertMessage: string; } // tslint:disable-next-line:interface-over-type-literal @@ -39,14 +42,20 @@ export class DropdownTypeaheadReference extends Component this.props.editable !== "default"; @@ -144,6 +147,7 @@ export default class ReferenceSelectorContainer extends Component { const { mxform, mxObject, onChangeEvent, onChangeMicroflow, onChangeNanoflow } = this.props; const context = new mendix.lib.MxContext(); + context.setContext(mxObject.getEntity(), mxObject.getGuid()); if (onChangeEvent === "callMicroflow" && onChangeMicroflow) { window.mx.ui.action(onChangeMicroflow, { @@ -164,6 +168,25 @@ export default class ReferenceSelectorContainer extends Component; - references?: { - [ index: string ]: ReferencesSpec; - }; -} - -export interface FetchedData { - mxObjects?: mendix.lib.MxObject[]; -} - -export interface Nanoflow { - nanoflow: object[]; - paramsSpec: { Progress: string }; -} - -const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => - path.split("/").reduce((referenceSet, part, index, pathParts) => { - let parent = referenceSet; - // Use relations, skip entities sample: "module.relation_X_Y/module.entity_Y/attribute" - // At the moment Mendix support only 1 level deep. - if (index % 2 === 0) { - for (let i = 0; i < index; i += 2) { - if (parent.references) { - parent = parent.references[pathParts[i]]; - } - } - if (pathParts.length - 1 === index) { - // Skip empty attributes - if (part) { - parent.attributes = parent.attributes ? parent.attributes.concat(part) : [ part ]; - } - } else if (!parent.references) { - parent.references = { [part]: {} }; - } else if (!parent.references[part]) { - parent.references[part] = {}; - } - } - - return referenceSet; - }, references); - -export const fetchData = (options: FetchDataOptions): Promise => - new Promise((resolve, reject) => { - const { guid, entity, sortAttribute, sortOrder } = options; - if (entity && guid) { - if (options.source === "xpath") { - const references = getReferences(options.attributes || []); - fetchByXPath({ - attributes: references.attributes, - constraint: options.constraint || "", - entity, - guid, - references: references.references, - sortAttribute, - sortOrder - }) - .then(mxObjects => resolve({ mxObjects })) - .catch(message => reject({ message })); - } else if (options.source === "microflow" && options.microflow) { - fetchByMicroflow(options.microflow, guid) - .then(mxObjects => resolve({ mxObjects })) - .catch(message => reject({ message })); - } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) {// nanoflow - fetchByNanoflow(options.nanoflow, options.mxform) - .then(mxObjects => resolve({ mxObjects })) - .catch(message => reject({ message })); - } else { - reject("entity & guid are required"); - } - } - }); - -export const fetchByXPath = (options: FetchByXPathOptions): Promise => new Promise((resolve, reject) => { - const { guid, entity, constraint, sortAttribute, sortOrder, attributes, references } = options; - const entityPath = entity.split("/"); - const entityName = entityPath.length > 1 ? entityPath[entityPath.length - 1] : entity; - const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; - - window.mx.data.get({ - callback: resolve, - error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), - filter: { - attributes, - references, - sort: sortAttribute && sortAttribute.indexOf("/") === -1 ? [ [ sortAttribute, sortOrder || "asc" ] ] : [] - }, - xpath - }); -}); - -export const fetchByMicroflow = (actionname: string, guid: string): Promise => - new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; - window.mx.ui.action(actionname, { - callback: (result) => resolve(result as any), - error: error => reject(`${errorMessage} ${error.message}`), - params: { applyto: "selection", guids: [ guid ] } - }); - }); - -export const fetchByNanoflow = (actionname: Nanoflow, mxform: mxui.lib.form._FormBase): Promise => - new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by nanoflow (${actionname}): `; - const context = new mendix.lib.MxContext(); - window.mx.data.callNanoflow({ - callback: (result) => resolve(result as any), - context, - error: error => reject(`${errorMessage} ${error.message}`), - nanoflow: actionname, - origin: mxform - }); - }); - -const getReferences = (attributePaths: string[]): ReferencesSpec => { - let references: ReferencesSpec = { attributes: [] }; - attributePaths.forEach(attribute => { - references = addPathReference(references, attribute); - }); - - return references; -}; From daeccb4b98d42402fcba7882185a6b117df6be18 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 27 Jul 2018 05:37:57 +0300 Subject: [PATCH 11/89] Write up 'README' content --- README.md | 36 +++++++++++++++--- assets/dropdown-typeahead-appearance.png | Bin 0 -> 13246 bytes assets/dropdown-typeahead-datasource.png | Bin 0 -> 14949 bytes assets/dropdown-typeahead-events.png | Bin 0 -> 15784 bytes assets/dropdown-typeahead-reference.png | Bin 0 -> 12646 bytes .../dropdown-typeahead-selectable-objects.png | Bin 0 -> 16683 bytes development.md | 6 +-- src/DropdownTypeaheadReference.xml | 8 ++-- src/components/DropdownTypeaheadReference.ts | 2 + .../DropdownTypeaheadReferenceContainer.ts | 16 ++++++-- 10 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 assets/dropdown-typeahead-appearance.png create mode 100644 assets/dropdown-typeahead-datasource.png create mode 100644 assets/dropdown-typeahead-events.png create mode 100644 assets/dropdown-typeahead-reference.png create mode 100644 assets/dropdown-typeahead-selectable-objects.png diff --git a/README.md b/README.md index 6402d55..b71aaaa 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,45 @@ -# Dropdown Typeahead Reference -an input widget that can be used to display and edit associations +# Dropdown TypeAhead Reference +An input widget that can be used to display and edit associations ## Features - +* Allow the user to search for matching options +* Supports different data sources + - Xpath + - Microflow + - Nanoflow +* Supports on change actions + - call a microflow + - call a nanoflow +* Supports on press `Tab` or `Enter` keys to auto complete suggested selection ## Dependencies -Mendix 7.16 +Mendix 7.13.1 ## Demo project +[https://referenceselector100.mxapps.io](https://referenceselector100.mxapps.io) ## Usage +![dropdown-typeahead-reference](/assets/dropdown-typeahead-reference.png) + +* Place the widget in data form within the context of an entity +* Select entity path and attribute over reference for selectable objects +* Select the data source + +## Basic configuration +For a basic configuration, set up the widget as indicated below:- +### Data source +![dropdown-typeahead-datasource](/assets/dropdown-typeahead-datasource.png) +### Appearance +![dropdown-typeahead-appearance](/assets/dropdown-typeahead-appearance.png) +### Selectable objects +![dropdown-typeahead-selectable-objects](/assets/dropdown-typeahead-selectable-objects.png) +### Events +![dropdown-typeahead-events](/assets/dropdown-typeahead-events.png) ## Issues, suggestions and feature requests - +We are actively maintaining this widget, please report any issues or suggestion for improvement at +https://github.com/mendixlabs/dropdown-type-ahead/issues ## Development and contribution Please follow [development guide](/development.md) diff --git a/assets/dropdown-typeahead-appearance.png b/assets/dropdown-typeahead-appearance.png new file mode 100644 index 0000000000000000000000000000000000000000..c6b61f183fa88713ea11ad272f4e1f7fb3aa0e74 GIT binary patch literal 13246 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 P1UheKb*B8(mD~Rfr4IGH literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-datasource.png b/assets/dropdown-typeahead-datasource.png new file mode 100644 index 0000000000000000000000000000000000000000..8519ff7d345f9fb2dab9fa6982992c16b5fd192d GIT binary patch literal 14949 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 literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-reference.png b/assets/dropdown-typeahead-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..de27083e199bdcec2d4a612bd651e1198fc09821 GIT binary patch literal 12646 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 Z%MeevG0*_~-w4RzZ~PBbe|`SPe*vUa4HEzW literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-selectable-objects.png b/assets/dropdown-typeahead-selectable-objects.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0875150efab0648ba92efebd13cb2cf0fd5f08 GIT binary patch literal 16683 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 literal 0 HcmV?d00001 diff --git a/development.md b/development.md index 88c7afc..ec2eac3 100644 --- a/development.md +++ b/development.md @@ -3,7 +3,7 @@ To contribute, fork and clone. - > git clone https://github.com/.git + > git clone https://github.com/mendixlabs/dropdown-type-ahead.git The code is in typescript. Use a typescript IDE of your choice, like Visual Studio Code or WebStorm. @@ -14,8 +14,8 @@ Create a folder named `dist` in the project root. Create a Mendix test project in the dist folder and rename its root folder to `dist/MxTestProject`. Changes to the widget code shall be automatically pushed to this test project. - Or get the test project from [https://github.com/releases] - (https://github.com/releases) + Or get the test project from [https://github.com/mendixlabs/dropdown-type-ahead/releases] + (https://github.com/mendixlabs/dropdown-type-ahead/releases) To automatically compile, bundle and push code changes to the running test project, run: > grunt diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 25123e0..4bd06ec 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -32,10 +32,10 @@ Never - + Empty option caption Appearance - Text displayed before selection + Text displayed when no selection is made Show caption @@ -96,13 +96,13 @@ Onchange microflow Events - The microflow that will be executed on color change + Microflow executed on change selection Onchange nanoflow Events - The nanoflow that will be executed on color change + Nanoflow executed on change selection diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 093d9e8..d9a20b6 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -49,7 +49,9 @@ export class DropdownTypeaheadReference extends Component { private subscriptionHandles: number[] = []; + // private editable = true; readonly state: ContainerState = { options: [], selected: {} @@ -45,7 +46,7 @@ export default class ReferenceSelectorContainer extends Component this.props.editable !== "default"; + private isReadOnly = (): boolean => { + if (this.props.editable !== "default") { + return true; + } + // else if (!this.editable) { + // return true; + // } + return false; + } private handleSubscriptions = () => { Promise.all([ this.fetchDataByreference(this.props.mxObject) ]) @@ -168,7 +177,7 @@ export default class ReferenceSelectorContainer extends Component Date: Tue, 31 Jul 2018 06:09:02 +0300 Subject: [PATCH 12/89] Add clearable feature to dropdown --- package-lock.json | 8 ++-- package.json | 2 +- src/DropdownTypeaheadReference.xml | 5 +++ src/components/DropdownTypeaheadReference.ts | 16 +++++--- .../DropdownTypeaheadReferenceContainer.ts | 40 ++++++++++++++----- src/ui/DropdownTypeaheadReference.scss | 20 ++++++++-- 6 files changed, 65 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9df9774..f51b0f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "referenceselector", + "name": "dropdowntypeaheadreference", "version": "1.0.0", "lockfileVersion": 1, "requires": true, @@ -5373,9 +5373,9 @@ } }, "mendix-client": { - "version": "7.13.4", - "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.13.4.tgz", - "integrity": "sha512-2lUzmNf8ugoQ+UzsNPY4hq2YmsbQOtNJZ9Eiy0xsTwNQN4MqKa9Vj3CZQAhtP5tfvx4BBLfLTmBVHOABFTT70w==", + "version": "7.13.5", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.13.5.tgz", + "integrity": "sha512-ncQNeo8aQ1QqCIt8H+S2VAtshxfk36RDdYucyI+WijXSHtVk78yWVYu5slBKeQERbHzmJ/X3dvRCVy+nrQ2i/w==", "dev": true, "requires": { "@types/big.js": "0.0.31", diff --git a/package.json b/package.json index a0241d7..f88b1d3 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "grunt-newer": "^1.3.0", "grunt-webpack": "^3.1.1", "jasmine": "^3.1.0", - "mendix-client": "^7.13.4", + "mendix-client": "^7.13.5", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.9.2", "raw-loader": "^0.5.1", diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 4bd06ec..7b9a919 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -47,6 +47,11 @@ Appearance + + Enable clear selection + Appearance + Clears a selected option + Source Selectable objects diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index d9a20b6..f541ba0 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -7,12 +7,12 @@ import "../ui/DropdownTypeaheadReference.scss"; export interface DropdownTypeaheadReferenceProps { style?: object; - readOnly: boolean; data: referenceOption[]; value: string; label: string; showLabel: boolean; emptyCaption: string; + isClearable: boolean; isReadOnly: boolean; selectedValue: referenceOption; handleOnchange: (selectedOption: referenceOption) => void; @@ -25,7 +25,9 @@ export type referenceOption = { value?: string, label?: string }; export class DropdownTypeaheadReference extends Component { render() { - return createElement("div", { className: "widget-reference-selector-wrapper" }, + return createElement("div", { + className: classNames("widget-dropdowntypeahead-wrapper", this.props.className) + }, this.renderLabel(), this.renderSelector() ); @@ -45,11 +47,11 @@ export class DropdownTypeaheadReference extends Component 0 && this.props.selectedValue.label !== "") { + if (this.props.selectedValue === undefined) { + return { placeholder: this.props.emptyCaption }; + } else if (JSON.stringify(this.props.selectedValue) !== "{}" && this.props.selectedValue.label !== "") { return { value: this.props.selectedValue }; } else { return { placeholder: this.props.emptyCaption }; diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index ed42e94..93aa0a4 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -21,6 +21,7 @@ export interface ContainerProps extends WrapperProps { source: "xpath"| "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; showLabel: boolean; + isClearable: boolean; nanoflow: Nanoflow; microflow: string; onChangeNanoflow: Nanoflow; @@ -31,12 +32,12 @@ export interface ContainerProps extends WrapperProps { export interface ContainerState { options: referenceOption[]; - selected: referenceOption; + selected: referenceOption | undefined; } -// TODO: Names of Props is too long export default class ReferenceSelectorContainer extends Component { private subscriptionHandles: number[] = []; + private association: string = this.props.entityPath.split("/")[0]; // private editable = true; readonly state: ContainerState = { options: [], @@ -52,6 +53,7 @@ export default class ReferenceSelectorContainer extends Component { + if (values.length !== 0) { const MendixObject = values[0]; this.setState({ selected: this.getValue(MendixObject) }); + } }) .catch(mx.ui.error); } + } if (newProps.mxObject && (newProps.mxObject !== this.props.mxObject)) { this.retrieveOptions(newProps); @@ -106,12 +112,14 @@ export default class ReferenceSelectorContainer extends Component { + if (this.props.mxObject.getOriginalReferences(this.association).length !== 0) { Promise.all([ this.fetchDataByreference(this.props.mxObject) ]) .then((values: mendix.lib.MxObject[]) => { const MendixObject = values[0]; this.setState({ selected: this.getValue(MendixObject) }); }) .catch(mx.ui.error); + } } private fetchDataByreference(mxObject: mendix.lib.MxObject): Promise { @@ -119,16 +127,17 @@ export default class ReferenceSelectorContainer extends Component Date: Thu, 2 Aug 2018 13:19:58 +0300 Subject: [PATCH 13/89] Fix broken widget on listen to grid --- src/components/DropdownTypeaheadReference.ts | 14 ++- .../DropdownTypeaheadReferenceContainer.ts | 92 ++++++++----------- 2 files changed, 47 insertions(+), 59 deletions(-) diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index f541ba0..026483c 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -24,6 +24,8 @@ export interface DropdownTypeaheadReferenceProps { export type referenceOption = { value?: string, label?: string }; export class DropdownTypeaheadReference extends Component { + // private Node?: HTMLDivElement; + render() { return createElement("div", { className: classNames("widget-dropdowntypeahead-wrapper", this.props.className) @@ -43,6 +45,10 @@ export class DropdownTypeaheadReference extends Component { + // this.Node = Node; + // } + private renderSelector() { return createElement("div", { className: classNames( @@ -56,6 +62,7 @@ export class DropdownTypeaheadReference extends Component { private subscriptionHandles: number[] = []; private association: string = this.props.entityPath.split("/")[0]; - // private editable = true; readonly state: ContainerState = { - options: [], - selected: {} + options: [] }; private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); @@ -63,22 +61,18 @@ export default class ReferenceSelectorContainer extends Component { - if (values.length !== 0) { - const MendixObject = values[0]; - this.setState({ selected: this.getValue(MendixObject) }); - } - }) - .catch(mx.ui.error); - } - } - if (newProps.mxObject && (newProps.mxObject !== this.props.mxObject)) { + if (newProps.mxObject.getOriginalReferences(this.association).length !== 0) { + this.fetchDataByreference(newProps.mxObject) + .then((value: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(value) }); + }) + .catch(mx.ui.error); + } this.retrieveOptions(newProps); this.resetSubscriptions(newProps.mxObject); + } else { + this.setState({ selected: undefined }); } } @@ -86,37 +80,27 @@ export default class ReferenceSelectorContainer extends Component) => { + private setOptions = (mendixObjects: FetchedData) => { const dataOptions: referenceOption[] = []; - - Promise.all([ Data ]) - .then((value: FetchedData[]) => { - const mendixObjects = value[0].mxObjects; - if (this.props.attribute && mendixObjects) { - for (const mxObject of mendixObjects) { - dataOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); - } - } - this.setState({ options: dataOptions }); - }).catch(mx.ui.error); + const guids: string[] = []; + if (this.props.attribute && mendixObjects.mxObjects && mendixObjects.mxObjects.length) { + mendixObjects.mxObjects.forEach(mxObject => { + dataOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + guids.push(mxObject.getGuid()); + }); + } + this.setState({ options: dataOptions }); } private isReadOnly = (): boolean => { - if (this.props.editable !== "default") { - return true; - } - // else if (!this.editable) { - // return true; - // } - return false; + return this.props.editable !== "default"; } - private handleSubscriptions = () => { + private handleSubscriptions = (_somevalue: any) => { if (this.props.mxObject.getOriginalReferences(this.association).length !== 0) { - Promise.all([ this.fetchDataByreference(this.props.mxObject) ]) - .then((values: mendix.lib.MxObject[]) => { - const MendixObject = values[0]; - this.setState({ selected: this.getValue(MendixObject) }); + this.fetchDataByreference(this.props.mxObject) + .then((mxObject: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(mxObject) }); }) .catch(mx.ui.error); } @@ -132,7 +116,7 @@ export default class ReferenceSelectorContainer extends Component { @@ -208,7 +193,6 @@ export default class ReferenceSelectorContainer extends Component Date: Tue, 7 Aug 2018 09:25:08 +0200 Subject: [PATCH 14/89] Fix popup issue: set overflow to visible --- src/components/DropdownTypeaheadReference.ts | 7 +++--- .../DropdownTypeaheadReferenceContainer.ts | 22 ++++++++++--------- src/ui/DropdownTypeaheadReference.scss | 12 +++++----- src/utils/Data.ts | 2 +- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 026483c..a0fe591 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -36,7 +36,7 @@ export class DropdownTypeaheadReference extends Component { this.setState({ selected: this.getValue(value) }); }) @@ -96,9 +96,9 @@ export default class ReferenceSelectorContainer extends Component { + private handleSubscriptions = () => { if (this.props.mxObject.getOriginalReferences(this.association).length !== 0) { - this.fetchDataByreference(this.props.mxObject) + this.fetchDataByReference(this.props.mxObject) .then((mxObject: mendix.lib.MxObject) => { this.setState({ selected: this.getValue(mxObject) }); }) @@ -106,7 +106,7 @@ export default class ReferenceSelectorContainer extends Component { + private fetchDataByReference(mxObject: mendix.lib.MxObject): Promise { return new Promise((resolve) => mxObject.fetch(this.props.entityPath, resolve)); } @@ -136,7 +136,7 @@ export default class ReferenceSelectorContainer extends Component { @@ -187,12 +185,15 @@ export default class ReferenceSelectorContainer extends Component => fetchByMicroflow(options.microflow, guid) .then(mxObjects => resolve({ mxObjects })) .catch(message => reject({ message })); - } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) {// nanoflow + } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) { // nanoflow fetchByNanoflow(options.nanoflow, options.mxform) .then(mxObjects => resolve({ mxObjects })) .catch(message => reject({ message })); From 993bc67d2da6f1e2a7b6e2f25bf65c0c91497222 Mon Sep 17 00:00:00 2001 From: Joseph D Date: Wed, 8 Aug 2018 13:40:59 +0300 Subject: [PATCH 15/89] Setup functional tests --- .gitignore | 1 + .travis.yml | 44 + package-lock.json | 7033 +++++++++++++----- package.json | 45 +- tests/e2e/DropdownTypeaheadReference.spec.ts | 14 + tests/e2e/pages/sample.page.ts | 11 + tests/e2e/tsconfig.json | 16 + tests/e2e/wdio.conf.js | 36 + tests/helpers/structureMatcher.ts | 204 + tests/matchers.ts | 54 + tests/mocks/Mendix.ts | 144 + tests/remap.js | 18 + tests/test-index.js | 9 + typings/DropdownTypeaheadReference.d.ts | 2 + typings/customMatchers.d.ts | 9 + typings/jasmine.d.ts | 5 + 16 files changed, 5726 insertions(+), 1919 deletions(-) create mode 100644 .travis.yml create mode 100644 tests/e2e/DropdownTypeaheadReference.spec.ts create mode 100644 tests/e2e/pages/sample.page.ts create mode 100644 tests/e2e/tsconfig.json create mode 100644 tests/e2e/wdio.conf.js create mode 100644 tests/helpers/structureMatcher.ts create mode 100644 tests/matchers.ts create mode 100644 tests/mocks/Mendix.ts create mode 100644 tests/remap.js create mode 100644 tests/test-index.js create mode 100644 typings/DropdownTypeaheadReference.d.ts create mode 100644 typings/customMatchers.d.ts create mode 100644 typings/jasmine.d.ts diff --git a/.gitignore b/.gitignore index a331c19..fe9ff7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ dist/ +localSettings.js node_modules/ .vscode diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..4a76983 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,44 @@ +sudo: required +dist: trusty +language: node_js +node_js: +- "8" +addons: + apt: + sources: + - google-chrome + packages: + - google-chrome-stable +before_install: +- npm i -g npm +- npm install grunt-cli -g +- export CHROME_BIN=chromium-browser +- export DISPLAY=:99.0 +- sh -e /etc/init.d/xvfb start +- wget -q -O - http://opensource.wandisco.com/wandisco-debian.gpg | sudo apt-key add +- sudo sh -c "echo 'deb http://opensource.wandisco.com/debian/ wheezy svn17' > /etc/apt/sources.list.d/wandisco-subversion.list" +- sudo apt-get -qq update +- sudo apt-get install -y --allow-downgrades subversion=1.7.22-1+WANdisco libsvn1=1.7.22-1+WANdisco +- svn --version +- npm --version +after_success: +- bash <(curl -s https://codecov.io/bash) +cache: + directories: + - node_modules +env: + global: + - MX_APP_NAME=dropdowntypeahead + - MX_BRANCH_NAME=trunk + - MX_PROJECT_ID=8514bda6-39a5-465c-8923-3f1ba33afdcc + - MX_ENVIRONMENT=Sandbox + - MX_USER=ci@flockofbirds.org +deploy: + provider: releases + api_key: $GITHUB_KEY + file_glob: true + file: dist/release/* + skip_cleanup: true + on: + repo: $TRAVIS_REPO_SLUG + tags: true diff --git a/package-lock.json b/package-lock.json index f51b0f8..7582bd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,13 +24,13 @@ } }, "@emotion/babel-utils": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.7.tgz", - "integrity": "sha512-U6iTV9HurrZ0ye8VOTIGcV4tMdDtAIGbfCH58L/NdOhW05pV/KVlNmbXsHp01VMSM+pgmSkGqHSLLE8zdDYJvA==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.9.tgz", + "integrity": "sha512-QN2+TP+x5QWuOGUv8TZwdMiF8PHgBQiLx646rKZBnakgc9gLYFi+gsROVxE6YTNHSaEv0fWsFjDasDyiWSJlDg==", "requires": { "@emotion/hash": "^0.6.5", "@emotion/memoize": "^0.6.5", - "@emotion/serialize": "^0.8.5", + "@emotion/serialize": "^0.9.0", "convert-source-map": "^1.5.1", "find-root": "^1.1.0", "source-map": "^0.7.2" @@ -54,14 +54,14 @@ "integrity": "sha512-n1USr7yICA4LFIv7z6kKsXM8rZJxd1btKCBmDewlit+3OJ2j4bDfgXTAxTHYbPkHS/eztHmFWfsbxW2Pu5mDqA==" }, "@emotion/serialize": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.8.5.tgz", - "integrity": "sha512-NObUNfK7lqxFpSJWHRwJeeGSZaElEgMn5eR76ift06yx9FdwIfFY47ffapkf2lJUoIUx4ffP55fPSVPMgv0Qgw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.0.tgz", + "integrity": "sha512-ScuBRGxHCyAEN8YgQSsxtG5ddmP9+Of8WkxC7hidhGTxKhq3lgeCu5cFk2WdAMrpYgEd0U4g4QW/1YrCOGpAsA==", "requires": { "@emotion/hash": "^0.6.5", "@emotion/memoize": "^0.6.5", - "@emotion/unitless": "^0.6.5", - "@emotion/utils": "^0.7.3" + "@emotion/unitless": "^0.6.6", + "@emotion/utils": "^0.8.1" } }, "@emotion/stylis": { @@ -70,14 +70,14 @@ "integrity": "sha512-yS+t7l5FeYeiIyADyqjFBJvdotpphHb2S3mP4qak5BpV7ODvxuyAVF24IchEslW+A1MWHAhn5SiOW6GZIumiEQ==" }, "@emotion/unitless": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.5.tgz", - "integrity": "sha512-kAFHWyQTMLcOvse+RfEfJ6uwwOlVFZcUOMX0wuBvEMwnF3Zb/6VQ/xDgbx9fNlp3I6AAmijAtUtIyT2qVldpnA==" + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.6.tgz", + "integrity": "sha512-zbd1vXRpGWCgDLsXqITReL+eqYJ95PYyWrVCCuMLBDb2LGA/HdxrZHJri6Fe+tKHihBOiCK1kbu+3Ij8aNEjzA==" }, "@emotion/utils": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.7.3.tgz", - "integrity": "sha512-1bGqG9IYJETOOqQEjWinGx1deLlAW/Fcew4GyrzZx0dJIgAjivZTmwzjrhB+Vhj7TgjMr0aTyj5byHmZezisZQ==" + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.1.tgz", + "integrity": "sha512-dEv1n+IFtlvLQ8/FsTOtBCC1aNT4B5abE8ODF5wk2tpWnjvgGNRMvHCeJGbVHjFfer4h8MH2w9c2/6eoJHclMg==" }, "@types/big.js": { "version": "0.0.31", @@ -85,10 +85,22 @@ "integrity": "sha1-9lMMemn5j68hjYmS395+SyW/fMk=", "dev": true }, + "@types/bluebird": { + "version": "3.5.23", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.23.tgz", + "integrity": "sha512-xlehmc6RT+wMEhy9ZqeqmozVmuFzTfsaV2NlfFFWhigy7n6sjMbUUB+SZBWK78lZgWHA4DBAdQvQxUvcB8N1tw==", + "dev": true + }, + "@types/cheerio": { + "version": "0.22.8", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.8.tgz", + "integrity": "sha512-LzF540VOFabhS2TR2yYFz2Mu/fTfkA+5AwYddtJbOJGwnYrr2e7fHadT7/Z3jNGJJdCRlO3ySxmW26NgRdwhNA==", + "dev": true + }, "@types/classnames": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha512-zGjPvgyTSpD+ow5YfWRVGC4HrgAm5L1lF+SBwGyxQyqHwNE/5fXmXDEhdqcIVrpol6FhBehsGYIzJ7FdGvc0BA==", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-XHcYvVdbtAxVstjKxuULYqYaWIzHR15yr1pZj4fnGChuBVJlIAp9StJna0ZJNSgxPh4Nac2FL4JM3M11Tm6fqQ==", "dev": true }, "@types/core-js": { @@ -103,30 +115,59 @@ "integrity": "sha512-FbU4UeyeVHzJS2gih3+dZU4kiWl1yVNsHzeCVZ7d4rPpgw/K7TQUUJ0kqNx8YBLXHRXuxvLLUDP/Y43Bh6txwQ==", "dev": true }, + "@types/enzyme": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.1.13.tgz", + "integrity": "sha512-TwzKKiX5sGh/WweucxPXb8zjMLlLekGtBQw0ihk1HSj14zZuioG3Gql3jbxxb1YDRLbT4WQyzWG/h4Y7eCdw1g==", + "dev": true, + "requires": { + "@types/cheerio": "*", + "@types/react": "*" + } + }, "@types/jasmine": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz", "integrity": "sha512-OJSUxLaxXsjjhob2DBzqzgrkLmukM3+JMpRp0r0E4HTdT1nwDCWhaswjYxazPij6uOdzHCJfNbDjmQ1/rnNbCg==", "dev": true }, + "@types/karma": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/karma/-/karma-1.7.5.tgz", + "integrity": "sha512-Q76dNhOudqVLHlYrFnirH7IaB30/7OPkhzg6WmtpcDYd8XIljcUIJVwg9m5VeS1nVNLd88FCpjggpMLvZV8d/w==", + "dev": true, + "requires": { + "@types/bluebird": "*", + "@types/node": "*" + } + }, "@types/node": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", - "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", + "version": "10.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", + "integrity": "sha512-VkKcfuitP+Nc/TaTFH0B8qNmn+6NbI6crLkQonbedViVz7O2w8QV/GERPlkJ4bg42VGHiEWa31CoTOPs1q6z1w==", "dev": true }, + "@types/prop-types": { + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.4.tgz", + "integrity": "sha512-RnC6YeQDmDas7DToCbRWNntB9XpIR+sqg1zUqcCUxOJTBwGeSAPfTQaXqzyNND82FIBNY67r17FedDyaKRcHBQ==", + "requires": { + "@types/react": "*" + } + }, "@types/react": { - "version": "16.4.6", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.6.tgz", - "integrity": "sha512-9LDZdhsuKSc+DjY65SjBkA958oBWcTWSVWAd2cD9XqKBjhGw1KzAkRhWRw2eIsXvaIE/TOTjjKMFVC+JA1iU4g==", + "version": "16.4.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.8.tgz", + "integrity": "sha512-i1bQXfUF2gItMpG9u9epR02DHLZEpXHON0I6z89vFvbOfGRMyMP1h6VxHTa9TpSJhXrYQjNhwTtLGJdvQA7kcA==", "requires": { + "@types/prop-types": "*", "csstype": "^2.2.0" } }, "@types/react-dom": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.6.tgz", - "integrity": "sha512-M+1zmwa5KxUpkCuxA4whlDJKYTGNvNQW4pIoCLH16xGbClicD9CzPry4y94kTjCCk/bJZCZ/GVqUsP7eKcO/mQ==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.7.tgz", + "integrity": "sha512-vaq4vMaJOaNgFff1t3LnHYr6vRa09vRspMkmLdXtFZmO1fwDI2snP+dpOkwrtlU8UC8qsqemCu4RmVM2OLq/fA==", "dev": true, "requires": { "@types/node": "*", @@ -134,9 +175,9 @@ } }, "@types/react-select": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.2.10.tgz", - "integrity": "sha512-2BBjILgzea4RZRbJgg6vNDox32YF8stWBc64+IXZxsCNXRbpsPoSDXflWwn6a7aZYcrXPO8dYnYRVS3B0yJPpw==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.3.4.tgz", + "integrity": "sha512-0BwjswNzKBszG5O4xq72W54NrrbmOZvJfaM/Dwru3F6DhvFO9nihMP1IRzXSOJ1qGRCS3VCu9FnBYJ+25lSldw==", "requires": { "@types/react": "*" } @@ -413,23 +454,6 @@ "requires": { "mime-types": "~2.1.18", "negotiator": "0.6.1" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "dev": true, - "requires": { - "mime-db": "~1.35.0" - } - } } }, "acorn": { @@ -447,16 +471,38 @@ "acorn": "^5.0.0" } }, + "addressparser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", + "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=", + "dev": true, + "optional": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ajv-keywords": { @@ -465,12 +511,92 @@ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", "dev": true }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.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.5" + } + } + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "amqplib": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz", + "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==", + "dev": true, + "optional": true, + "requires": { + "bitsyntax": "~0.0.4", + "bluebird": "^3.4.6", + "buffer-more-ints": "0.0.2", + "readable-stream": "1.x >=1.1.9", + "safe-buffer": "^5.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -483,13 +609,15 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true }, "anymatch": { "version": "2.0.0", @@ -539,9 +667,9 @@ } }, "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { "delegates": "^1.0.0", @@ -549,9 +677,9 @@ } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" } @@ -574,6 +702,12 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -581,9 +715,9 @@ "dev": true }, "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "array-includes": { @@ -596,6 +730,12 @@ "es-abstract": "^1.7.0" } }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -617,6 +757,23 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "array.prototype.flat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", + "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1" + } + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -626,13 +783,17 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } }, "asn1.js": { "version": "4.10.1", @@ -672,9 +833,9 @@ } }, "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "assign-symbols": { @@ -683,13 +844,20 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, + "ast-types": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", + "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", + "dev": true, + "optional": true + }, "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.14.0" + "lodash": "^4.17.10" } }, "async-each": { @@ -704,6 +872,12 @@ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -711,23 +885,45 @@ "dev": true }, "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, + "axios": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz", + "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", + "dev": true, + "optional": true, + "requires": { + "follow-redirects": "1.0.0" + }, + "dependencies": { + "follow-redirects": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz", + "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", + "dev": true, + "optional": true, + "requires": { + "debug": "^2.2.0" + } + } + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -736,48 +932,6 @@ "chalk": "^1.1.3", "esutils": "^2.0.2", "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } } }, "babel-core": { @@ -819,13 +973,6 @@ "lodash": "^4.17.4", "source-map": "^0.5.7", "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - } } }, "babel-helpers": { @@ -866,11 +1013,11 @@ } }, "babel-plugin-macros": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.3.0.tgz", - "integrity": "sha512-Y9h4dQMlzUUKATfNEN+sgiwND/+PGiAkjSW+qwyATIvYMk1y39XmaLHXKI2VojplqtOWQry0y6CumvDw+qETvQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.4.0.tgz", + "integrity": "sha512-flIBfrqAdHWn+4l2cS/4jZEyl+m5EaBHVzTb0aOF+eu/zR7E41/MoCFHPhDNL8Wzq1nyelnXeT+vcL2byFLSZw==", "requires": { - "cosmiconfig": "^4.0.0" + "cosmiconfig": "^5.0.5" } }, "babel-plugin-syntax-jsx": { @@ -952,6 +1099,12 @@ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -970,14 +1123,66 @@ "isobject": "^3.0.1", "mixin-deep": "^1.2.0", "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.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, "base64-js": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", "dev": true }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -985,15 +1190,41 @@ "dev": true }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "optional": true, "requires": { "tweetnacl": "^0.14.3" } }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "bfj-node4": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", + "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "check-types": "^7.3.0", + "tryer": "^1.0.0" + } + }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -1006,15 +1237,32 @@ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, + "bitsyntax": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", + "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", + "dev": true, + "optional": true, + "requires": { + "buffer-more-ints": "0.0.2" + } + }, "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { - "readable-stream": "^2.0.5" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -1049,21 +1297,21 @@ } }, "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "dev": true, "requires": { "bytes": "3.0.0", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" }, "dependencies": { "bytes": { @@ -1072,43 +1320,23 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", "dev": true, "requires": { "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - } } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true } } }, @@ -1124,15 +1352,29 @@ "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + } } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "4.x.x" + "hoek": "2.x.x" } }, "bower-config": { @@ -1149,23 +1391,22 @@ } }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", - "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", - "define-property": "^1.0.0", "extend-shallow": "^2.0.1", "fill-range": "^4.0.0", "isobject": "^3.0.1", @@ -1174,6 +1415,17 @@ "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.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.0" + } + } } }, "brorand": { @@ -1217,14 +1469,6 @@ "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "browserify-rsa": { @@ -1262,26 +1506,47 @@ } }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.0.tgz", + "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", "dev": true, "requires": { "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "ieee754": "^1.1.4" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, "buffer-from": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", - "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "buffer-indexof": { @@ -1290,12 +1555,43 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "buffer-more-ints": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz", + "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=", + "dev": true + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, + "buildmail": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz", + "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=", + "dev": true, + "optional": true, + "requires": { + "addressparser": "1.0.1", + "libbase64": "0.1.0", + "libmime": "3.0.0", + "libqp": "1.1.0", + "nodemailer-fetch": "1.6.0", + "nodemailer-shared": "1.1.0", + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + } + } + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -1352,6 +1648,12 @@ "unset-value": "^1.0.0" } }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", @@ -1374,17 +1676,35 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, "check-dependencies": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/check-dependencies/-/check-dependencies-1.1.0.tgz", @@ -1397,6 +1717,63 @@ "lodash.camelcase": "^4.3.0", "minimist": "^1.2.0", "semver": "^5.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "check-types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", + "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", + "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "dev": true, + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" } }, "chokidar": { @@ -1456,6 +1833,12 @@ "safe-buffer": "^5.0.1" } }, + "circular-json": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", + "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==", + "dev": true + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -1476,63 +1859,6 @@ "requires": { "is-descriptor": "^0.1.0" } - }, - "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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "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.5" - } - } - } - }, - "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.0.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 } } }, @@ -1541,17 +1867,48 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, + "optional": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + } } }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, "clone-deep": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", @@ -1564,6 +1921,12 @@ "shallow-clone": "^1.0.0" } }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -1593,39 +1956,54 @@ } }, "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", "dev": true, "requires": { - "color-name": "^1.1.1" + "color-name": "1.1.1" } }, "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "color-support": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", "dev": true }, + "combine-lists": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", + "dev": true, + "requires": { + "lodash": "^4.5.0" + } + }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", - "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true }, "commondir": { @@ -1634,12 +2012,24 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", + "dev": true + }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "dev": true + }, "compress-commons": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", @@ -1659,14 +2049,6 @@ "dev": true, "requires": { "mime-db": ">= 1.34.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", - "dev": true - } } }, "compression": { @@ -1689,12 +2071,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true } } }, @@ -1715,6 +2091,18 @@ "typedarray": "^0.0.6" } }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + } + }, "connect-history-api-fallback": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", @@ -1821,17 +2209,6 @@ "requires": { "is-extglob": "^2.1.1" } - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } } } }, @@ -1847,46 +2224,23 @@ "dev": true }, "cosmiconfig": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.5.tgz", + "integrity": "sha512-94j37OtvxS5w7qr7Ta6dt67tWdnOxigBVN4VnSxNXFez9o18PGQ0D33SchKP17r9LAcWVTYV72G6vDayAUBFIg==", "requires": { "is-directory": "^0.3.1", "js-yaml": "^3.9.0", - "parse-json": "^4.0.0", - "require-from-string": "^2.0.1" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } + "parse-json": "^4.0.0" } }, "crc": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", - "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", - "dev": true + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "requires": { + "buffer": "^5.1.0" + } }, "crc32-stream": { "version": "2.0.0", @@ -1960,23 +2314,12 @@ } }, "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "5.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - } + "boom": "2.x.x" } }, "crypto-browserify": { @@ -1998,6 +2341,29 @@ "randomfill": "^1.0.3" } }, + "css": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", + "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "source-map": "^0.1.38", + "source-map-resolve": "^0.5.1", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "css-loader": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", @@ -2016,19 +2382,27 @@ "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - } + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -2042,6 +2416,18 @@ "regexpu-core": "^1.0.0" } }, + "css-value": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz", + "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=", + "dev": true + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, "cssesc": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", @@ -2049,9 +2435,9 @@ "dev": true }, "csstype": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.5.tgz", - "integrity": "sha512-EGMjeoiN3aqEX5u/cyH5mSdGBDGdLcCQvcEcBWNGFSPXKd9uOTIeVG91YQ22OxI44DKpvI+4C7VUSmEpsHWJaA==" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.6.tgz", + "integrity": "sha512-tKPyhy0FmfYD2KQYXD5GzkvAYLYj96cMLXr648CKGd3wBe0QqoPipImjGiLze9c8leJK8J3n7ap90tpk3E6HGQ==" }, "currently-unhandled": { "version": "0.4.1", @@ -2062,6 +2448,12 @@ "array-find-index": "^1.0.1" } }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", @@ -2084,8 +2476,29 @@ "dev": true, "requires": { "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", + "dev": true, + "optional": true + }, + "date-format": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", + "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=", + "dev": true + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -2139,9 +2552,9 @@ "dev": true }, "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, @@ -2154,6 +2567,18 @@ "lodash.isplainobject": "^4.0.6" } }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", + "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==", + "dev": true + }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", @@ -2165,12 +2590,65 @@ } }, "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", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", "dev": true, + "optional": true, "requires": { - "is-descriptor": "^1.0.0" + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true, + "optional": true + } } }, "del": { @@ -2271,6 +2749,12 @@ "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", "dev": true }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -2298,6 +2782,12 @@ "path-type": "^3.0.0" } }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "dev": true + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -2352,12 +2842,115 @@ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==" }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "double-ended-queue": { + "version": "2.1.0-0", + "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", + "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=", + "dev": true, + "optional": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, "duplexify": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", @@ -2371,13 +2964,14 @@ } }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ee-first": { @@ -2386,6 +2980,12 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, + "ejs": { + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz", + "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", + "dev": true + }, "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", @@ -2426,6 +3026,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, "requires": { "iconv-lite": "~0.4.13" } @@ -2439,6 +3040,75 @@ "once": "^1.4.0" } }, + "engine.io": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", + "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "uws": "~9.14.0", + "ws": "~3.3.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" + } + } + } + }, + "engine.io-client": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", + "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "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" + } + } + } + }, + "engine.io-parser": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", + "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "~1.0.2" + } + }, "enhanced-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", @@ -2450,6 +3120,70 @@ "tapable": "^1.0.0" } }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "enzyme": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.4.0.tgz", + "integrity": "sha512-WWmNC5JmHtA5SctwJ7nyDidyyfo8WoHI0T116iKHkXaElQKdsaCzz5I/wIT66g3yXRCgL/74LsQ3XAotkjFXPg==", + "dev": true, + "requires": { + "array.prototype.flat": "^1.2.1", + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.4", + "is-number-object": "^1.0.3", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash": "^4.17.4", + "object-inspect": "^1.6.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3" + } + }, + "enzyme-adapter-react-16": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.2.0.tgz", + "integrity": "sha512-UgBra+xZFVFbU5Tw7Inw0bPrNJhM2ru4vCoO7preX6sOicXuDbOH927QJx4pk6m6vatd8jnPXTF6/GCjzytJTg==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "^1.5.0", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.values": "^1.0.4", + "prop-types": "^15.6.2", + "react-is": "^16.4.2", + "react-reconciler": "^0.7.0", + "react-test-renderer": "^16.0.0-0" + } + }, + "enzyme-adapter-utils": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.5.0.tgz", + "integrity": "sha512-cLUaPYU8GEzAHi/1hiO+ylz4QiQWI8eb9SysAk8Tbul2O918dRf4cfD4s2BjijtwSvhapkOsPW9XRix1EXlJ1Q==", + "dev": true, + "requires": { + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "prop-types": "^15.6.2" + } + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -2470,9 +3204,9 @@ } }, "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { "is-arrayish": "^0.2.1" } @@ -2523,6 +3257,21 @@ "es6-symbol": "^3.1.1" } }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", @@ -2544,21 +3293,50 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, + "optional": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "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 + } + } + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esrecurse": { "version": "4.2.1", @@ -2657,6 +3435,34 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "expand-braces": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", + "dev": true, + "requires": { + "array-slice": "^0.2.3", + "array-unique": "^0.2.1", + "braces": "^0.1.2" + }, + "dependencies": { + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", + "dev": true, + "requires": { + "expand-range": "^0.1.0" + } + } + } + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -2681,69 +3487,45 @@ "is-descriptor": "^0.1.0" } }, - "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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "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.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-extendable": "^0.1.0" } + } + } + }, + "expand-range": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", + "dev": true, + "requires": { + "is-number": "^0.1.1", + "repeat-string": "^0.2.2" + }, + "dependencies": { + "is-number": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", + "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==", + "repeat-string": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", "dev": true } } }, "expand-template": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz", - "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz", + "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==", "dev": true, "optional": true }, @@ -2794,27 +3576,145 @@ "vary": "~1.1.2" }, "dependencies": { - "array-flatten": { + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "finalhandler": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true } } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "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": { + "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" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -2831,77 +3731,90 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" - } - }, - "extract-text-webpack-plugin": { - "version": "4.0.0-beta.0", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz", - "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==", - "dev": true, - "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5", - "webpack-sources": "^1.1.0" }, "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "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": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "is-descriptor": "^1.0.0" } }, - "fast-deep-equal": { + "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "kind-of": "^6.0.0" } }, - "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==", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } }, + "extract-text-webpack-plugin": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz", + "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==", + "dev": true, + "requires": { + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5", + "webpack-sources": "^1.1.0" + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" + } + }, "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": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, "fast-json-stable-stringify": { @@ -2910,6 +3823,12 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, "fastparse": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", @@ -2926,9 +3845,10 @@ } }, "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dev": true, "requires": { "core-js": "^1.0.0", "isomorphic-fetch": "^2.1.1", @@ -2936,22 +3856,60 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "ua-parser-js": "^0.7.18" }, "dependencies": { "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true } } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "fibers": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-2.0.2.tgz", + "integrity": "sha512-HfVRxhYG7C8Jl9FqtrlElMR2z/8YiLQVDKf67MLY25Ic+ILx3ecmklfT1v3u+7P5/4vEFjuxaAFXhr2/Afwk5g==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "file-sync-cmp": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", "dev": true }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -2962,21 +3920,40 @@ "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.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.0" + } + } } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~1.0.1", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "statuses": "~1.3.1", "unpipe": "~1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } } }, "find-cache-dir": { @@ -3027,9 +4004,9 @@ } }, "follow-redirects": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", - "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", + "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", "dev": true, "requires": { "debug": "^3.1.0" @@ -3074,9 +4051,9 @@ "dev": true }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -3115,6 +4092,21 @@ "readable-stream": "^2.0.0" } }, + "fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", + "dev": true, + "requires": { + "null-check": "^1.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-extra": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", @@ -3399,13 +4391,6 @@ "dev": true, "optional": true }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true - }, "needle": { "version": "2.2.0", "bundled": true, @@ -3692,12 +4677,63 @@ "rimraf": "2" } }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "function.prototype.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz", + "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "is-callable": "^1.1.3" + } + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -3723,6 +4759,23 @@ "globule": "^1.0.0" } }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "optional": true, + "requires": { + "is-property": "^1.0.0" + } + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -3741,6 +4794,21 @@ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, + "get-uri": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", + "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", + "dev": true, + "optional": true, + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "3", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -3760,6 +4828,14 @@ "dev": true, "requires": { "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "github-from-package": { @@ -3845,14 +4921,15 @@ "glob": "~7.1.1", "lodash": "~4.17.10", "minimatch": "~3.0.2" - }, - "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - } + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" } }, "graceful-fs": { @@ -3886,6 +4963,12 @@ "rimraf": "~2.6.2" }, "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, "findup-sync": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", @@ -3935,6 +5018,25 @@ "nopt": "~3.0.6", "resolve": "~1.1.0" } + }, + "js-yaml": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } } } }, @@ -3978,33 +5080,6 @@ "lodash": "^4.7.0", "pretty-bytes": "^4.0.2", "stream-buffers": "^2.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } } }, "grunt-contrib-copy": { @@ -4015,33 +5090,6 @@ "requires": { "chalk": "^1.1.1", "file-sync-cmp": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } } }, "grunt-contrib-watch": { @@ -4054,14 +5102,6 @@ "gaze": "^1.1.0", "lodash": "^4.17.10", "tiny-lr": "^1.1.1" - }, - "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - } } }, "grunt-file-append": { @@ -4086,6 +5126,14 @@ "grunt-legacy-log-utils": "~2.0.0", "hooker": "~0.2.3", "lodash": "~4.17.5" + }, + "dependencies": { + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + } } }, "grunt-legacy-log-utils": { @@ -4118,18 +5166,6 @@ "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -4161,12 +5197,6 @@ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true } } }, @@ -4198,26 +5228,126 @@ "lodash": "^4.7.0" } }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^3.0.0" + } + }, "handle-thing": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", "dev": true }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + } } }, "has": { @@ -4233,17 +5363,48 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", + "dev": true + }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", @@ -4309,15 +5470,26 @@ } }, "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hipchat-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz", + "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=", "dev": true, + "optional": true, "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" + "lodash": "^4.0.0", + "request": "^2.0.0" } }, "hmac-drbg": { @@ -4332,9 +5504,9 @@ } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "home-or-tmp": { @@ -4385,6 +5557,20 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -4420,78 +5606,39 @@ "requires-port": "^1.0.0" } }, - "http-proxy-middleware": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", - "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "requires": { - "http-proxy": "^1.16.2", - "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" + "agent-base": "4", + "debug": "3.1.0" }, "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.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.0" - } - } - } - }, - "define-property": { - "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", - "isobject": "^3.0.1" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "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": { - "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" - } - } + "ms": "2.0.0" } - }, + } + } + }, + "http-proxy-middleware": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "dev": true, + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + }, + "dependencies": { "is-glob": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", @@ -4500,100 +5647,85 @@ "requires": { "is-extglob": "^2.1.1" } - }, - "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 - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "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" - }, - "dependencies": { - "regex-not": { - "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": "^3.0.2", - "safe-regex": "^1.1.0" - } - } - } } } }, "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "^0.2.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" } }, + "httpntlm": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz", + "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", + "dev": true, + "requires": { + "httpreq": ">=0.4.22", + "underscore": "~1.7.0" + }, + "dependencies": { + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + } + } + }, + "httpreq": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz", + "integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=", + "dev": true + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + }, + "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" + } + } + } + }, + "humanize-duration": { + "version": "3.15.1", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.15.1.tgz", + "integrity": "sha512-xfwsDoAinTTTNUAuYUGdeSPOUWEXzn9Xkep5LR0gpSw0gMKfpqLA7oxLWVRstYtZUarnCaeN0QqkOTC0TTPUpg==", + "dev": true + }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } }, "icss-replace-symbols": { "version": "1.1.0", @@ -4678,6 +5810,13 @@ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", + "dev": true, + "optional": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -4700,6 +5839,90 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "internal-ip": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", @@ -4730,18 +5953,29 @@ "dev": true }, "ipaddr.js": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", - "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", "dev": true }, "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "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": "^6.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-arrayish": { @@ -4758,6 +5992,12 @@ "binary-extensions": "^1.0.0" } }, + "is-boolean-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", + "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", + "dev": true + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -4780,12 +6020,23 @@ "dev": true }, "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "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": "^6.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-date-object": { @@ -4795,14 +6046,22 @@ "dev": true }, "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "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": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.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-directory": { @@ -4848,6 +6107,27 @@ "is-extglob": "^2.1.0" } }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true, + "optional": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -4868,14 +6148,11 @@ } } }, - "is-odd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", - "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", - "dev": true, - "requires": { - "is-number": "^3.0.0" - } + "is-number-object": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", + "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", + "dev": true }, "is-path-cwd": { "version": "1.0.0", @@ -4910,6 +6187,19 @@ "isobject": "^3.0.1" } }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true, + "optional": true + }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -4922,7 +6212,20 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", + "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true }, "is-symbol": { "version": "1.0.1", @@ -4943,9 +6246,9 @@ "dev": true }, "is-windows": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", - "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "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": { @@ -4960,6 +6263,15 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4976,6 +6288,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, "requires": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" @@ -4987,22 +6300,136 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "jasmine": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.1.0.tgz", - "integrity": "sha1-K9Wf1+xuwOistk4J9Fpo7SrRlSo=", - "dev": true, - "requires": { - "glob": "^7.0.6", - "jasmine-core": "~3.1.0" - } - }, - "jasmine-core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.1.0.tgz", - "integrity": "sha1-pHheE11d9lAk38kiSVPfWFvSdmw=", - "dev": true - }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "jasmine": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.1.0.tgz", + "integrity": "sha1-K9Wf1+xuwOistk4J9Fpo7SrRlSo=", + "dev": true, + "requires": { + "glob": "^7.0.6", + "jasmine-core": "~3.1.0" + } + }, + "jasmine-core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.1.0.tgz", + "integrity": "sha1-pHheE11d9lAk38kiSVPfWFvSdmw=", + "dev": true + }, "js-base64": { "version": "2.4.8", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz", @@ -5015,13 +6442,12 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", - "dev": true, + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "^1.0.2", - "esprima": "^2.6.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -5032,10 +6458,9 @@ "optional": true }, "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" }, "json-parse-better-errors": { "version": "1.0.2", @@ -5049,11 +6474,20 @@ "dev": true }, "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -5080,6 +6514,19 @@ "graceful-fs": "^4.1.6" } }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true, + "optional": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -5090,6 +6537,134 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.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 + } + } + }, + "karma": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.5.tgz", + "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", + "dev": true, + "requires": { + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "chokidar": "^2.0.3", + "colors": "^1.1.0", + "combine-lists": "^1.0.0", + "connect": "^3.6.0", + "core-js": "^2.2.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "expand-braces": "^0.1.1", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^4.17.4", + "log4js": "^2.5.3", + "mime": "^1.3.4", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", + "socket.io": "2.0.4", + "source-map": "^0.6.1", + "tmp": "0.0.33", + "useragent": "2.2.1" + }, + "dependencies": { + "colors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.1.tgz", + "integrity": "sha512-jg/vxRmv430jixZrC+La5kMbUWqIg32/JsYNZb94+JEmzceYbWKTsv1OuTp+7EaqiaWRR2tPcykibwCRgclIsw==", + "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 + } + } + }, + "karma-chrome-launcher": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", + "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", + "dev": true, + "requires": { + "fs-access": "^1.0.0", + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz", + "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", + "dev": true, + "requires": { + "dateformat": "^1.0.6", + "istanbul": "^0.4.0", + "lodash": "^4.17.0", + "minimatch": "^3.0.0", + "source-map": "^0.5.1" + } + }, + "karma-jasmine": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", + "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", + "dev": true + }, + "karma-jasmine3-html-reporter": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/karma-jasmine3-html-reporter/-/karma-jasmine3-html-reporter-0.2.3.tgz", + "integrity": "sha512-Wg9xagm6y+FYOIX1sa9Dvr0zVTusteQ2L/SAX+TOGO15Iyo2eAINIxOa52MGnPr0WoXF9oWIqUipQ6wlf2V5zA==", + "dev": true, + "requires": { + "karma-jasmine": "^1.0.2" + } + }, + "karma-remap-istanbul": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/karma-remap-istanbul/-/karma-remap-istanbul-0.6.0.tgz", + "integrity": "sha1-l/O3cAZSVPm0ck8tm+SjouG69vw=", + "dev": true, + "requires": { + "istanbul": "^0.4.3", + "remap-istanbul": "^0.9.0" + } + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "karma-webpack": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.0.tgz", + "integrity": "sha512-Ja1o9LLoqWaJyUNhTKaXjWiEH9y7a9H3mzP8pYB30SBsgoF5KBS/65NeHFd+QPuT9ITrym8xFt8BZeGbcOfujA==", + "dev": true, + "requires": { + "async": "^2.0.0", + "babel-runtime": "^6.0.0", + "loader-utils": "^1.0.0", + "lodash": "^4.0.0", + "source-map": "^0.5.6", + "webpack-dev-middleware": "^2.0.6" } }, "killable": { @@ -5114,13 +6689,11 @@ } }, "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, - "requires": { - "set-getter": "^0.1.0" - } + "optional": true }, "lazystream": { "version": "1.0.0", @@ -5140,6 +6713,47 @@ "invert-kv": "^1.0.0" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "libbase64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz", + "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=", + "dev": true + }, + "libmime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz", + "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=", + "dev": true, + "requires": { + "iconv-lite": "0.4.15", + "libbase64": "0.1.0", + "libqp": "1.1.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", + "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", + "dev": true + } + } + }, + "libqp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", + "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=", + "dev": true + }, "livereload-js": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", @@ -5159,6 +6773,15 @@ "strip-bom": "^2.0.0" }, "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -5174,15 +6797,14 @@ "dev": true }, "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { "big.js": "^3.1.3", "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" + "json5": "^0.5.0" } }, "locate-path": { @@ -5196,9 +6818,63 @@ } }, "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true }, "lodash.assign": { "version": "4.2.0", @@ -5224,24 +6900,95 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", "dev": true }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", "dev": true }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", "dev": true }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -5249,6 +6996,205 @@ "dev": true, "requires": { "chalk": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "log4js": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz", + "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", + "dev": true, + "requires": { + "amqplib": "^0.5.2", + "axios": "^0.15.3", + "circular-json": "^0.5.4", + "date-format": "^1.2.0", + "debug": "^3.1.0", + "hipchat-notifier": "^1.1.0", + "loggly": "^1.1.0", + "mailgun-js": "^0.18.0", + "nodemailer": "^2.5.0", + "redis": "^2.7.1", + "semver": "^5.5.0", + "slack-node": "~0.2.0", + "streamroller": "0.7.0" + }, + "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" + } + } + } + }, + "loggly": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz", + "integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=", + "dev": true, + "optional": true, + "requires": { + "json-stringify-safe": "5.0.x", + "request": "2.75.x", + "timespan": "2.3.x" + }, + "dependencies": { + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", + "dev": true, + "optional": true, + "requires": { + "readable-stream": "~2.0.5" + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", + "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", + "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", + "dev": true, + "optional": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.75.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", + "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.0.0", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true, + "optional": true + } } }, "loglevel": { @@ -5273,12 +7219,18 @@ "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", "dev": true }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "loud-rejection": { @@ -5301,6 +7253,59 @@ "yallist": "^2.1.2" } }, + "mailcomposer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz", + "integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=", + "dev": true, + "optional": true, + "requires": { + "buildmail": "4.0.1", + "libmime": "3.0.0" + } + }, + "mailgun-js": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", + "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", + "dev": true, + "optional": true, + "requires": { + "async": "~2.6.0", + "debug": "~3.1.0", + "form-data": "~2.3.0", + "inflection": "~1.12.0", + "is-stream": "^1.1.0", + "path-proxy": "~1.0.0", + "promisify-call": "^2.0.2", + "proxy-agent": "~3.0.0", + "tsscmp": "~1.0.0" + }, + "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, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + } + } + }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", @@ -5362,6 +7367,11 @@ "mimic-fn": "^1.0.0" } }, + "memoize-one": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.0.tgz", + "integrity": "sha512-wdpOJ4XBejprGn/xhd1i2XR8Dv1A25FJeIvR7syQhQlz9eXsv+06llcvcmBxlWVGv4C73QBsWA8kxvZozzNwiQ==" + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -5383,9 +7393,9 @@ } }, "mendix-widget-build-script": { - "version": "1.0.0-rc2", - "resolved": "https://registry.npmjs.org/mendix-widget-build-script/-/mendix-widget-build-script-1.0.0-rc2.tgz", - "integrity": "sha512-b0BqqvxXNyUc64RFZuk7hVNls3oxIHSP/ntQOGXlGEgABoSIcCWAu0FXZIOb9lg77wsBUicgbdV03aGMI6jjBg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mendix-widget-build-script/-/mendix-widget-build-script-1.0.0.tgz", + "integrity": "sha512-gWql2Ud1qYdpqDUsey0HzHIbC3m5j9sGD5W+OgLxiYxxWz/l9DcEEWn9BCj7o6yui5kQk+nWv6xDvWmz3Lr68Q==", "dev": true, "requires": { "archiver": "^2.0.0", @@ -5427,6 +7437,14 @@ "read-pkg-up": "^1.0.1", "redent": "^1.0.0", "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "merge-descriptors": { @@ -5442,24 +7460,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.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", - "braces": "^2.3.0", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "extglob": "^2.0.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.0", - "nanomatch": "^1.2.5", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "to-regex": "^3.0.2" } }, "miller-rabin": { @@ -5473,24 +7491,24 @@ } }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", "dev": true }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "~1.30.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -5500,9 +7518,9 @@ "dev": true }, "mimic-response": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", - "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, "optional": true }, @@ -5527,10 +7545,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mississippi": { "version": "2.0.0", @@ -5548,18 +7565,6 @@ "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } } }, "mixin-deep": { @@ -5607,15 +7612,14 @@ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } } }, + "moo": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", + "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", + "dev": true + }, "mout": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mout/-/mout-1.1.0.tgz", @@ -5657,38 +7661,57 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", "dev": true, - "optional": true + "requires": { + "duplexer2": "0.0.2" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true }, "nanomatch": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", - "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "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.0.2", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" - }, - "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 - } + } + }, + "nearley": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.15.0.tgz", + "integrity": "sha512-ZjzdO+yBtMrRrBbr+BJ35ECla6PGCAb/6hqpBQe7bmhEJabQ4rpVdj4sadP1Z1jQGyaDmm1GciQWsGVxIZ3uJA==", + "dev": true, + "requires": { + "moo": "^0.4.3", + "nomnom": "~1.6.2", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6", + "semver": "^5.4.1" } }, "negotiator": { @@ -5703,16 +7726,29 @@ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", "dev": true }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", + "dev": true, + "optional": true + }, "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, "node-abi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz", - "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.3.tgz", + "integrity": "sha512-b656V5C0628gOOA2kwcpNA/bxdlqYF9FvxJ+qqVX0ctdXNVZpS8J6xEUYir3WAKc7U0BH/NRlSpNbGsy+azjeg==", "dev": true, "optional": true, "requires": { @@ -5723,6 +7759,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, "requires": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -5735,26 +7772,34 @@ "dev": true }, "node-gyp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", - "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz", + "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", "dev": true, "requires": { "fstream": "^1.0.0", "glob": "^7.0.3", "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", "mkdirp": "^0.5.0", "nopt": "2 || 3", "npmlog": "0 || 1 || 2 || 3 || 4", "osenv": "0", - "request": "2", + "request": ">=2.9.0 <2.82.0", "rimraf": "2", "semver": "~5.3.0", "tar": "^2.0.0", "which": "1" }, "dependencies": { + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", @@ -5792,6 +7837,25 @@ "url": "^0.11.0", "util": "^0.10.3", "vm-browserify": "0.0.4" + }, + "dependencies": { + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "node-sass": { @@ -5821,29 +7885,84 @@ "true-case-path": "^1.0.2" }, "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "request": { @@ -5873,25 +7992,114 @@ "tunnel-agent": "^0.6.0", "uuid": "^3.1.0" } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true } } }, - "node-svn-ultimate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/node-svn-ultimate/-/node-svn-ultimate-1.1.0.tgz", - "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", + "node-svn-ultimate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-svn-ultimate/-/node-svn-ultimate-1.1.0.tgz", + "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", + "dev": true, + "requires": { + "fs-extra": "^1.0.0", + "semver": "^5.3.0", + "uuid": "^3.0.0", + "xml2js": "^0.4.17" + } + }, + "nodemailer": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz", + "integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=", + "dev": true, + "optional": true, + "requires": { + "libmime": "3.0.0", + "mailcomposer": "4.0.1", + "nodemailer-direct-transport": "3.3.2", + "nodemailer-shared": "1.1.0", + "nodemailer-smtp-pool": "2.8.2", + "nodemailer-smtp-transport": "2.7.2", + "socks": "1.1.9" + }, + "dependencies": { + "socks": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz", + "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=", + "dev": true, + "optional": true, + "requires": { + "ip": "^1.1.2", + "smart-buffer": "^1.0.4" + } + } + } + }, + "nodemailer-direct-transport": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz", + "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=", + "dev": true, + "optional": true, + "requires": { + "nodemailer-shared": "1.1.0", + "smtp-connection": "2.12.0" + } + }, + "nodemailer-fetch": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", + "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=", + "dev": true + }, + "nodemailer-shared": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz", + "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=", + "dev": true, + "requires": { + "nodemailer-fetch": "1.6.0" + } + }, + "nodemailer-smtp-pool": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz", + "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=", + "dev": true, + "optional": true, + "requires": { + "nodemailer-shared": "1.1.0", + "nodemailer-wellknown": "0.1.10", + "smtp-connection": "2.12.0" + } + }, + "nodemailer-smtp-transport": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz", + "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=", "dev": true, + "optional": true, "requires": { - "fs-extra": "^1.0.0", - "semver": "^5.3.0", - "uuid": "^3.0.0", - "xml2js": "^0.4.17" + "nodemailer-shared": "1.1.0", + "nodemailer-wellknown": "0.1.10", + "smtp-connection": "2.12.0" + } + }, + "nodemailer-wellknown": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz", + "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=", + "dev": true + }, + "nomnom": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz", + "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=", + "dev": true, + "requires": { + "colors": "0.5.x", + "underscore": "~1.4.4" } }, "noop-logger": { @@ -5902,10 +8110,9 @@ "optional": true }, "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", "requires": { "abbrev": "1" } @@ -5931,6 +8138,12 @@ "remove-trailing-separator": "^1.0.1" } }, + "npm-install-package": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", + "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=", + "dev": true + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -5952,6 +8165,21 @@ "set-blocking": "~2.0.0" } }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", + "dev": true + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -5968,6 +8196,12 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", + "dev": true + }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -5988,43 +8222,6 @@ "is-descriptor": "^0.1.0" } }, - "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.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "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.0.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 - } - } - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -6036,6 +8233,18 @@ } } }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true + }, "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", @@ -6063,6 +8272,18 @@ "object-keys": "^1.0.11" } }, + "object.entries": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz", + "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.6.1", + "function-bind": "^1.1.0", + "has": "^1.0.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -6072,6 +8293,18 @@ "isobject": "^3.0.1" } }, + "object.values": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", + "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.6.1", + "function-bind": "^1.1.0", + "has": "^1.0.1" + } + }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -6102,6 +8335,21 @@ "wrappy": "1" } }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opener": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", + "dev": true + }, "opn": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", @@ -6119,23 +8367,37 @@ "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true } } }, "original": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz", - "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, "requires": { - "url-parse": "~1.4.0" + "url-parse": "^1.4.3" } }, "os-browserify": { @@ -6164,9 +8426,9 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { "os-homedir": "^1.0.0", @@ -6209,6 +8471,80 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "pac-proxy-agent": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz", + "integrity": "sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^3.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "optional": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "dev": true, + "optional": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + } + } + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "dev": true, + "optional": true, + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", @@ -6240,12 +8576,12 @@ } }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "parse-passwd": { @@ -6254,6 +8590,33 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "dev": true, + "requires": { + "better-assert": "~1.0.0" + } + }, "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", @@ -6302,11 +8665,30 @@ "dev": true }, "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, + "path-proxy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz", + "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=", + "dev": true, + "optional": true, + "requires": { + "inflection": "~1.3.0" + }, + "dependencies": { + "inflection": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz", + "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=", + "dev": true, + "optional": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -6335,6 +8717,12 @@ "sha.js": "^2.4.8" } }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -6371,9 +8759,9 @@ } }, "portfinder": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz", + "integrity": "sha512-icBXCFQxzlK2PMepOM0QeEdPPFSLAaXXeuKOv5AClJlMy1oVCBrkDGJ12IZYesI/BF8mpeVco3vRCmgeBb4+hw==", "dev": true, "requires": { "async": "^1.5.2", @@ -6426,12 +8814,6 @@ "supports-color": "^5.3.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -6495,9 +8877,9 @@ "dev": true }, "prebuild-install": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.1.tgz", - "integrity": "sha512-3DX9L6pzwc1m1ksMkW3Ky2WLgPQUBiySOfXVl3WZyAeJSyJb4wtoH9OmeRGcubAWsMlLiL8BTHbwfm/jPQE9Ag==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.3.tgz", + "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==", "dev": true, "optional": true, "requires": { @@ -6525,19 +8907,21 @@ "dev": true, "optional": true }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, - "optional": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "optional": true } } }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, "pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", @@ -6556,15 +8940,22 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, "requires": { "asap": "~2.0.3" } @@ -6575,26 +8966,71 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "promisify-call": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz", + "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=", + "dev": true, + "optional": true, + "requires": { + "with-callback": "^1.0.2" + } + }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } }, "proxy-addr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", - "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.6.0" + "ipaddr.js": "1.8.0" + } + }, + "proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.1.tgz", + "integrity": "sha512-mAZexaz9ZxQhYPWfAjzlrloEjW+JHiBFryE4AJXFDTnaXfmH/FKqC1swTRKuEPbHWz02flQNXFOyDUF7zfEG6A==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "pac-proxy-agent": "^2.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.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, + "optional": true, + "requires": { + "ms": "2.0.0" + } + } } }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true, + "optional": true + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -6621,11 +9057,10 @@ } }, "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, - "optional": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -6640,30 +9075,30 @@ "duplexify": "^3.6.0", "inherits": "^2.0.3", "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } } }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qjobs": { + "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": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true }, "querystring": { @@ -6689,7 +9124,23 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "^2.1.0" + "performance-now": "^2.1.0" + } + }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", + "dev": true + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" } }, "randombytes": { @@ -6742,22 +9193,31 @@ "dev": true }, "rc": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", - "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } } }, "react": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.4.1.tgz", - "integrity": "sha512-3GEs0giKp6E0Oh/Y9ZC60CmYgUPnp7voH9fbjWsvXtYFb4EWtgQub0ADSq0sJR0BbHc4FThLLtzlcFaFXIorwg==", + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz", + "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==", "dev": true, "requires": { "fbjs": "^0.8.16", @@ -6767,9 +9227,9 @@ } }, "react-dom": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.1.tgz", - "integrity": "sha512-1Gin+wghF/7gl4Cqcvr1DxFX2Osz7ugxSwl6gBqCMpdrxHjIFUS7GYxrFftZ9Ln44FHw0JxCFD9YtZsrbR5/4A==", + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.2.tgz", + "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==", "dev": true, "requires": { "fbjs": "^0.8.16", @@ -6786,24 +9246,55 @@ "prop-types": "^15.5.8" } }, + "react-is": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.2.tgz", + "integrity": "sha512-rI3cGFj/obHbBz156PvErrS5xc6f1eWyTwyV4mo0vF2lGgXgS+mm7EKD5buLJq6jNgIagQescGSVG2YzgXt8Yg==", + "dev": true + }, "react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-reconciler": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.7.0.tgz", + "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, "react-select": { - "version": "2.0.0-beta.7", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.0.0-beta.7.tgz", - "integrity": "sha512-Wj4X28Cl7sk9fY1sXbx0NHRQ9pOXZjadj+JcFnUgsF3ZBd6w2pBFqTIbFEZhu+/rGUULEFYQ6YcecDo/uz6z+A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.0.0.tgz", + "integrity": "sha512-i2yWg8tbsY37iPimIvQ0TtIrAzxgGWQTRDZrZPQ2QVNkyHPxDartMkzf2x2Enm6wRkt9I5+pEKSIcvkwIkkiAQ==", "requires": { "classnames": "^2.2.5", "emotion": "^9.1.2", + "memoize-one": "^4.0.0", "prop-types": "^15.6.0", "raf": "^3.4.0", "react-input-autosize": "^2.2.1", "react-transition-group": "^2.2.1" } }, + "react-test-renderer": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.4.2.tgz", + "integrity": "sha512-vdTPnRMDbxfv4wL4lzN4EkVGXyYs7LE2uImOsqh1FKiP6L5o1oJl8nore5sFi9vxrP9PK3l4rgb/fZ4PVUaWSA==", + "dev": true, + "requires": { + "fbjs": "^0.8.16", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0", + "react-is": "^16.4.2" + } + }, "react-transition-group": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz", @@ -6813,17 +9304,6 @@ "loose-envify": "^1.3.1", "prop-types": "^15.6.2", "react-lifecycles-compat": "^3.0.4" - }, - "dependencies": { - "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } } }, "read-pkg": { @@ -6888,17 +9368,17 @@ } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, @@ -6924,6 +9404,32 @@ "strip-indent": "^1.0.1" } }, + "redis": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", + "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", + "dev": true, + "optional": true, + "requires": { + "double-ended-queue": "^2.1.0-0", + "redis-commands": "^1.2.0", + "redis-parser": "^2.6.0" + } + }, + "redis-commands": { + "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 + }, + "redis-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", + "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=", + "dev": true, + "optional": true + }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", @@ -6936,12 +9442,13 @@ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "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": { @@ -6968,6 +9475,72 @@ "dev": true, "requires": { "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remap-istanbul": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.9.6.tgz", + "integrity": "sha512-l0WDBsVjaTzP8m3glERJO6bjlAFUahcgfcgvcX+owZw7dKeDLT3CVRpS7UO4L9LfGcMiNsqk223HopwVxlh8Hg==", + "dev": true, + "requires": { + "amdefine": "^1.0.0", + "gulp-util": "3.0.7", + "istanbul": "0.4.5", + "minimatch": "^3.0.3", + "source-map": "^0.6.1", + "through2": "2.0.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "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 + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + } + } } }, "remove-trailing-separator": { @@ -6996,34 +9569,61 @@ "is-finite": "^1.0.0" } }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", "caseless": "~0.12.0", "combined-stream": "~1.0.5", - "extend": "~3.0.1", + "extend": "~3.0.0", "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", - "tough-cookie": "~2.3.3", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "uuid": "^3.0.0" + }, + "dependencies": { + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + } + } + }, + "requestretry": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", + "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", + "dev": true, + "optional": true, + "requires": { + "extend": "^3.0.0", + "lodash": "^4.15.0", + "request": "^2.74.0", + "when": "^3.7.7" } }, "require-directory": { @@ -7032,11 +9632,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", @@ -7086,12 +9681,38 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, "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 }, + "rgb2hex": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.9.tgz", + "integrity": "sha512-32iuQzhOjyT+cv9aAFRBJ19JgHwzQwbjUhH3Fj2sWW2EEGAW8fpFrDFP5ndoKDxJaLO06x1hE3kyuIFrUQtybQ==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.1" + } + }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", @@ -7111,6 +9732,25 @@ "inherits": "^2.0.1" } }, + "rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", + "dev": true, + "requires": { + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -7120,10 +9760,25 @@ "aproba": "^1.1.1" } }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safe-json-parse": { @@ -7141,6 +9796,12 @@ "ret": "~0.1.10" } }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -7151,103 +9812,270 @@ "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", "yargs": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + } } }, "sass-loader": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.0.3.tgz", - "integrity": "sha512-iaSFtQcGo4SSgDw5Aes5p4VTrA5jCGSA7sGmhPIcOloBlgI1VktM2MUrk2IHHjbNagckXlPz+HWq1vAAPrcYxA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", + "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", "dev": true, "requires": { "clone-deep": "^2.0.1", "loader-utils": "^1.0.1", "lodash.tail": "^4.1.1", "neo-async": "^2.5.0", - "pify": "^3.0.0" + "pify": "^3.0.0", + "semver": "^5.5.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { - "loader-utils": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selenium-standalone": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/selenium-standalone/-/selenium-standalone-6.15.1.tgz", + "integrity": "sha512-2VXqkcpd+RNJZwCp8UMmqubeSkLvscraRZtg2qdkXwoNNmx5Hu6uaOBy45VJNG6PiUJNZtBZQpnOUfNN2aD1EA==", + "dev": true, + "requires": { + "async": "^2.1.4", + "commander": "^2.9.0", + "cross-spawn": "^6.0.0", + "debug": "^3.0.0", + "lodash": "^4.17.4", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "progress": "2.0.0", + "request": "2.87.0", + "tar-stream": "1.6.1", + "urijs": "^1.18.4", + "which": "^1.2.12", + "yauzl": "^2.5.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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" + } + }, + "fast-deep-equal": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" } - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "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.1.0", - "ajv-keywords": "^3.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } }, "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true - } - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } } } }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, "selfsigned": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", @@ -7282,6 +10110,20 @@ "on-finished": "~2.3.0", "range-parser": "~1.2.0", "statuses": "~1.4.0" + }, + "dependencies": { + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + } } }, "serialize-javascript": { @@ -7318,9 +10160,9 @@ } }, "serviceworker-webpack-plugin": { - "version": "1.0.0-alpha02", - "resolved": "https://registry.npmjs.org/serviceworker-webpack-plugin/-/serviceworker-webpack-plugin-1.0.0-alpha02.tgz", - "integrity": "sha512-5fHnA4BUch8yD5k/FCihhP+XL8TWNB/c/mlxaYsZHp+LuqHPnWUknqApfaroGSv9Ere/G3HEN0SMYiIste5eVQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/serviceworker-webpack-plugin/-/serviceworker-webpack-plugin-1.0.1.tgz", + "integrity": "sha512-VgDEkZ3pA0HajsRaWtl5w6bLxAXx0Y+4dm7YeTcIxVmvC9YXvstex38HOBDuYETeDS5fUlBy/47gC0QYBrG0nw==", "dev": true, "requires": { "minimatch": "^3.0.4" @@ -7332,15 +10174,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "dev": true, - "requires": { - "to-object-path": "^0.3.0" - } - }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", @@ -7357,12 +10190,24 @@ "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.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.0" + } + } } }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "setprototypeof": { "version": "1.1.0", @@ -7428,9 +10273,9 @@ "optional": true }, "simple-get": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.7.0.tgz", - "integrity": "sha512-RkE9rGPHcxYZ/baYmgJtOSM63vH0Vyq+ma5TijBcLla41SWlh8t6XYIGMR/oeZcmr+/G8k+zrClkkVrtnQ0esg==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "dev": true, "optional": true, "requires": { @@ -7439,15 +10284,42 @@ "simple-concat": "^1.0.0" } }, + "slack-node": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz", + "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=", + "dev": true, + "optional": true, + "requires": { + "requestretry": "^1.2.2" + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" }, + "smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", + "dev": true, + "optional": true + }, + "smtp-connection": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", + "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=", + "dev": true, + "requires": { + "httpntlm": "1.6.1", + "nodemailer-shared": "1.1.0" + } + }, "snapdragon": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", - "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -7457,7 +10329,7 @@ "map-cache": "^0.2.2", "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", - "use": "^2.0.0" + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -7469,62 +10341,14 @@ "is-descriptor": "^0.1.0" } }, - "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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "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.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-extendable": "^0.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 } } }, @@ -7537,6 +10361,46 @@ "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.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.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, "snapdragon-util": { @@ -7560,12 +10424,81 @@ } }, "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "socket.io": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", + "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", + "dev": true, + "requires": { + "debug": "~2.6.6", + "engine.io": "~3.1.0", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.0.4", + "socket.io-parser": "~3.1.1" + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "dev": true + }, + "socket.io-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", + "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~2.6.4", + "engine.io-client": "~3.1.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.1.1", + "to-array": "0.1.4" + } + }, + "socket.io-parser": { + "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": { - "hoek": "4.x.x" + "component-emitter": "1.2.1", + "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", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } } }, "sockjs": { @@ -7579,9 +10512,9 @@ } }, "sockjs-client": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", - "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", "dev": true, "requires": { "debug": "^2.6.6", @@ -7603,6 +10536,48 @@ } } }, + "socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", + "dev": true, + "optional": true, + "requires": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", + "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", + "dev": true, + "optional": true, + "requires": { + "agent-base": "~4.2.0", + "socks": "~2.2.0" + }, + "dependencies": { + "smart-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", + "dev": true, + "optional": true + }, + "socks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", + "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", + "dev": true, + "optional": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" + } + } + } + }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -7625,6 +10600,18 @@ "source-map": "~0.6.1" }, "dependencies": { + "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.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -7634,12 +10621,12 @@ } }, "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "^2.0.0", + "atob": "^2.1.1", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -7660,6 +10647,12 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, "spdx-correct": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", @@ -7728,27 +10721,6 @@ "dev": true, "requires": { "extend-shallow": "^3.0.0" - }, - "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": { @@ -7757,9 +10729,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { "asn1": "~0.2.3", @@ -7769,7 +10741,16 @@ "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "ssri": { @@ -7799,70 +10780,13 @@ "requires": { "is-descriptor": "^0.1.0" } - }, - "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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "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.5" - } - } - } - }, - "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.0.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 } } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stdout-stream": { @@ -7891,9 +10815,9 @@ "dev": true }, "stream-each": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", - "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -7911,38 +10835,6 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-shift": { @@ -7951,6 +10843,29 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, + "streamroller": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", + "dev": true, + "requires": { + "date-format": "^1.2.0", + "debug": "^3.1.0", + "mkdirp": "^0.5.1", + "readable-stream": "^2.3.0" + }, + "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" + } + } + } + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -7969,25 +10884,24 @@ } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" } }, "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", "dev": true }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -8031,19 +10945,6 @@ "requires": { "loader-utils": "^1.1.0", "schema-utils": "^0.4.5" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - } } }, "stylis": { @@ -8057,13 +10958,9 @@ "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "tapable": { "version": "1.0.0", @@ -8083,9 +10980,9 @@ } }, "tar-fs": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", - "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", + "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", "dev": true, "optional": true, "requires": { @@ -8093,20 +10990,42 @@ "mkdirp": "^0.5.1", "pump": "^1.0.0", "tar-stream": "^1.1.2" + }, + "dependencies": { + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } } }, "tar-stream": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", - "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", + "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { "bl": "^1.0.0", + "buffer-alloc": "^1.1.0", "end-of-stream": "^1.0.0", - "readable-stream": "^2.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.0", "xtend": "^4.0.0" } }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", @@ -8117,12 +11036,25 @@ "xtend": "~4.0.1" } }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", + "dev": true, + "optional": true + }, "thunky": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", "dev": true }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -8132,6 +11064,13 @@ "setimmediate": "^1.0.4" } }, + "timespan": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", + "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=", + "dev": true, + "optional": true + }, "tiny-lr": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", @@ -8157,12 +11096,33 @@ } } }, + "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-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -8189,82 +11149,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.0" - } - }, - "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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "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.5" - } - } - } - }, - "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.0.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": { @@ -8283,25 +11176,23 @@ "integrity": "sha1-RJy+LbrlqMgDjjDXH6D/RklHxN4=", "requires": { "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "requires": { - "abbrev": "1" - } - } } }, "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" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "trim-newlines": { @@ -8339,6 +11230,12 @@ } } }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, "ts-loader": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.4.2.tgz", @@ -8352,15 +11249,33 @@ "semver": "^5.0.1" }, "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "ansi-styles": { + "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": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" } } } @@ -8391,20 +11306,24 @@ "tsutils": "^2.27.2" }, "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "resolve": { @@ -8415,6 +11334,15 @@ "requires": { "path-parse": "^1.0.5" } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -8446,10 +11374,17 @@ } } }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "dev": true, + "optional": true + }, "tsutils": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.28.0.tgz", - "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -8477,6 +11412,15 @@ "dev": true, "optional": true }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, "type-is": { "version": "1.6.16", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", @@ -8485,23 +11429,6 @@ "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.18" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "dev": true, - "requires": { - "mime-db": "~1.35.0" - } - } } }, "typedarray": { @@ -8517,34 +11444,30 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==", + "dev": true }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, + "optional": true, "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, "uglifyjs-webpack-plugin": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", @@ -8561,14 +11484,42 @@ "worker-farm": "^1.5.2" }, "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, "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 + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + } } } }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "underscore": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=", + "dev": true + }, "underscore.string": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz", @@ -8591,6 +11542,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.0" + } + }, "set-value": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", @@ -8691,16 +11651,14 @@ "dev": true, "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } } }, + "urijs": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz", + "integrity": "sha512-xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==", + "dev": true + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -8726,15 +11684,15 @@ } }, "url-join": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", "dev": true }, "url-parse": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz", - "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", "dev": true, "requires": { "querystringify": "^2.0.0", @@ -8742,80 +11700,25 @@ } }, "use": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "useragent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", + "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", "dev": true, "requires": { - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "lazy-cache": "^2.0.2" + "lru-cache": "2.2.x", + "tmp": "0.0.x" }, "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.0" - } - }, - "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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "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.5" - } - } - } - }, - "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.0.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==", + "lru-cache": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", + "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", "dev": true } } @@ -8842,15 +11745,22 @@ "dev": true }, "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "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 + }, "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==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -8872,6 +11782,25 @@ "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.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 + } + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" } }, "vm-browserify": { @@ -8883,6 +11812,12 @@ "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 + }, "walkdir": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", @@ -8909,10 +11844,275 @@ "minimalistic-assert": "^1.0.0" } }, + "wdio-dot-reporter": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", + "integrity": "sha1-kpsq2v1J1rBTT9oGjocxm0fjj+U=", + "dev": true + }, + "wdio-jasmine-framework": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/wdio-jasmine-framework/-/wdio-jasmine-framework-0.3.5.tgz", + "integrity": "sha512-XzqEROcybKZp9cFCXlnHwAtBMrHWYxn5/iBYNergrJ0Mol6k9NiJ3cZV/d+BV2VAdAtk6iJH0LTws/JTHo+glQ==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "jasmine": "^3.0.0", + "wdio-sync": "0.7.1" + } + }, + "wdio-selenium-standalone-service": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/wdio-selenium-standalone-service/-/wdio-selenium-standalone-service-0.0.10.tgz", + "integrity": "sha512-PnpY6r8DcMwU2ZVk5y1d8vKhqOq6bXJILy/g5O5ncMpFaxIZcLkFA1u/11XBJwgzWXgUAXPPnIchkb+/t1dbXA==", + "dev": true, + "requires": { + "fs-extra": "^0.30.0", + "selenium-standalone": "^6.13.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + } + } + }, + "wdio-spec-reporter": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/wdio-spec-reporter/-/wdio-spec-reporter-0.1.5.tgz", + "integrity": "sha512-MqvgTow8hFwhFT47q67JwyJyeynKodGRQCxF7ijKPGfsaG1NLssbXYc0JhiL7SiAyxnQxII0UxzTCd3I6sEdkg==", + "dev": true, + "requires": { + "babel-runtime": "~6.26.0", + "chalk": "^2.3.0", + "humanize-duration": "~3.15.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "wdio-sync": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/wdio-sync/-/wdio-sync-0.7.1.tgz", + "integrity": "sha512-7BTWoBbDZsIVR67mx3cqkYiE3gZid5OJPBcjje1SlC28uXJA73YVxKPBR3SzY+iQy4dk0vSyqUcGkuQBjUNQew==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "fibers": "~2.0.0", + "object.assign": "^4.0.3" + } + }, + "webdriverio": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.13.1.tgz", + "integrity": "sha1-Yk70ylafPJpejpsRMCtEMe2h+4o=", + "dev": true, + "requires": { + "archiver": "~2.1.0", + "babel-runtime": "^6.26.0", + "css-parse": "^2.0.0", + "css-value": "~0.0.1", + "deepmerge": "~2.0.1", + "ejs": "~2.5.6", + "gaze": "~1.1.2", + "glob": "~7.1.1", + "inquirer": "~3.3.0", + "json-stringify-safe": "~5.0.1", + "mkdirp": "~0.5.1", + "npm-install-package": "~2.1.0", + "optimist": "~0.6.1", + "q": "~1.5.0", + "request": "^2.83.0", + "rgb2hex": "~0.1.4", + "safe-buffer": "~5.1.1", + "supports-color": "~5.0.0", + "url": "~0.11.0", + "wdio-dot-reporter": "~0.0.8", + "wgxpath": "~1.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "archiver": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", + "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", + "dev": true, + "requires": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^1.2.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + } + }, + "supports-color": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", + "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + } + } + } + }, "webpack": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.1.tgz", - "integrity": "sha512-6jpzObU18y7lXDJz7XCLvzgrqcJ0rZ2jhKvnTivza9gM2GvPW93xxtmEll2GgmdC0zVQAtbHrH/9BtyMjSDZfA==", + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", + "integrity": "sha512-i5cHYHonzSc1zBuwB5MSzW4v9cScZFbprkHK8ZgzPDCRkQXGGpYzPmJhbus5bOrZ0tXTcQp+xyImRSvKb0b+Kw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.5.13", @@ -8940,179 +12140,73 @@ "uglifyjs-webpack-plugin": "^1.2.4", "watchpack": "^1.5.0", "webpack-sources": "^1.0.1" + } + }, + "webpack-bundle-analyzer": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", + "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", + "dev": true, + "requires": { + "acorn": "^5.3.0", + "bfj-node4": "^5.2.0", + "chalk": "^2.3.0", + "commander": "^2.13.0", + "ejs": "^2.5.7", + "express": "^4.16.2", + "filesize": "^3.5.11", + "gzip-size": "^4.1.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "opener": "^1.4.3", + "ws": "^4.0.0" }, "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "ansi-styles": { + "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": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "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.0" - } - } + "color-convert": "^1.9.0" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "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" - } - } + "has-flag": "^3.0.0" } }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "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 - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "dependencies": { - "regex-not": { - "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": "^3.0.2", - "safe-regex": "^1.1.0" - } - } + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0" } } } }, "webpack-dev-middleware": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", - "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz", + "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", "dev": true, "requires": { "loud-rejection": "^1.6.0", @@ -9120,7 +12214,7 @@ "mime": "^2.1.0", "path-is-absolute": "^1.0.0", "range-parser": "^1.0.3", - "url-join": "^4.0.0", + "url-join": "^2.0.2", "webpack-log": "^1.0.1" }, "dependencies": { @@ -9133,9 +12227,9 @@ } }, "webpack-dev-server": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz", - "integrity": "sha512-itcIUDFkHuj1/QQxzUFOEXXmxOj5bku2ScLEsOFPapnq2JRTm58gPdtnBphBJOKL2+M3p6+xygL64bI+3eyzzw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz", + "integrity": "sha512-LVHg+EPwZLHIlfvokSTgtJqO/vI5CQi89fASb5JEDtVMDjY0yuIEqPPdMiKaBJIB/Ab7v/UN/sYZ7WsZvntQKw==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -9159,7 +12253,7 @@ "selfsigned": "^1.9.1", "serve-index": "^1.7.2", "sockjs": "0.3.19", - "sockjs-client": "1.1.4", + "sockjs-client": "1.1.5", "spdy": "^3.4.1", "strip-ansi": "^3.0.0", "supports-color": "^5.1.0", @@ -9211,18 +12305,18 @@ "ms": "2.0.0" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -9264,6 +12358,27 @@ "has-flag": "^3.0.0" } }, + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "requires": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -9317,12 +12432,43 @@ "log-symbols": "^2.1.0", "loglevelnext": "^1.0.1", "uuid": "^3.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "webpack-merge": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.3.tgz", - "integrity": "sha512-zxwAIGK7nKdu5CIZL0BjTQoq3elV0t0MfB7rUC1zj668geid52abs6hN/ACwZdK6LeMS8dC9B6WmtF978zH5mg==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", + "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", "dev": true, "requires": { "lodash": "^4.17.5" @@ -9362,15 +12508,35 @@ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, + "webworkify-webpack": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.3.tgz", + "integrity": "sha1-o8aU9+Dmf8BHnLKfQoYMJ847bvU=", + "dev": true + }, + "wgxpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz", + "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=", + "dev": true + }, "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", + "dev": true + }, + "when": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", + "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", + "dev": true, + "optional": true }, "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -9390,14 +12556,28 @@ "optional": true }, "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "with-callback": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz", + "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=", + "dev": true, + "optional": true + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", @@ -9429,6 +12609,17 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", @@ -9440,11 +12631,24 @@ } }, "xmlbuilder": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.6.tgz", - "integrity": "sha1-fIJtjYb0eISwWHLL6dJ7Ab7VA/Y=", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", "dev": true }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "dev": true, + "optional": true + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -9464,37 +12668,24 @@ "dev": true }, "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, + "optional": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" }, "dependencies": { "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true } } }, @@ -9515,6 +12706,22 @@ } } }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", + "dev": true + }, "zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", diff --git a/package.json b/package.json index f88b1d3..607fb8c 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,23 @@ "version": "1.0.0", "description": "An input widget that can be used to display and edit associations", "scripts": { - "start": "nodemon --watch webpack.config.js --watch Gruntfile.js --exec \"grunt", + "start": "cross-env NODE_ENV=development grunt", + "emit": "tsc", + "pretest": "tsc && npm run lint && npm run build", + "test": "npm run test:unit && npm run test:conditional", + "test:conditional": "node ./node_modules/mendix-widget-build-script/dist/CheckPullRequestFromFork.js && echo 'Skip tests on forked pull request' || npm run deployAndTest", + "test:dev": "karma start", + "test:unit": "karma start --single-run --codeCoverage && node tests/remap.js", + "test:e2e": "tsc -p ./tests/e2e/tsconfig.json && wdio ./tests/e2e/wdio.conf.js", + "test:e2e:dev": "tsc -p ./tests/e2e/tsconfig.json && set DEBUG=true&& wdio ./tests/e2e/wdio.conf.js", + "test:e2e:dev:mult-browser": "tsc -p ./tests/e2e/tsconfig.json && set DEBUG=true&& set MULTCLIENT=true&& wdio ./tests/e2e/wdio.conf.js", "lint": "tslint -c tslint.json '**/*.ts' '**/*.tsx' --exclude '**/node_modules/**'", - "lint:fix": "npm run lint -- --fix" + "lint:fix": "npm run lint -- --fix", + "deploy": " npm run updateProject && npm run deployApp", + "build": "cross-env NODE_ENV=production grunt release", + "updateProject": "node ./node_modules/mendix-widget-build-script/dist/UpdateMxProject.js", + "deployApp": "node ./node_modules/mendix-widget-build-script/dist/DeployMxApp.js", + "deployAndTest": "npm run deploy && npm run test:e2e" }, "repository": { "type": "git", @@ -26,13 +40,17 @@ "devDependencies": { "@types/classnames": "^2.2.5", "@types/core-js": "^2.5.0", - "@types/jasmine": "^2.8.8", + "@types/enzyme": "^3.1.10", + "@types/jasmine": "^2.8.7", + "@types/karma": "^1.7.3", "@types/react": "^16.4.6", "@types/react-dom": "^16.0.6", "check-dependencies": "^1.0.1", "copy-webpack-plugin": "^4.5.2", "core-js": "^2.5.7", "css-loader": "^1.0.0", + "enzyme": "^3.3.0", + "enzyme-adapter-react-16": "^1.1.1", "extract-text-webpack-plugin": "^4.0.0-beta.0", "grunt": "^1.0.3", "grunt-check-dependencies": "^1.0.0", @@ -44,8 +62,16 @@ "grunt-newer": "^1.3.0", "grunt-webpack": "^3.1.1", "jasmine": "^3.1.0", + "karma": "^2.0.5", + "karma-chrome-launcher": "^2.1.1", + "karma-coverage": "^1.1.2", + "karma-jasmine": "^1.1.2", + "karma-jasmine3-html-reporter": "^0.2.3", + "karma-remap-istanbul": "^0.6.0", + "karma-sourcemap-loader": "^0.3.7", + "karma-webpack": "^3.0.0", "mendix-client": "^7.13.5", - "mendix-widget-build-script": "^1.0.0-rc2", + "mendix-widget-build-script": "^1.0.0", "node-sass": "^4.9.2", "raw-loader": "^0.5.1", "react": "^16.4.1", @@ -58,8 +84,15 @@ "tslint": "^5.11.0", "tslint-eslint-rules": "^5.3.1", "typescript": "^2.9.2", - "webpack": "^4.16.1", - "webpack-dev-server": "^3.1.4", + "wdio-dot-reporter": "0.0.9", + "wdio-jasmine-framework": "^0.3.4", + "wdio-selenium-standalone-service": "0.0.10", + "wdio-spec-reporter": "^0.1.3", + "webdriverio": "^4.10.0", + "webpack-bundle-analyzer": "^2.11.3", + "webworkify-webpack": "^2.1.2", + "webpack": "^4.16.5", + "webpack-dev-server": "^3.1.5", "webpack-merge": "^4.1.3" }, "dependencies": { diff --git a/tests/e2e/DropdownTypeaheadReference.spec.ts b/tests/e2e/DropdownTypeaheadReference.spec.ts new file mode 100644 index 0000000..58ea0d4 --- /dev/null +++ b/tests/e2e/DropdownTypeaheadReference.spec.ts @@ -0,0 +1,14 @@ +describe("Dropdown typea head reference", () => { + + it("should change dropdown value", () => { + // + }); + + it("with value can clear value", () => { + // + }); + + it("should populate multiple values in a dropdown list", () => { + // + }); +}); diff --git a/tests/e2e/pages/sample.page.ts b/tests/e2e/pages/sample.page.ts new file mode 100644 index 0000000..2096ada --- /dev/null +++ b/tests/e2e/pages/sample.page.ts @@ -0,0 +1,11 @@ +// import { Client, Element, RawResult } from "webdriverio"; + +class SamplePage { + + // public open(): void { + // browser.url("/p/xpath"); + // } +} + +const samplePage = new SamplePage(); +export default samplePage; diff --git a/tests/e2e/tsconfig.json b/tests/e2e/tsconfig.json new file mode 100644 index 0000000..25fad56 --- /dev/null +++ b/tests/e2e/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "removeComments": true, + "noImplicitAny": false, + "outDir": "../../dist/e2e" + }, + "exclude": [ + "node_modules" + ], + "compileOnSave": false +} diff --git a/tests/e2e/wdio.conf.js b/tests/e2e/wdio.conf.js new file mode 100644 index 0000000..ce9f3c1 --- /dev/null +++ b/tests/e2e/wdio.conf.js @@ -0,0 +1,36 @@ +const debug = process.env.DEBUG; + +exports.config = { + host: "127.0.0.1", + port: 4444, + specs: [ "./dist/e2e/**/*.spec.js" ], + maxInstances: 1, + capabilities: [ { + maxInstances: 1, + browserName: "chrome" + } ], + sync: true, + logLevel: "silent", + coloredLogs: true, + bail: 0, + screenshotPath: "dist/wdio/", + baseUrl: debug ? "http://localhost:8080/" : "https://dropdowntypeahead.mxapps.io/", + waitforTimeout: 360000, + connectionRetryTimeout: 200000, + connectionRetryCount: 2, + services: [ "selenium-standalone" ], + framework: "jasmine", + reporters: [ "dot", "spec" ], + execArgv: debug ? [ "--inspect" ] : undefined, + jasmineNodeOpts: { + defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (100 * 1000), + expectationResultHandler: function(passed, assertion) { + if (passed) { + return; + } + browser.saveScreenshot( + "dist/wdio/assertionError_" + assertion.error.message + ".png" + ); + } + } +}; diff --git a/tests/helpers/structureMatcher.ts b/tests/helpers/structureMatcher.ts new file mode 100644 index 0000000..c1f4c32 --- /dev/null +++ b/tests/helpers/structureMatcher.ts @@ -0,0 +1,204 @@ +/* tslint:disable */ +import * as assign from "core-js/fn/object/assign"; +import * as keys from "core-js/fn/object/keys"; +import * as from from "core-js/fn/array/from"; +import * as find from "core-js/fn/array/find"; + +import { ReactChild, ReactElement, isValidElement } from "react"; + +export type ElementStructure = string | jasmine.Any | ElementJson; +export type ElementJson = { type: string, props: { [name: string]: any }, children: ElementStructure[] }; + +export function findDifference(expected: ElementStructure | ElementStructure[], actual: ElementStructure | ElementStructure[], strict: boolean): string { + if (Array.isArray(expected)) { + return Array.isArray(actual) && actual.length === expected.length + ? find(expected.map((e, i) => findDifference(e, actual[i], strict)), diff => diff != null) + : `Expected ${toString(expected)}, but got ${toString(actual)}`; + } + + if (isJasmineAny(expected)) { + return !expected.asymmetricMatch(actual) + ? `Expected something matching ${toString(expected)}, but got ${toString(actual)}` + : ""; + } + + if (typeof expected === "string" || typeof actual === "string" || expected == null || actual == null) { + return actual !== expected + ? `Expected ${toString(expected)}, but got ${toString(actual)}` + : ""; + } + + const expectedJson = expected as ElementJson; + const actualJson = actual as ElementJson; + const msgPrefix = `Expected ${toString(actualJson)} to have`; + + if (expectedJson.type !== actualJson.type) { + return `${msgPrefix} type '${expectedJson.type}'`; + } + + for (let prop in expectedJson.props) { + const difference = compareProp(prop); + if (difference) return difference; + } + if (strict) { + const unexpectedProps = keys(actualJson.props).filter(prop => !(prop in expectedJson.props)); + if (unexpectedProps.length > 0) { + return `${msgPrefix} properties ${keys(expectedJson.props).join(", ")} ` + + `but it also has ${unexpectedProps.join(", ")}`; + } + } + + return strict ? strictCompareChildren() : compareChildren(); + + function compareProp(prop: string): string { + const expectedVal = expectedJson.props[prop]; + if (!(prop in actualJson.props)) { + return `${msgPrefix} property ${prop}`; + } + const actualVal = actualJson.props[prop]; + + if (isJasmineAny(expectedVal)) { + if (!expectedVal.asymmetricMatch(actualVal)) { + return `${msgPrefix} property ${prop} to match ${expectedVal.jasmineToString()} ` + + `but it was '${jasmine.pp(actualVal)}'`; + } + } else if (prop === "className") { + const difference = compareClasses(expectedVal, actualVal); + if (difference) return difference; + } else if (!jasmine.matchersUtil.equals(expectedVal, actualVal)) { + return `${msgPrefix} property ${prop} to equal '${jasmine.pp(expectedVal)}' ` + + `but it was '${jasmine.pp(actualVal)}'`; + } + return ""; + } + + function compareClasses(expectedClassName: string, actualClassName: string): string { + const expectedClasses = (expectedClassName || "").trim().split(/\s+/); + const actualClasses = (actualClassName || "").trim().split(/\s+/); + + const missingClasses = expectedClasses.filter(c => actualClasses.indexOf(c) === -1); + const superfluousClasses = actualClasses.filter(c => expectedClasses.indexOf(c) === -1); + + if (missingClasses.length) { + return `${msgPrefix} classes ${missingClasses.join(", ")}`; + } + if (strict && superfluousClasses.length) { + return `${msgPrefix} classes ${expectedClassName} but not ${superfluousClasses.join(", ")}`; + } + return ""; + } + + function strictCompareChildren(): string { + for (let i = 0; i < expectedJson.children.length; ++i) { + const childDiff = findDifference(expectedJson.children[i], actualJson.children[i], true); + if (childDiff != null) { + return actualJson.children.length !== expectedJson.children.length + ? `${msgPrefix} child ${toString(expectedJson.children[i])}, but it has only ${actualJson.children.map(toString)}` + : childDiff; + } + } + if (actualJson.children.length > expectedJson.children.length) { + return `${msgPrefix} exactly ${expectedJson.children.length} children, ` + + `but it has ${actualJson.children.length}. The first extra child is:\n` + + toString(actualJson.children[expectedJson.children.length]); + } + return ""; + } + + function compareChildren(): string { + let actualIndex = 0; + for (let expectedIndex = 0; expectedIndex < expectedJson.children.length; ++expectedIndex) { + const expectedChild = expectedJson.children[expectedIndex]; + let found = false; + for (; !found && actualIndex < actualJson.children.length; actualIndex++) { + if (findDifference(expectedChild, actualJson.children[actualIndex], false) == null) { + found = true; + } + } + if (!found && actualIndex === actualJson.children.length) { + return `${msgPrefix} a child like ${toString(expectedChild)} ` + + `but it is missing in ${actualJson.children.map(toString).join(", ")}`; + } + } + return ""; + } + + function toString(structure: ElementStructure | ElementStructure[]): string { + if (isJasmineAny(structure)) return structure.jasmineToString(); + if (typeof structure === "string" || structure == null) return `text '${structure}'`; + if (Array.isArray(structure)) return "[" + structure.map(toString).join(", ") + "]"; + const json = structure as ElementJson; + return "element " + json.type + ("className" in json.props ? "." + json.props["className"].trim().replace(/\s+/g, ".") : ""); + } +} + +export function toElementStructure(node: any): ElementStructure | ElementStructure[] { + if (node == null) return ""; + if (typeof node === "object" && "nodes" in node) { + const nodes = node.getElements(); + node = nodes.length > 1 ? nodes : node.getElement(0); + } + + if (Array.isArray(node)) return node.map(n => toElementStructure(n) as ElementStructure); + if (node instanceof HTMLElement) return domToStructure(node); + return reactToStructure(node as ReactChild | jasmine.Any); + + function domToStructure(domNode: HTMLElement): ElementStructure{ + const type = domNode.nodeName.toLowerCase(); + if (type === "#text") { + return domNode.nodeValue || ""; + } + + const props: { [name: string]: string } = {}; + from(domNode.attributes || []) + .filter(attr => attr.nodeName.indexOf("data-react") === -1) + .forEach(attr => props[attr.nodeName] = attr.nodeValue || ""); + if ("class" in props) { + props["className"] = props["class"]; + delete props["class"]; + } + + const children = from(domNode.childNodes) + .filter((child: Node) => child.nodeName !== "#comment") + .map(domToStructure); + + return { type, props, children }; + } + + function reactToStructure(child: ReactChild | jasmine.Any): ElementStructure { + if (child == null) return ""; + if (typeof child === "string" || typeof child === "number" || typeof child === "boolean") return child.toString(); + if (isJasmineAny(child)) return child; // todo: disallow Any inside createElement + if (isValidElement(child)) return elemToStructure(child); + throw new Error(`Cannot convert ${jasmine.pp(child)} to element structure.\n` + + `Correct usage is: expect(mount(...)).toBeElement($("div")) or expect(shallow(...)).toBeElement($("div"))`); + } + + function elemToStructure(reactNode: ReactElement): ElementStructure { + const type = typeof reactNode.type === "function" ? (reactNode.type as any).name : reactNode.type; + + const props = assign({}, reactNode.props); + + const children: ReactChild[] = Array.isArray(props.children) ? props.children : (props.children ? [ props.children ] : []); + delete props.children; + + for (let propName in props) { + const propValue = props[propName]; + if (typeof propValue === "object" && propValue && "_model" in propValue) { + props[propName] = "Element " + propValue.typeName + " (" + propValue.id + ")"; + } + if (isValidElement(propValue)) { + props[propName] = elemToStructure(propValue); + } + if (propValue === undefined) { + delete props[propName]; + } + } + + return { type, props, children: children.filter(c => c != null).map(reactToStructure) }; + } +} + +function isJasmineAny(obj: any): obj is jasmine.Any { + return obj != null && typeof obj.asymmetricMatch === "function"; +} diff --git a/tests/matchers.ts b/tests/matchers.ts new file mode 100644 index 0000000..7c3cae9 --- /dev/null +++ b/tests/matchers.ts @@ -0,0 +1,54 @@ +/* tslint:disable */ +import { ReactChild } from "react"; +import { ShallowWrapper } from "enzyme"; +import { findDifference, toElementStructure } from "./helpers/structureMatcher"; + +function compareTrees(actual: any, expected: ReactChild, strict: boolean) { + const actualStruct = toElementStructure(actual); + const expectedStruct = toElementStructure(expected); // todo: force using of $ + const difference = findDifference(expectedStruct, actualStruct, strict); + return difference + ? { pass: false, message: difference } + : { pass: true, message: "Expected not to match the actual structure" }; +} + +function toBeElement() { + return { + compare: function(actual: ReactChild, expected: ReactChild) { + return compareTrees(actual, expected, true); + } + }; +} + +function toMatchStructure() { + return { + compare: function(actual: HTMLElement, expected: ReactChild) { + return compareTrees(actual, expected, false); + } + }; +} + +function toHaveClass() { + return { + compare: function(actual: HTMLElement | ShallowWrapper, expected: string) { + const actualClasses = actual instanceof HTMLElement + ? actual.className + : actual.prop("className"); + if (actualClasses.trim().split(/\s+/).indexOf(expected) === -1) { + return { + pass: false, + message: `Expected element to have class ${expected} but it has ${actualClasses}` + }; + } else { + return { + pass: true, + message: `Expected element not to have class ${expected}` + }; + } + } + }; +} + +beforeEach(function() { + jasmine.addMatchers({ toBeElement, toMatchStructure, toHaveClass }); +}); diff --git a/tests/mocks/Mendix.ts b/tests/mocks/Mendix.ts new file mode 100644 index 0000000..81ac34b --- /dev/null +++ b/tests/mocks/Mendix.ts @@ -0,0 +1,144 @@ +/* tslint:disable */ + +class MxMock implements mx.MxInterface { + appUrl: string = ""; + baseUrl: string = ""; + modulePath: string = ""; + remoteUrl: string = ""; + addOnLoad(_callback: Function): void { /* */ } + login(_username: string, _password: string, _onSuccess: Function, _onError: Function): void { /* */ } + logout(): void { /* */ } + data!: mx.data; + meta!: mx.meta; + parser!: mx.parser; + server!: mx.server; + session!: mx.session; + ui!: mx.ui; + onError(_error: Error): void { /* */ } + isOffline(): boolean { return false; } +} + +class MxUiMock implements mx.ui { + action( + _actionname: string, + _action: { + progress?: string, + progressMsg?: string, + params?: { + applyto?: string, + guids?: string[], + xpath?: string, + constraints?: string, + sort?: any, + gridid?: string, + }, + context?: any, + store?: any, + async?: boolean, + callback?: (result: mendix.lib.MxObject | mendix.lib.MxObject[] | boolean | number | string) => void, + error?: (e: Error) => void, + onValidation?: Function, + }, + _scope?: any + ): void { /* */ } + back(): void { /* */ } + confirmation(_args: { content: string, proceed: string, cancel: string, handler: Function }): void { /* */ } + error(_msg: string, _modal?: boolean): void { /* */ } + exception(_msg: string): void { /* */ } + getTemplate(_mxid: string, _content: string): DocumentFragment { + const fakeElement: any = "Fake"; + return fakeElement; + } + showProgress(): number { return 11; } + hideProgress(_pid: number): void { /* */ } + info(_msg: string, _modal: boolean): void { /* */ } + onError(_error: Error): void { /* */ } + showUnderlay(_delay?: number): void { /* */ } + hideUnderlay(_delay?: number): void { /* */ } + resize(): void { /* */ } + isRtl(): string { return "Fake"; } + openForm( + _path: string, + _args?: { + location?: "content" | "popup" | "modal" | "node", + domNode?: HTMLElement, + title?: string, + context?: mendix.lib.MxContext, + callback?(form: mxui.lib.form._FormBase): void, + error?(error: Error): void, + }, + _scope?: any + ): void { /* */ } + showLogin(_messageCode: number): void { /* */ } + reload(_callback?: () => void): void { /* */ } + translate(_lib: string, _errorName: string): string { return "translation" } +} + +class MxContextMock implements mendix.lib.MxContext { + constructor(){} + getTrackEntity(): string { return "mockEntity"; } + getTrackId(): string { return "mockID"; } + getTrackObject(): mendix.lib.MxObject { return new mendix.lib.MxObject; } //TODO update + hasTrackEntity(): boolean { return true; } + hasTrackId(): boolean { return true; } + hasTrackObject(): boolean { return true; } + setTrackId(_guid: string): void { } + setTrackEntity(_entity: string): void { } + setTrackObject(_obj: mendix.lib.MxObject): void { } + setContext(_trackEntity: string, _guid: string): void { } +} + +class MxObjectMock implements mendix.lib.MxObject { + addReference(_attr: string, _guid: string | number): boolean { return false; } + addReferences(_attr: string, _guids: string[] | number[]): boolean { return false; } + compare(_mxobj: mendix.lib.MxObject): boolean { return false; } + fetch(_path: string, _callback: Function): void { /* */ } + get(_attr: string): string | number | boolean { return "10"; } //add external big + getAttributes(): string[] { return ["fakeAttribute"]; } + getEntity(): string { return "fakeEntity" } + getEnumCaption(_attr: string, _value: string): string { return "fakeCaption"; } + getEnumMap(): { key: string, caption: string }[] { return []; } + getGuid(): string { return "fakeGuid"; } + getReference(_reference: string): string { return "fakeReference"; } + getReferences(_attr: string): string[] { return ["fakeReference"]; } + getSelectorEntity(): string { return "fakeSelectorEntity"; } + getSubEntities(): string[] { return ["fakeSubEntities"]; } + getSuperEntities(): string[] { return [""]; } + getOriginalValue(_attr: string): string { return "fakeValue"; } + getOriginalReferences(_attr: string): string[] { return [""]; } + getReferenceAttributes(): string[] { return [""]; } + getAttributeType(_attr: string): mendix.lib.AttributeTypes { return "Enum" } + getOptions(_attr: string): string[] { return [""]; } + getChildren(_attr: string): mendix.lib.MxObject[] { return [ new mendix.lib.MxObject ]; } //TODO update + hasChanges(): boolean { return false; } + hasSubEntities(): boolean { return false; } + hasSuperEntities(): boolean { return false; } + inheritsFrom(_claz: string): boolean { return false; } + isA(_claz: string): boolean { return false; } + isBoolean(_att: string): boolean { return false; } + isDate(_att: string): boolean { return false; } + isEnum(_att: string): boolean { return false; } + isLocalizedDate(_att: string): boolean { return false; } + isNumber(_att: string): boolean { return false; } + isNumeric(_att: string): boolean { return false; } + isObjectReference(_att: string): boolean { return false; } + isObjectReferenceSet(_att: string): boolean { return false; } + isPassword(_att: string): boolean { return false; } + isReadonlyAttr(_att: string): boolean { return false; } + isReference(_att: string): boolean { return false; } + isPersistable(): boolean { return true; } + removeReferences(_attr: string, _guids: string[]): boolean { return false; } + set(_attr: string, _val: any): boolean { return false; } + FetchCallback(_requested: any): void { /* */ } +} + +let mxMockObject = MxMock.prototype; +mxMockObject.ui = MxUiMock.prototype; + +export const mockMx = mxMockObject; +export const mockMendix = { + lib: { + MxContext: MxContextMock.prototype, + MxObject:() => MxObjectMock.prototype + } +}; diff --git a/tests/remap.js b/tests/remap.js new file mode 100644 index 0000000..9a544f0 --- /dev/null +++ b/tests/remap.js @@ -0,0 +1,18 @@ +var path = require("path"); +var loadCoverage = require("remap-istanbul/lib/loadCoverage"); +var remap = require("remap-istanbul/lib/remap"); +var writeReport = require("remap-istanbul/lib/writeReport"); + +var root = path.join(__dirname, ".."); + +var tsCoverage = loadCoverage(path.join(root, "dist/testresults/coverage.json")); +var jsCoverage = {}; + +Object.keys(tsCoverage) + .forEach(function(tsFilePath) { + var jsFilePath = path.join(root, "dist/tsc", path.relative(root, tsFilePath)).replace(/\.ts$/, ".js"); + jsCoverage[jsFilePath] = tsCoverage[tsFilePath]; + }); + +var result = remap(jsCoverage); +writeReport(result, "html", {}, path.join(root, "dist/testresults/coverage")); diff --git a/tests/test-index.js b/tests/test-index.js new file mode 100644 index 0000000..a9c0908 --- /dev/null +++ b/tests/test-index.js @@ -0,0 +1,9 @@ +require("./matchers"); +require("babel-polyfill"); +import Enzyme from "enzyme"; +import Adapter from "enzyme-adapter-react-16"; + +Enzyme.configure({ adapter: new Adapter() }); + +const testsContext = require.context("../src", true, /\.spec$/); +testsContext.keys().forEach(testsContext); diff --git a/typings/DropdownTypeaheadReference.d.ts b/typings/DropdownTypeaheadReference.d.ts new file mode 100644 index 0000000..acd8772 --- /dev/null +++ b/typings/DropdownTypeaheadReference.d.ts @@ -0,0 +1,2 @@ +import * as WebdriverIO from "webdriverio"; +declare var browser: WebdriverIO.Client; diff --git a/typings/customMatchers.d.ts b/typings/customMatchers.d.ts new file mode 100644 index 0000000..403cced --- /dev/null +++ b/typings/customMatchers.d.ts @@ -0,0 +1,9 @@ +// note: cannot use ReactElement here, because importing a module from the declaration of a namespace is not allowed. +// tslint:disable no-namespace +declare namespace jasmine { + interface Matchers { + toBeElement(expected: any): boolean; + toHaveClass(expected: string): boolean; + toMatchStructure(expected: any): boolean; + } +} diff --git a/typings/jasmine.d.ts b/typings/jasmine.d.ts new file mode 100644 index 0000000..60d864a --- /dev/null +++ b/typings/jasmine.d.ts @@ -0,0 +1,5 @@ +declare namespace jasmine { + interface Any { + asymmetricMatch(other: any): boolean; + } +} From 2ffbb461761a842a0763ff28e7f259dbd44a04df Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 9 Aug 2018 05:57:29 +0300 Subject: [PATCH 16/89] Fix bug: clear input with backspace key --- src/DropdownTypeaheadReference.xml | 2 +- src/components/DropdownTypeaheadReference.ts | 12 +- .../DropdownTypeaheadReferenceContainer.ts | 63 ++++++--- src/ui/DropdownTypeaheadReference.scss | 126 ++++++++++-------- 4 files changed, 120 insertions(+), 83 deletions(-) diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 7b9a919..d33b492 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -38,7 +38,7 @@ Text displayed when no selection is made - Show caption + Show label caption Appearance diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index a0fe591..047e919 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -28,11 +28,11 @@ export class DropdownTypeaheadReference extends Component { - this.setState({ selected: this.getValue(value) }); - }) - .catch(mx.ui.error); + this.fetchDataByReference(newProps.mxObject) + .then((value: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(value) }); + }) + .catch(mx.ui.error); } this.retrieveOptions(newProps); this.resetSubscriptions(newProps.mxObject); @@ -98,11 +104,11 @@ export default class ReferenceSelectorContainer extends Component { if (this.props.mxObject.getOriginalReferences(this.association).length !== 0) { - this.fetchDataByReference(this.props.mxObject) - .then((mxObject: mendix.lib.MxObject) => { - this.setState({ selected: this.getValue(mxObject) }); - }) - .catch(mx.ui.error); + this.fetchDataByReference(this.props.mxObject) + .then((mxObject: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(mxObject) }); + }) + .catch(mx.ui.error); } } @@ -136,22 +142,45 @@ export default class ReferenceSelectorContainer extends Component { diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index 543c308..74d3cfb 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -76,7 +76,7 @@ width: 100% } -.css-1aya2g8 { +.widget-dropdown-type-ahead__control { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -104,63 +104,63 @@ -webkit-transition: all 100ms; transition: all 100ms; box-sizing: border-box; -} - -.css-1rtrksz { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 2px 8px; - -webkit-overflow-scrolling: touch; - position: relative; - box-sizing: border-box; - background-color: inherit ; -} - -.css-1wy0on6 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - background-color: inherit ; - box-sizing: border-box; -} -.css-d8oujb { - display: none !important; -} + .widget-dropdown-type-ahead__value-container { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 2px 8px; + -webkit-overflow-scrolling: touch; + position: relative; + box-sizing: border-box; + background-color: inherit ; + + .widget-dropdown-type-ahead__indicators { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + background-color: inherit ; + box-sizing: border-box; + + .widget-dropdown-type-ahead__clear-indicator { + color: #999; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 8px; + -webkit-transition: color 150ms; + transition: color 150ms; + box-sizing: border-box; + } -.css-1ep9fjw { - color: #999; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding: 8px; - -webkit-transition: color 150ms; - transition: color 150ms; - box-sizing: border-box; + .widget-dropdown-type-ahead__indicator-separator { + display: none !important; + } + } + } } .css-19bqh2r { @@ -171,14 +171,22 @@ stroke-width: 0; } -.css-162g8z5 { +.widget-dropdown-type-ahead__control--is-disabled { background-color: #eee !important; opacity: 1; :hover{ cursor: not-allowed !important;} } -.css-va7pk8 { - color: #555555 !important; +.widget-dropdown-type-ahead__menu { + touch-action: manipulation; + + .widget-dropdown-type-ahead__option { + color: #555555 !important; + } +} + +.widget-dropdown-type-ahead-alert{ + margin-top: 4px; } .modal-content.mx-window-content { From 23e6fe0ab2abc22c962c932dc60b2b2a5d6f0fd2 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 9 Aug 2018 05:57:29 +0300 Subject: [PATCH 17/89] Fix bug: clear input with backspace key --- package.json | 1 + src/DropdownTypeaheadReference.xml | 2 +- src/components/DropdownTypeaheadReference.ts | 12 +- .../DropdownTypeaheadReferenceContainer.ts | 63 ++++++--- src/ui/DropdownTypeaheadReference.scss | 120 ++++++++++-------- typings/react-fastclick.d.ts | 1 + 6 files changed, 119 insertions(+), 80 deletions(-) create mode 100644 typings/react-fastclick.d.ts diff --git a/package.json b/package.json index f88b1d3..e9deb87 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "dependencies": { "@types/react-select": "^1.2.10", "classnames": "^2.2.6", + "react-fastclick": "^3.0.2", "react-select": "^2.0.0-beta.7" } } diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 7b9a919..d33b492 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -38,7 +38,7 @@ Text displayed when no selection is made - Show caption + Show label caption Appearance diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index a0fe591..047e919 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -28,11 +28,11 @@ export class DropdownTypeaheadReference extends Component { - this.setState({ selected: this.getValue(value) }); - }) - .catch(mx.ui.error); + this.fetchDataByReference(newProps.mxObject) + .then((value: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(value) }); + }) + .catch(mx.ui.error); } this.retrieveOptions(newProps); this.resetSubscriptions(newProps.mxObject); @@ -98,11 +104,11 @@ export default class ReferenceSelectorContainer extends Component { if (this.props.mxObject.getOriginalReferences(this.association).length !== 0) { - this.fetchDataByReference(this.props.mxObject) - .then((mxObject: mendix.lib.MxObject) => { - this.setState({ selected: this.getValue(mxObject) }); - }) - .catch(mx.ui.error); + this.fetchDataByReference(this.props.mxObject) + .then((mxObject: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(mxObject) }); + }) + .catch(mx.ui.error); } } @@ -136,22 +142,45 @@ export default class ReferenceSelectorContainer extends Component { diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index 543c308..6021d67 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -76,7 +76,7 @@ width: 100% } -.css-1aya2g8 { +.widget-dropdown-type-ahead__control { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -104,65 +104,65 @@ -webkit-transition: all 100ms; transition: all 100ms; box-sizing: border-box; -} - -.css-1rtrksz { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 2px 8px; - -webkit-overflow-scrolling: touch; - position: relative; - box-sizing: border-box; - background-color: inherit ; -} -.css-1wy0on6 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - background-color: inherit ; - box-sizing: border-box; + .widget-dropdown-type-ahead__value-container { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 2px 8px; + -webkit-overflow-scrolling: touch; + position: relative; + box-sizing: border-box; + background-color: inherit ; + + .widget-dropdown-type-ahead__indicators { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + background-color: inherit ; + box-sizing: border-box; + + .widget-dropdown-type-ahead__clear-indicator { + color: #999; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + padding: 8px; + -webkit-transition: color 150ms; + transition: color 150ms; + box-sizing: border-box; + } + } + } } .css-d8oujb { display: none !important; } -.css-1ep9fjw { - color: #999; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding: 8px; - -webkit-transition: color 150ms; - transition: color 150ms; - box-sizing: border-box; -} - .css-19bqh2r { fill: #555555 !important; fill: currentColor; @@ -171,14 +171,22 @@ stroke-width: 0; } -.css-162g8z5 { +.widget-dropdown-type-ahead__control--is-disabled { background-color: #eee !important; opacity: 1; :hover{ cursor: not-allowed !important;} } -.css-va7pk8 { - color: #555555 !important; +.widget-dropdown-type-ahead__menu { + touch-action: manipulation; + + .widget-dropdown-type-ahead__option { + color: #555555 !important; + } +} + +.widget-dropdown-type-ahead-alert{ + margin-top: 4px; } .modal-content.mx-window-content { diff --git a/typings/react-fastclick.d.ts b/typings/react-fastclick.d.ts new file mode 100644 index 0000000..45701e3 --- /dev/null +++ b/typings/react-fastclick.d.ts @@ -0,0 +1 @@ +declare module "react-fastclick"; From b30fc55770eca86abadb3c363332d44bc6eb9c61 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 10 Aug 2018 02:38:59 +0300 Subject: [PATCH 18/89] Fix web modeler --- README.md | 2 +- src/DropdownTypeaheadReference.webmodeler.ts | 14 +++++++++++--- .../DropdownTypeaheadReferenceContainer.ts | 17 +++-------------- src/ui/DropdownTypeaheadReference.scss | 2 +- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index b71aaaa..fca04e8 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ An input widget that can be used to display and edit associations Mendix 7.13.1 ## Demo project -[https://referenceselector100.mxapps.io](https://referenceselector100.mxapps.io) +[https://dropdowntypeahead.mxapps.io]( https://dropdowntypeahead.mxapps.io) ## Usage ![dropdown-typeahead-reference](/assets/dropdown-typeahead-reference.png) diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index 28cd033..6ede3d9 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -20,9 +20,8 @@ export class preview extends Component { render() { return createElement(DropdownTypeaheadReference as any, { attribute: this.props.attribute, - // data: this.state.options, + emptyCaption: this.selected.label, label: this.props.labelCaption, - selectedValue: this.selected.label, showLabel: this.props.showLabel, style: parseStyle(this.props.style) }); @@ -34,7 +33,16 @@ export function getPreviewCss() { } export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: VisibilityMap) { - visibilityMap.source = valueMap.microflow === "microflow"; + visibilityMap.microflow = valueMap.source === "microflow"; + visibilityMap.nanoflow = valueMap.source === "nanoflow"; + visibilityMap.entityPath = valueMap.source === "xpath"; + visibilityMap.onChangeMicroflow = valueMap.onChangeEvent === "callMicroflow"; + visibilityMap.onChangeNanoflow = valueMap.onChangeEvent === "callNanoflow"; + + if (valueMap.source !== "xpath") { + visibilityMap.sortOrder = false; + visibilityMap.entityConstraint = false; + } return visibilityMap; } diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index a327f28..ec0286d 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -35,6 +35,7 @@ export interface ContainerProps extends WrapperProps { export interface ContainerState { options: referenceOption[]; selected?: referenceOption; + isFetchingData?: boolean; } export default class ReferenceSelectorContainer extends Component { @@ -99,7 +100,7 @@ export default class ReferenceSelectorContainer extends Component { - return this.props.editable !== "default"; + return !this.props.mxObject || (this.props.editable !== "default") || this.props.readOnly; } private handleSubscriptions = () => { @@ -154,7 +155,7 @@ export default class ReferenceSelectorContainer extends Component Date: Fri, 10 Aug 2018 05:46:47 +0300 Subject: [PATCH 19/89] Fix bug: display selected option when fetching data is done --- src/components/DropdownTypeaheadReference.ts | 6 ++++-- src/components/DropdownTypeaheadReferenceContainer.ts | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 047e919..3958c69 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -15,6 +15,7 @@ export interface DropdownTypeaheadReferenceProps { isClearable: boolean; isReadOnly: boolean; selectedValue: referenceOption; + loaded: boolean; handleOnchange: (selectedOption: referenceOption) => void; className: string; alertMessage: string; @@ -27,12 +28,13 @@ export class DropdownTypeaheadReference extends Component { @@ -57,6 +57,7 @@ export default class ReferenceSelectorContainer extends Component { - this.setState({ selected: this.getValue(value) }); + this.setState({ selected: this.getValue(value), isLoading: false }); }) .catch(mx.ui.error); } From e6008e13acc50f2744cfdcdb46237b1fac89b707 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 13 Aug 2018 04:48:27 +0300 Subject: [PATCH 20/89] Add label component --- src/DropdownTypeaheadReference.xml | 88 +++++++-- src/components/DropdownTypeaheadReference.ts | 41 ++-- .../DropdownTypeaheadReferenceContainer.ts | 30 ++- src/components/Label.ts | 25 +++ src/ui/DropdownTypeaheadReference.scss | 185 ++---------------- src/utils/Data.ts | 25 ++- 6 files changed, 178 insertions(+), 216 deletions(-) create mode 100644 src/components/Label.ts diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index d33b492..26d9992 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -1,11 +1,11 @@ - Dropdown typeahead reference + Dropdown Typeahead Reference - Enity path + Entity path Data source @@ -15,7 +15,6 @@ The attribute from which selectable values will be retrieved - @@ -37,44 +36,91 @@ Appearance Text displayed when no selection is made - - Show label caption - Appearance - - - - Label caption + + Read-only style Appearance + + Control + Text + Enable clear selection Appearance Clears a selected option + + Show label + Label + + + + Label caption + Label + + + Caption + Bijschrift + + + + Label width + Label + The weight of the label, which must be a value between 0 and 12 + + + Label orientation + Label + + + Horizontal + Vertical + + Source Selectable objects - Xpath + Database Microflow Nanoflow - Xpath constraint + XPath constraint Selectable objects - - Sort order + + Sort options Selectable objects - - - Ascending - Descending - + + + + Attribute + Attribute + Attribute to sort the + + + + + + + + + + + Sort + Attribute + + + Ascending + Descending + + + Microflow @@ -99,13 +145,13 @@ - Onchange microflow + On change microflow Events Microflow executed on change selection - Onchange nanoflow + On change nanoflow Events Nanoflow executed on change selection diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 3958c69..1ba3ed2 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -2,11 +2,14 @@ import { Component, createElement } from "react"; import Select from "react-select"; import { Alert } from "./Alert"; +import { parseStyle } from "../utils/ContainerUtils"; +import { Label } from "./Label"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; export interface DropdownTypeaheadReferenceProps { - style?: object; + style?: string; + labelWidth: number; data: referenceOption[]; value: string; label: string; @@ -18,33 +21,42 @@ export interface DropdownTypeaheadReferenceProps { loaded: boolean; handleOnchange: (selectedOption: referenceOption) => void; className: string; + labelOrientation: "horizontal" | "vertical"; alertMessage: string; } // tslint:disable-next-line:interface-over-type-literal export type referenceOption = { value?: string, label?: string }; +// tslint:disable-next-line:interface-over-type-literal +export type metaData = { action: string, removedValue: referenceOption }; + +export interface AttributeType { name: string; sort: string; } + export class DropdownTypeaheadReference extends Component { // private Node?: HTMLDivElement; render() { return !this.props.loaded ? createElement("div", { - className: classNames("widget-dropdowntypeahead-wrapper", this.props.className) + className: classNames("widget-dropdown-type-ahead-wrapper", this.props.className) }, - this.renderLabel(), - this.renderSelector() + this.renderForm() ) : - createElement("div", {}); + null; } - private renderLabel() { + private renderForm() { if (this.props.showLabel && this.props.label.trim() !== "") { - return createElement("div", { className: "div-wrapper-label" }, - createElement("label", { className: "mx-control-label" }, - this.props.label)); + return createElement(Label, { + className: this.props.className, + label: this.props.label, + orientation: this.props.labelOrientation, + style: parseStyle(this.props.style), + weight: this.props.labelWidth + }, this.renderSelector()); } - return; + return this.renderSelector(); } // private setReference = (Node: HTMLDivElement) => { @@ -54,15 +66,18 @@ export class DropdownTypeaheadReference extends Component { const dataOptions: referenceOption[] = []; const guids: string[] = []; - if (this.props.attribute && mendixObjects.mxObjects && mendixObjects.mxObjects.length) { + if (this.props.attribute && mendixObjects.mxObjects && mendixObjects.mxObjects.length && !this.isReadOnly()) { mendixObjects.mxObjects.forEach(mxObject => { dataOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); guids.push(mxObject.getGuid()); @@ -145,20 +151,20 @@ export default class ReferenceSelectorContainer extends Component 11 || props.labelWidth < 1)) { + message.push("Label width should be a value between 0 and 12"); + } + if (props.labelCaption.trim() === "" && props.showLabel) { message.push("Show label is enabled but no label is provided"); } @@ -222,7 +232,7 @@ export default class ReferenceSelectorContainer extends Component = ({ children, className, label, style, weight, orientation }) => { + weight = (weight > 11 || weight < 1) ? 3 : weight; + const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : ""; + const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : ""; + + return createElement("div", { className: classNames("form-group", className), style }, + createElement("label", { className: `control-label ${labelWeight}` }, label), + createElement("div", { className: `${childrenWeight}` }, children) + ); +}; + +Label.defaultProps = { weight: 6 }; + +Label.displayName = "Label"; diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index ffb78c2..8c8595e 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -1,162 +1,24 @@ -.widget-dropdowntypeahead-wrapper { - display: inline-flex; - position: relative; - padding-bottom: 4px; - width: 100%; - height: 100%; - - [class*='nolabel'] { - width: 100%; - } - - [class*='showlabel'] { - width: 75%; - padding-bottom: 8px; - padding-left: 7px; - } - - [class*='disabled'] { - cursor: not-allowed; - } - - } - -@media (min-width: 767px) { - .div-wrapper-label { - display: inline-block; - width: 25%; - - .mx-control-label{ - padding-top: 8px; - padding-bottom: 8px; - line-height: 1.42857; - margin-bottom: 0; - padding-right: 22px; - font-weight: 600; - float: right; - } - } -} - -@media (min-width: 100px) and (max-width:766px) { - .div-wrapper-label { - display: block; - - .mx-control-label{ - padding-right: 22px; - font-weight: 600; - color: #666; - font-size: 14px; - } - } - - .css-10nd86i { - position: relative; - min-height: 1px; - width: 100%; - } - - .widget-reference-selector-wrapper { - display: block !important; - } - - .div-wrapper { - padding-left: 0px !important; - width: 100% !important; - } -} - -.div-wrapper { - display: inline-block; -} - -.css-10nd86i { - position: relative; - min-height: 1px; - width: 100% -} - +// .form-control { +// overflow: visible; +// } .widget-dropdown-type-ahead__control { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #FFF !important; - border-color: hsl(0,0%,80%); + display: block; + width: 100%; + height: auto; + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + color: #555555; + border: 1px solid #D7D7D7; border-radius: 4px; - border-style: solid; - border-width: 1px; - cursor: default; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - min-height: 38px; - outline: 0 !important; - position: relative; - -webkit-transition: all 100ms; - transition: all 100ms; - box-sizing: border-box; - - .widget-dropdown-type-ahead__value-container { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 2px 8px; - -webkit-overflow-scrolling: touch; - position: relative; - box-sizing: border-box; - background-color: inherit ; - - .widget-dropdown-type-ahead__indicators { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - background-color: inherit ; - box-sizing: border-box; - - .widget-dropdown-type-ahead__clear-indicator { - color: #999; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding: 8px; - -webkit-transition: color 150ms; - transition: color 150ms; - box-sizing: border-box; - } - } - } + background-color: #FFF !important;; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; + font-size: 14px; + line-height: 1.42857; + -moz-appearance: none; } .css-d8oujb { @@ -178,8 +40,6 @@ } .widget-dropdown-type-ahead__menu { - touch-action: manipulation; - .widget-dropdown-type-ahead__option { color: #555555 !important; } @@ -188,10 +48,3 @@ .widget-dropdown-type-ahead-alert{ margin-top: 4px !important; } - -.modal-content.mx-window-content { - overflow: visible; -} -.modal-body.mx-window-body { - overflow: visible; -} \ No newline at end of file diff --git a/src/utils/Data.ts b/src/utils/Data.ts index 17dfe4e..6001fb6 100644 --- a/src/utils/Data.ts +++ b/src/utils/Data.ts @@ -2,12 +2,13 @@ type MxObject = mendix.lib.MxObject; type SortOrder = "asc" | "desc"; +import { AttributeType } from "../components/DropdownTypeaheadReference"; export interface FetchDataOptions { source: "xpath" | "microflow" | "nanoflow"; entity: string; guid: string; constraint?: string; - sortAttribute?: string; + sortAttributes: AttributeType[]; sortOrder?: SortOrder; attributes?: string[]; microflow?: string; @@ -19,7 +20,7 @@ export interface FetchByXPathOptions { guid: string; entity: string; constraint: string; - sortAttribute?: string; + sortAttributes: AttributeType[]; sortOrder?: SortOrder; attributes?: string[]; references?: any; @@ -71,7 +72,7 @@ const addPathReference = (references: ReferencesSpec, path: string): ReferencesS export const fetchData = (options: FetchDataOptions): Promise => new Promise((resolve, reject) => { - const { guid, entity, sortAttribute, sortOrder } = options; + const { guid, entity, sortAttributes, sortOrder } = options; if (entity && guid) { if (options.source === "xpath") { const references = getReferences(options.attributes || []); @@ -81,7 +82,7 @@ export const fetchData = (options: FetchDataOptions): Promise => entity, guid, references: references.references, - sortAttribute, + sortAttributes, sortOrder }) .then(mxObjects => resolve({ mxObjects })) @@ -101,7 +102,8 @@ export const fetchData = (options: FetchDataOptions): Promise => }); export const fetchByXPath = (options: FetchByXPathOptions): Promise => new Promise((resolve, reject) => { - const { guid, entity, constraint, sortAttribute, sortOrder, attributes, references } = options; + const { guid, entity, constraint, sortAttributes, attributes, references } = options; + const entityPath = entity.split("/"); const entityName = entityPath.length > 1 ? entityPath[entityPath.length - 1] : entity; const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; @@ -110,9 +112,11 @@ export const fetchByXPath = (options: FetchByXPathOptions): Promise callback: resolve, error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), filter: { + amount: 20, attributes, + offset: 0, references, - sort: sortAttribute && sortAttribute.indexOf("/") === -1 ? [ [ sortAttribute, sortOrder || "asc" ] ] : [] + sort: createSortProps(sortAttributes) }, xpath }); @@ -149,3 +153,12 @@ const getReferences = (attributePaths: string[]): ReferencesSpec => { return references; }; + +export const createSortProps = (sortAttributes: AttributeType[]) => { + const combined: any = []; + sortAttributes.map((optionObject) => { + const { name, sort } = optionObject; + combined.push([ name, sort ]); + }); + return combined; +}; From 37d4d7088be7a69ef8d3521d3e6b746a5db3aada Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 13 Aug 2018 15:08:09 +0300 Subject: [PATCH 21/89] Fix webmodeler padding --- src/DropdownTypeaheadReference.webmodeler.ts | 5 +- src/components/DropdownTypeaheadReference.ts | 33 ++++-- .../DropdownTypeaheadReferenceContainer.ts | 2 +- src/ui/DropdownTypeaheadReference.scss | 110 +++++++++++++++--- 4 files changed, 120 insertions(+), 30 deletions(-) diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index 6ede3d9..3cb0695 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -19,9 +19,12 @@ export class preview extends Component { render() { return createElement(DropdownTypeaheadReference as any, { - attribute: this.props.attribute, emptyCaption: this.selected.label, + isClearable: this.props.isClearable, + isReadOnly: !this.props.readOnly, label: this.props.labelCaption, + labelOrientation: this.props.labelOrientation, + labelWidth: this.props.labelWidth, showLabel: this.props.showLabel, style: parseStyle(this.props.style) }); diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 1ba3ed2..57826cc 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -35,6 +35,25 @@ export interface AttributeType { name: string; sort: string; } export class DropdownTypeaheadReference extends Component { // private Node?: HTMLDivElement; + // private customStyles: any = { + // control: () => ({ + // // none of react-selects styles are passed to + // width: 200 + // }), + // option: (base: any, state: AnimationKeyFrame) => ({ + // ...base, + // borderBottom: "1px dotted pink", + // color: state.isFullscreen ? "red" : "blue", + // padding: 20 + // }), + // singleValue: (base: any, state: any) => { + // const opacity = state.isDisabled ? 0.5 : 1; + // const transition = "opacity 300ms"; + // // tslint:disable-next-line:no-console + // console.log(state.isDisabled); + // return { ...base, opacity, transition }; + // } + // }; render() { return !this.props.loaded ? createElement("div", { @@ -64,14 +83,8 @@ export class DropdownTypeaheadReference extends Component Date: Tue, 14 Aug 2018 13:58:02 +0300 Subject: [PATCH 22/89] Add custom input component --- src/components/DropdownTypeaheadReference.ts | 13 ++++--------- src/components/input.ts | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 src/components/input.ts diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 1ba3ed2..d3dd91e 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -6,6 +6,7 @@ import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; +import { Input } from "./input"; export interface DropdownTypeaheadReferenceProps { style?: string; @@ -64,27 +65,21 @@ export class DropdownTypeaheadReference extends Component) => void; + value?: string; + hasError?: boolean; +} + +export const Input: SFC = (props) => + createElement("input", { + className: classNames("form-control", { "widget-dropdown-type-head-error": props.hasError }), + type: "text", + value: props.value, + onChange: props.onChange + }); + +Input.displayName = "Input"; From 410c7eb913e5044ed3120fe6ffe7c44747eea780 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 14 Aug 2018 15:53:38 +0300 Subject: [PATCH 23/89] Remove input component --- src/components/input.ts | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 src/components/input.ts diff --git a/src/components/input.ts b/src/components/input.ts deleted file mode 100644 index 70747d1..0000000 --- a/src/components/input.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { SFC, createElement } from "react"; -import * as classNames from "classnames"; - -export interface InputProps { - disabled?: boolean; - onChange?: (event: React.ChangeEvent) => void; - value?: string; - hasError?: boolean; -} - -export const Input: SFC = (props) => - createElement("input", { - className: classNames("form-control", { "widget-dropdown-type-head-error": props.hasError }), - type: "text", - value: props.value, - onChange: props.onChange - }); - -Input.displayName = "Input"; From d1bb7deca8f724c1e5face3e70918ef7e527fb3a Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 14 Aug 2018 16:10:05 +0300 Subject: [PATCH 24/89] Add dropdown clear component --- src/components/DropdownClear.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/components/DropdownClear.ts diff --git a/src/components/DropdownClear.ts b/src/components/DropdownClear.ts new file mode 100644 index 0000000..1d4c44b --- /dev/null +++ b/src/components/DropdownClear.ts @@ -0,0 +1,32 @@ +import { SFC, createElement } from "react"; +import * as classNames from "classnames"; + +export interface DropdownClearProps { + children?: Node; + innerProps: any; + ref: any; + getStyles: any; +} + +export const DropdownClear: SFC = (props) => { + const { getStyles, innerProps: { ref, ...restInnerProps } } = props; + return createElement("div", { + className: "widget-dropdown-type-head-clear-container", + ...restInnerProps, + ref, + style: getStyles("clearIndicator", props) + }, + createElement("svg", { + className: classNames("widget-dropdown-type-head-clear"), + focusable: false, + height: 20, + viewBox: "0 0 20 20", + width: 20 + }, + createElement("path", { + // tslint:disable-next-line:max-line-length + d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" + }))); +}; + +DropdownClear.displayName = "DropdownClear"; From f8332e8463ac8dfa87e0abb530971741139b82af Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 14 Aug 2018 16:10:53 +0300 Subject: [PATCH 25/89] Add control component --- src/components/Control.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/components/Control.ts diff --git a/src/components/Control.ts b/src/components/Control.ts new file mode 100644 index 0000000..c39c2a8 --- /dev/null +++ b/src/components/Control.ts @@ -0,0 +1,18 @@ +import { SFC, createElement } from "react"; +import { components } from "react-select"; +// import * as classNames from "classnames"; + +export interface ControlProps { + children?: Node; + // innerRef: any; + // innerProps: { + // onMouseDown: (event: React.MouseEvent) => void + // }; +} +export const Control: SFC = (props) => + createElement(components.Control as any, { + className: "widget-dropdown-type-ahead-control", + ...props + }); + +Control.displayName = "Control"; From 0f5a98df21b771a663b36a822270874c9c5c7d86 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 14 Aug 2018 16:12:18 +0300 Subject: [PATCH 26/89] Add dropdown indicator component --- src/components/DropdownIndicator.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/components/DropdownIndicator.ts diff --git a/src/components/DropdownIndicator.ts b/src/components/DropdownIndicator.ts new file mode 100644 index 0000000..dafaeb3 --- /dev/null +++ b/src/components/DropdownIndicator.ts @@ -0,0 +1,27 @@ +import { SFC, createElement } from "react"; +import { components } from "react-select"; +import * as classNames from "classnames"; + +export interface DropProps { + children?: Node; +} + +export const Dropdown: SFC = (props) => { + return createElement(components.DropdownIndicator as any , { + ...props, + className: "widget-dropdown-type-head-arrow-container" + }, + createElement("svg", { + className: classNames("widget-dropdown-type-head-arrow"), + focusable: false, + height: 20, + viewBox: "0 0 20 20", + width: 20 + }, + createElement("path", { + // tslint:disable-next-line:max-line-length + d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" + }))); +}; + +Dropdown.displayName = "Dropdown"; From d4b12f5a5d6e034d1a146b624e1773b46b974f31 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 14 Aug 2018 16:13:26 +0300 Subject: [PATCH 27/89] Add indicator container component --- src/components/IndicatorsContainer.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/components/IndicatorsContainer.ts diff --git a/src/components/IndicatorsContainer.ts b/src/components/IndicatorsContainer.ts new file mode 100644 index 0000000..421615e --- /dev/null +++ b/src/components/IndicatorsContainer.ts @@ -0,0 +1,16 @@ +import { SFC, createElement } from "react"; +import { components } from "react-select"; +// import * as classNames from "classnames"; + +export interface IndicatorsContainerProps { + children?: Node; +} + +export const IndicatorsContainer: SFC = (props) => { + return createElement(components.IndicatorsContainer as any , { + ...props, className: "widget-dropdown-type-head-indicator-container" + } + ); +}; + +IndicatorsContainer.displayName = "IndicatorsContainer"; From cf68f12037eba29be25bf6cb5f0b84685f4aee0d Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 14 Aug 2018 16:23:18 +0300 Subject: [PATCH 28/89] Style with custom class names --- package-lock.json | 95 +++++++++++--------- package.json | 4 +- src/components/DropdownTypeaheadReference.ts | 39 ++------ src/ui/DropdownTypeaheadReference.scss | 13 ++- 4 files changed, 76 insertions(+), 75 deletions(-) diff --git a/package-lock.json b/package-lock.json index f51b0f8..f8c30f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,13 +24,13 @@ } }, "@emotion/babel-utils": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.7.tgz", - "integrity": "sha512-U6iTV9HurrZ0ye8VOTIGcV4tMdDtAIGbfCH58L/NdOhW05pV/KVlNmbXsHp01VMSM+pgmSkGqHSLLE8zdDYJvA==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.9.tgz", + "integrity": "sha512-QN2+TP+x5QWuOGUv8TZwdMiF8PHgBQiLx646rKZBnakgc9gLYFi+gsROVxE6YTNHSaEv0fWsFjDasDyiWSJlDg==", "requires": { "@emotion/hash": "^0.6.5", "@emotion/memoize": "^0.6.5", - "@emotion/serialize": "^0.8.5", + "@emotion/serialize": "^0.9.0", "convert-source-map": "^1.5.1", "find-root": "^1.1.0", "source-map": "^0.7.2" @@ -54,14 +54,14 @@ "integrity": "sha512-n1USr7yICA4LFIv7z6kKsXM8rZJxd1btKCBmDewlit+3OJ2j4bDfgXTAxTHYbPkHS/eztHmFWfsbxW2Pu5mDqA==" }, "@emotion/serialize": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.8.5.tgz", - "integrity": "sha512-NObUNfK7lqxFpSJWHRwJeeGSZaElEgMn5eR76ift06yx9FdwIfFY47ffapkf2lJUoIUx4ffP55fPSVPMgv0Qgw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.0.tgz", + "integrity": "sha512-ScuBRGxHCyAEN8YgQSsxtG5ddmP9+Of8WkxC7hidhGTxKhq3lgeCu5cFk2WdAMrpYgEd0U4g4QW/1YrCOGpAsA==", "requires": { "@emotion/hash": "^0.6.5", "@emotion/memoize": "^0.6.5", - "@emotion/unitless": "^0.6.5", - "@emotion/utils": "^0.7.3" + "@emotion/unitless": "^0.6.6", + "@emotion/utils": "^0.8.1" } }, "@emotion/stylis": { @@ -70,14 +70,14 @@ "integrity": "sha512-yS+t7l5FeYeiIyADyqjFBJvdotpphHb2S3mP4qak5BpV7ODvxuyAVF24IchEslW+A1MWHAhn5SiOW6GZIumiEQ==" }, "@emotion/unitless": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.5.tgz", - "integrity": "sha512-kAFHWyQTMLcOvse+RfEfJ6uwwOlVFZcUOMX0wuBvEMwnF3Zb/6VQ/xDgbx9fNlp3I6AAmijAtUtIyT2qVldpnA==" + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.6.tgz", + "integrity": "sha512-zbd1vXRpGWCgDLsXqITReL+eqYJ95PYyWrVCCuMLBDb2LGA/HdxrZHJri6Fe+tKHihBOiCK1kbu+3Ij8aNEjzA==" }, "@emotion/utils": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.7.3.tgz", - "integrity": "sha512-1bGqG9IYJETOOqQEjWinGx1deLlAW/Fcew4GyrzZx0dJIgAjivZTmwzjrhB+Vhj7TgjMr0aTyj5byHmZezisZQ==" + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.1.tgz", + "integrity": "sha512-dEv1n+IFtlvLQ8/FsTOtBCC1aNT4B5abE8ODF5wk2tpWnjvgGNRMvHCeJGbVHjFfer4h8MH2w9c2/6eoJHclMg==" }, "@types/big.js": { "version": "0.0.31", @@ -112,8 +112,7 @@ "@types/node": { "version": "10.5.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", - "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", - "dev": true + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" }, "@types/react": { "version": "16.4.6", @@ -127,16 +126,25 @@ "version": "16.0.6", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.6.tgz", "integrity": "sha512-M+1zmwa5KxUpkCuxA4whlDJKYTGNvNQW4pIoCLH16xGbClicD9CzPry4y94kTjCCk/bJZCZ/GVqUsP7eKcO/mQ==", - "dev": true, "requires": { "@types/node": "*", "@types/react": "*" } }, "@types/react-select": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.2.10.tgz", - "integrity": "sha512-2BBjILgzea4RZRbJgg6vNDox32YF8stWBc64+IXZxsCNXRbpsPoSDXflWwn6a7aZYcrXPO8dYnYRVS3B0yJPpw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-2.0.2.tgz", + "integrity": "sha512-CdFmeKQC0ySBmoB1l5P9rUf/ToeNYGLPdXxNzHQD8KRAAakEwYb8hXYOLO21IHGJVwAr1vCCpTEwe3D0XcqUVQ==", + "requires": { + "@types/react": "*", + "@types/react-dom": "*", + "@types/react-transition-group": "*" + } + }, + "@types/react-transition-group": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.13.tgz", + "integrity": "sha512-A3DV2+aU1P2/wD4r2Lz3lKTV8hFjUslWmT18gGhBdMtZ6FVOAJV7HyZA7dt+Kc+pa1jjevLBhHj344Gnh8yo1g==", "requires": { "@types/react": "*" } @@ -866,11 +874,11 @@ } }, "babel-plugin-macros": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.3.0.tgz", - "integrity": "sha512-Y9h4dQMlzUUKATfNEN+sgiwND/+PGiAkjSW+qwyATIvYMk1y39XmaLHXKI2VojplqtOWQry0y6CumvDw+qETvQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.4.0.tgz", + "integrity": "sha512-flIBfrqAdHWn+4l2cS/4jZEyl+m5EaBHVzTb0aOF+eu/zR7E41/MoCFHPhDNL8Wzq1nyelnXeT+vcL2byFLSZw==", "requires": { - "cosmiconfig": "^4.0.0" + "cosmiconfig": "^5.0.5" } }, "babel-plugin-syntax-jsx": { @@ -1847,14 +1855,13 @@ "dev": true }, "cosmiconfig": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz", + "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==", "requires": { "is-directory": "^0.3.1", "js-yaml": "^3.9.0", - "parse-json": "^4.0.0", - "require-from-string": "^2.0.1" + "parse-json": "^4.0.0" }, "dependencies": { "esprima": { @@ -5362,6 +5369,11 @@ "mimic-fn": "^1.0.0" } }, + "memoize-one": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.0.tgz", + "integrity": "sha512-wdpOJ4XBejprGn/xhd1i2XR8Dv1A25FJeIvR7syQhQlz9eXsv+06llcvcmBxlWVGv4C73QBsWA8kxvZozzNwiQ==" + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -5797,7 +5809,7 @@ "node-sass": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz", - "integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==", + "integrity": "sha1-XmP+a9DyrjrJ1sFO3oYg4ri9tDc=", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -5843,13 +5855,13 @@ "nan": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "integrity": "sha1-ltDNYQ69WNS03pzAxoKM2pnHVI8=", "dev": true }, "request": { "version": "2.87.0", "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -6778,6 +6790,11 @@ "prop-types": "^15.6.0" } }, + "react-fastclick": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/react-fastclick/-/react-fastclick-3.0.2.tgz", + "integrity": "sha1-KZTGAIjNqQsLLL+sS258a8c9ajo=" + }, "react-input-autosize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", @@ -6792,12 +6809,13 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-select": { - "version": "2.0.0-beta.7", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.0.0-beta.7.tgz", - "integrity": "sha512-Wj4X28Cl7sk9fY1sXbx0NHRQ9pOXZjadj+JcFnUgsF3ZBd6w2pBFqTIbFEZhu+/rGUULEFYQ6YcecDo/uz6z+A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.0.0.tgz", + "integrity": "sha512-i2yWg8tbsY37iPimIvQ0TtIrAzxgGWQTRDZrZPQ2QVNkyHPxDartMkzf2x2Enm6wRkt9I5+pEKSIcvkwIkkiAQ==", "requires": { "classnames": "^2.2.5", "emotion": "^9.1.2", + "memoize-one": "^4.0.0", "prop-types": "^15.6.0", "raf": "^3.4.0", "react-input-autosize": "^2.2.1", @@ -7032,11 +7050,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", diff --git a/package.json b/package.json index e9deb87..c80d0f9 100644 --- a/package.json +++ b/package.json @@ -63,9 +63,9 @@ "webpack-merge": "^4.1.3" }, "dependencies": { - "@types/react-select": "^1.2.10", + "@types/react-select": "^2.0.0", "classnames": "^2.2.6", "react-fastclick": "^3.0.2", - "react-select": "^2.0.0-beta.7" + "react-select": "^2.0.0" } } diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index b0e3d46..465db87 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -6,7 +6,10 @@ import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; -import { Input } from "./input"; +import { Control } from "./Control"; +import { IndicatorsContainer } from "./IndicatorsContainer"; +import { Dropdown } from "./DropdownIndicator"; +import { DropdownClear } from "./DropdownClear"; export interface DropdownTypeaheadReferenceProps { style?: string; @@ -35,27 +38,6 @@ export type metaData = { action: string, removedValue: referenceOption }; export interface AttributeType { name: string; sort: string; } export class DropdownTypeaheadReference extends Component { - // private Node?: HTMLDivElement; - // private customStyles: any = { - // control: () => ({ - // // none of react-selects styles are passed to - // width: 200 - // }), - // option: (base: any, state: AnimationKeyFrame) => ({ - // ...base, - // borderBottom: "1px dotted pink", - // color: state.isFullscreen ? "red" : "blue", - // padding: 20 - // }), - // singleValue: (base: any, state: any) => { - // const opacity = state.isDisabled ? 0.5 : 1; - // const transition = "opacity 300ms"; - // // tslint:disable-next-line:no-console - // console.log(state.isDisabled); - // return { ...base, opacity, transition }; - // } - // }; - render() { return !this.props.loaded ? createElement("div", { className: classNames("widget-dropdown-type-ahead-wrapper", this.props.className) @@ -79,28 +61,23 @@ export class DropdownTypeaheadReference extends Component { - // this.Node = Node; - // } - private renderSelector() { return createElement(Select as any, { className: "react-select-container", - classNamePrefix: "widget-dropdown-type-ahead", - components: { Input }, + // classNamePrefix: "widget-dropdown-type-ahead", + components: { Control, ClearIndicator: DropdownClear, DropdownIndicator: Dropdown, IndicatorsContainer }, isClearable: this.props.isClearable, isDisabled: this.props.isReadOnly, isSearchable: true, menuPlacement: "bottom", menuPosition: "fixed", onChange: this.props.handleOnchange, - // optionClassName: "mx-focus", options: this.props.data, // styles: this.customStyles, // ref: this.setReference, ...this.createSelectorProp() - }), - createElement(Alert, { className: "widget-dropdown-type-ahead-alert" }, this.props.alertMessage) + }, + createElement(Alert, { className: "widget-dropdown-type-ahead-alert" }, this.props.alertMessage)); } private createSelectorProp(): { placeholder?: string, value?: referenceOption } { diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index ead8ec7..9b6d9f7 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -4,7 +4,7 @@ pointer-events: auto !important; } -.widget-dropdown-type-ahead__control { +.widget-dropdown-type-ahead-control { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -33,6 +33,10 @@ transition: all 100ms; box-sizing: border-box; + :hover { + box-shadow: none !important; + } + .widget-dropdown-type-ahead__value-container { -webkit-align-items: center; -webkit-box-align: center; @@ -119,4 +123,11 @@ .widget-dropdown-type-ahead-alert{ margin-top: 4px !important; } +.widget-dropdown-type-head-clear-container { + padding: 0px !important; +} +.widget-dropdown-type-head-arrow-container { + padding-left: 4px !important; + padding-right: 4px; +} \ No newline at end of file From 3c739cbfd5959baaf17cd62a43df5f6b10721446 Mon Sep 17 00:00:00 2001 From: Derrick Kwagala Date: Wed, 15 Aug 2018 11:05:46 +0300 Subject: [PATCH 29/89] Fix clearing bug --- src/components/DropdownTypeaheadReference.ts | 17 +++---- .../DropdownTypeaheadReferenceContainer.ts | 46 ++++++++----------- 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 465db87..e5c9213 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -14,26 +14,26 @@ import { DropdownClear } from "./DropdownClear"; export interface DropdownTypeaheadReferenceProps { style?: string; labelWidth: number; - data: referenceOption[]; + data: ReferenceOption[]; value: string; label: string; showLabel: boolean; emptyCaption: string; isClearable: boolean; isReadOnly: boolean; - selectedValue: referenceOption; + selectedValue: ReferenceOption; loaded: boolean; - handleOnchange: (selectedOption: referenceOption) => void; + handleOnchange: (selectedOption: ReferenceOption) => void; className: string; labelOrientation: "horizontal" | "vertical"; alertMessage: string; } // tslint:disable-next-line:interface-over-type-literal -export type referenceOption = { value?: string, label?: string }; +export type ReferenceOption = { value?: string, label?: string }; // tslint:disable-next-line:interface-over-type-literal -export type metaData = { action: string, removedValue: referenceOption }; +export type MetaData = { action: string, removedValue: ReferenceOption }; export interface AttributeType { name: string; sort: string; } @@ -64,7 +64,6 @@ export class DropdownTypeaheadReference extends Component = this.onChange.bind(this); render() { @@ -96,7 +97,7 @@ export default class ReferenceSelectorContainer extends Component { - const dataOptions: referenceOption[] = []; + const dataOptions: ReferenceOption[] = []; const guids: string[] = []; if (this.props.attribute && mendixObjects.mxObjects && mendixObjects.mxObjects.length && !this.isReadOnly()) { mendixObjects.mxObjects.forEach(mxObject => { @@ -112,13 +113,11 @@ export default class ReferenceSelectorContainer extends Component { - if (this.props.mxObject.getOriginalReferences(this.association).length !== 0) { - this.fetchDataByReference(this.props.mxObject) - .then((mxObject: mendix.lib.MxObject) => { - this.setState({ selected: this.getValue(mxObject) }); - }) - .catch(mx.ui.error); - } + this.fetchDataByReference(this.props.mxObject) + .then((mxObject: mendix.lib.MxObject) => { + this.setState({ selected: this.getValue(mxObject) }); + }) + .catch(mx.ui.error); } private fetchDataByReference(mxObject: mendix.lib.MxObject): Promise { @@ -151,32 +150,25 @@ export default class ReferenceSelectorContainer extends Component Date: Wed, 15 Aug 2018 14:40:28 +0300 Subject: [PATCH 30/89] Add code re-format by Andries --- src/components/Control.ts | 8 +- src/components/DropdownTypeaheadReference.ts | 6 +- .../DropdownTypeaheadReferenceContainer.ts | 110 ++++++++---------- src/components/Menu.ts | 15 +++ src/ui/DropdownTypeaheadReference.scss | 19 ++- src/utils/Data.ts | 10 +- 6 files changed, 87 insertions(+), 81 deletions(-) create mode 100644 src/components/Menu.ts diff --git a/src/components/Control.ts b/src/components/Control.ts index c39c2a8..8302c84 100644 --- a/src/components/Control.ts +++ b/src/components/Control.ts @@ -1,17 +1,13 @@ import { SFC, createElement } from "react"; import { components } from "react-select"; -// import * as classNames from "classnames"; +import * as classNames from "classnames"; export interface ControlProps { children?: Node; - // innerRef: any; - // innerProps: { - // onMouseDown: (event: React.MouseEvent) => void - // }; } export const Control: SFC = (props) => createElement(components.Control as any, { - className: "widget-dropdown-type-ahead-control", + className: classNames("widget-dropdown-type-ahead-control"), ...props }); diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index e5c9213..8030016 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -9,6 +9,7 @@ import "../ui/DropdownTypeaheadReference.scss"; import { Control } from "./Control"; import { IndicatorsContainer } from "./IndicatorsContainer"; import { Dropdown } from "./DropdownIndicator"; +import { Menu } from "./Menu"; import { DropdownClear } from "./DropdownClear"; export interface DropdownTypeaheadReferenceProps { @@ -42,8 +43,7 @@ export class DropdownTypeaheadReference extends Component { - private subscriptionHandles: number[] = []; - private association: string = this.props.entityPath.split("/")[0]; readonly state: ContainerState = { - options: [] + options: [], + selected: "" }; - readonly subscriptionTopic = this.props.entityPath + this.props.attribute; + + private subscriptionHandles: number[] = []; + private association: string = this.props.entityPath.split("/")[0]; private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); render() { + const selectedValue = this.getSelectedValue(this.state.selected); + return createElement(DropdownTypeaheadReference as any, { alertMessage: this.validateProps(this.props), attribute: this.props.attribute, @@ -64,8 +67,8 @@ export default class ReferenceSelectorContainer extends Component { - this.setState({ selected: this.getValue(value), isLoading: false }); - }) - .catch(mx.ui.error); - } + const selected = newProps.mxObject.get(this.association) as string; + this.setState({ selected }); this.retrieveOptions(newProps); this.resetSubscriptions(newProps.mxObject); } else { - this.setState({ selected: undefined }); + this.setState({ selected: "" }); } } @@ -96,43 +93,19 @@ export default class ReferenceSelectorContainer extends Component { - const dataOptions: ReferenceOption[] = []; - const guids: string[] = []; - if (this.props.attribute && mendixObjects.mxObjects && mendixObjects.mxObjects.length && !this.isReadOnly()) { - mendixObjects.mxObjects.forEach(mxObject => { - dataOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); - guids.push(mxObject.getGuid()); - }); + private getSelectedValue(selectedGuid: string) { + const selectedOptions = this.state.options.filter(option => option.value === selectedGuid); + let selected = {}; + if (selectedOptions.length > 0) { + selected = selectedOptions[0]; } - this.setState({ options: dataOptions }); + return selected; } private isReadOnly = (): boolean => { return !this.props.mxObject || (this.props.editable !== "default") || this.props.readOnly; } - private handleSubscriptions = () => { - this.fetchDataByReference(this.props.mxObject) - .then((mxObject: mendix.lib.MxObject) => { - this.setState({ selected: this.getValue(mxObject) }); - }) - .catch(mx.ui.error); - } - - private fetchDataByReference(mxObject: mendix.lib.MxObject): Promise { - return new Promise((resolve) => mxObject.fetch(this.props.entityPath, resolve)); - } - - private getValue(mxObject: mendix.lib.MxObject) { - if (mxObject) { - return { - label: mxObject.get(this.props.attribute) as string, - value: mxObject.getGuid() - }; - } - } - private resetSubscriptions(mxObject?: mendix.lib.MxObject) { this.subscriptionHandles.forEach(window.mx.data.unsubscribe); this.subscriptionHandles = []; @@ -150,26 +123,23 @@ export default class ReferenceSelectorContainer extends Component { + const selected = this.props.mxObject.get(this.association) as string; + this.setState({ selected }); + } + private onChange(recentSelection: ReferenceOption | any, info: MetaData) { - if (!this.props.mxObject) { + if (!this.props.mxObject || this.state.selected === recentSelection.value) { return; } - + let selected = recentSelection.value; if (info.action === "pop-value" || info.action === "clear") { - // tslint:disable-next-line - const value = this.state.selected && this.state.selected.value; // QN: Under what circumstances will the selected value be undefined when also recent is undefined - this.props.mxObject.removeReferences(this.association, [ value as string ]); - this.setState({ selected: undefined }); - } else { - this.props.mxObject.addReference(this.association, recentSelection.value as string); - this.setState({ selected: recentSelection }); + selected = ""; } + this.props.mxObject.set(this.association, selected); + this.executeOnChangeEvent(); - if (this.state.selected && recentSelection) { - if (this.state.selected.value !== recentSelection.value) { - this.executeOnChangeEvent(); - } - } + this.setState({ selected }); } private executeOnChangeEvent = () => { @@ -201,7 +171,7 @@ export default class ReferenceSelectorContainer extends Component this.setOptions(optionObjects)) + .catch(mx.ui.error); + } + + private setOptions = (mendixObjects: mendix.lib.MxObject[]) => { + const dataOptions: ReferenceOption[] = []; + + mendixObjects.forEach(mxObject => { + dataOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + }); + + this.setState({ options: dataOptions }); } } diff --git a/src/components/Menu.ts b/src/components/Menu.ts new file mode 100644 index 0000000..959bcd0 --- /dev/null +++ b/src/components/Menu.ts @@ -0,0 +1,15 @@ +import { SFC, createElement } from "react"; +import { components } from "react-select"; +import * as classNames from "classnames"; + +export interface MenuProps { + children?: Node; +} + +export const Menu: SFC = (props) => + createElement(components.Menu as any, { + className: classNames("widget-dropdown-type-ahead-menu", "form-control"), + ...props + }); + +Menu.displayName = "Menu"; diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index 9b6d9f7..cbce095 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -33,9 +33,9 @@ transition: all 100ms; box-sizing: border-box; - :hover { - box-shadow: none !important; - } + // :hover { + // box-shadow: none !important; + // } .widget-dropdown-type-ahead__value-container { -webkit-align-items: center; @@ -104,6 +104,10 @@ stroke-width: 0; } +.css-2o5izw { + box-shadow: none !important; +} + .widget-dropdown-type-ahead__control--is-disabled { background-color: #eee !important; opacity: 1; @@ -130,4 +134,13 @@ .widget-dropdown-type-head-arrow-container { padding-left: 4px !important; padding-right: 4px; +} + +.css-15k3avv { + box-shadow: none !important; + margin-top: auto !important; +} + +.css-1gz2om7 { + position: unset !important; } \ No newline at end of file diff --git a/src/utils/Data.ts b/src/utils/Data.ts index 6001fb6..895edd6 100644 --- a/src/utils/Data.ts +++ b/src/utils/Data.ts @@ -70,8 +70,8 @@ const addPathReference = (references: ReferencesSpec, path: string): ReferencesS return referenceSet; }, references); -export const fetchData = (options: FetchDataOptions): Promise => - new Promise((resolve, reject) => { +export const fetchData = (options: FetchDataOptions): Promise => + new Promise((resolve, reject) => { const { guid, entity, sortAttributes, sortOrder } = options; if (entity && guid) { if (options.source === "xpath") { @@ -85,15 +85,15 @@ export const fetchData = (options: FetchDataOptions): Promise => sortAttributes, sortOrder }) - .then(mxObjects => resolve({ mxObjects })) + .then(mxObjects => resolve(mxObjects)) .catch(message => reject({ message })); } else if (options.source === "microflow" && options.microflow) { fetchByMicroflow(options.microflow, guid) - .then(mxObjects => resolve({ mxObjects })) + .then(mxObjects => resolve(mxObjects)) .catch(message => reject({ message })); } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) { // nanoflow fetchByNanoflow(options.nanoflow, options.mxform) - .then(mxObjects => resolve({ mxObjects })) + .then(mxObjects => resolve(mxObjects)) .catch(message => reject({ message })); } else { reject("entity & guid are required"); From a9676dd7f630898305ed339981db7fa1131854d7 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 16 Aug 2018 12:00:15 +0300 Subject: [PATCH 31/89] Fix render of alert messages --- src/DropdownTypeaheadReference.webmodeler.ts | 6 +- src/components/Control.ts | 2 +- src/components/DropdownTypeaheadReference.ts | 17 +++--- .../DropdownTypeaheadReferenceContainer.ts | 56 ++++++----------- src/components/Menu.ts | 2 +- src/ui/DropdownTypeaheadReference.scss | 60 +++++++++++-------- src/utils/ContainerUtils.ts | 28 +++++++++ 7 files changed, 98 insertions(+), 73 deletions(-) diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index 3cb0695..46ed1b0 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -21,7 +21,7 @@ export class preview extends Component { return createElement(DropdownTypeaheadReference as any, { emptyCaption: this.selected.label, isClearable: this.props.isClearable, - isReadOnly: !this.props.readOnly, + isReadOnly: this.isReadOnly(), label: this.props.labelCaption, labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, @@ -29,6 +29,10 @@ export class preview extends Component { style: parseStyle(this.props.style) }); } + + private isReadOnly = (): boolean => { + return (this.props.editable !== "default") || this.props.readOnly; + } } export function getPreviewCss() { diff --git a/src/components/Control.ts b/src/components/Control.ts index 8302c84..6b0b95b 100644 --- a/src/components/Control.ts +++ b/src/components/Control.ts @@ -7,7 +7,7 @@ export interface ControlProps { } export const Control: SFC = (props) => createElement(components.Control as any, { - className: classNames("widget-dropdown-type-ahead-control"), + className: classNames("widget-dropdown-type-ahead-control", "form-control"), ...props }); diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 8030016..e5e6c22 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -7,10 +7,10 @@ import { Label } from "./Label"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; import { Control } from "./Control"; -import { IndicatorsContainer } from "./IndicatorsContainer"; -import { Dropdown } from "./DropdownIndicator"; +// import { IndicatorsContainer } from "./IndicatorsContainer"; +// import { Dropdown } from "./DropdownIndicator"; import { Menu } from "./Menu"; -import { DropdownClear } from "./DropdownClear"; +// import { DropdownClear } from "./DropdownClear"; export interface DropdownTypeaheadReferenceProps { style?: string; @@ -62,9 +62,10 @@ export class DropdownTypeaheadReference extends Component { @@ -56,7 +55,7 @@ export default class ReferenceSelectorContainer extends Component 11 || props.labelWidth < 1)) { - message.push("Label width should be a value between 0 and 12"); - } - - if (props.labelCaption.trim() === "" && props.showLabel) { - message.push("Show label is enabled but no label is provided"); - } - - if (message.length) { - const widgetName = props.friendlyId.split(".")[2]; - const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; - return errorMessage; - } - - return message.join(", "); - } - private retrieveOptions(props: ContainerProps) { const entity = this.props.entityPath.split("/")[1]; const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = props; @@ -215,12 +195,12 @@ export default class ReferenceSelectorContainer extends Component { - const dataOptions: ReferenceOption[] = []; + const options: ReferenceOption[] = []; mendixObjects.forEach(mxObject => { - dataOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + options.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); }); - this.setState({ options: dataOptions }); + this.setState({ options }); } } diff --git a/src/components/Menu.ts b/src/components/Menu.ts index 959bcd0..6153b97 100644 --- a/src/components/Menu.ts +++ b/src/components/Menu.ts @@ -8,7 +8,7 @@ export interface MenuProps { export const Menu: SFC = (props) => createElement(components.Menu as any, { - className: classNames("widget-dropdown-type-ahead-menu", "form-control"), + className: classNames("widget-dropdown-type-ahead-menu", "form-control", "mx-focus"), ...props }); diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index cbce095..3f7ee43 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -1,5 +1,5 @@ -[class*='widget-dropdown-type-ahead--is-disabled'] { +[class*='css-1sontr1'] { cursor: not-allowed !important; pointer-events: auto !important; } @@ -32,12 +32,9 @@ -webkit-transition: all 100ms; transition: all 100ms; box-sizing: border-box; + height: 10px !important; - // :hover { - // box-shadow: none !important; - // } - - .widget-dropdown-type-ahead__value-container { + .css-1rtrksz { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -58,7 +55,7 @@ box-sizing: border-box; background-color: inherit ; - .widget-dropdown-type-ahead__indicators { + .css-1wy0on6 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -75,22 +72,21 @@ flex-shrink: 0; background-color: inherit ; box-sizing: border-box; - - .widget-dropdown-type-ahead__clear-indicator { - color: #999; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding: 8px; - -webkit-transition: color 150ms; - transition: color 150ms; - box-sizing: border-box; - } } } } +.css-1ep9fjw { + color: #999; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-transition: color 150ms; + transition: color 150ms; + box-sizing: border-box; + padding: 0px !important; +} .css-d8oujb { display: none !important; @@ -108,7 +104,7 @@ box-shadow: none !important; } -.widget-dropdown-type-ahead__control--is-disabled { +.css-162g8z5 { background-color: #eee !important; opacity: 1; :hover{ cursor: not-allowed !important;} @@ -127,9 +123,6 @@ .widget-dropdown-type-ahead-alert{ margin-top: 4px !important; } -.widget-dropdown-type-head-clear-container { - padding: 0px !important; -} .widget-dropdown-type-head-arrow-container { padding-left: 4px !important; @@ -139,8 +132,27 @@ .css-15k3avv { box-shadow: none !important; margin-top: auto !important; + padding: unset !important; } .css-1gz2om7 { position: unset !important; -} \ No newline at end of file +} + +.css-1sjym57 { + @extend .css-1ep9fjw; +} + +.css-va7pk8 { + margin-left: -8px !important; +} + +.css-142w6gm { + @extend .css-va7pk8; + color: #000000 !important; +} + +.css-9b5vae { + @extend .css-15k3avv; + margin-bottom: auto !important; +} diff --git a/src/utils/ContainerUtils.ts b/src/utils/ContainerUtils.ts index ddebeb0..333c8ad 100644 --- a/src/utils/ContainerUtils.ts +++ b/src/utils/ContainerUtils.ts @@ -1,3 +1,5 @@ +import { ContainerProps } from "../components/DropdownTypeaheadReferenceContainer"; + export const parseStyle = (style = ""): { [key: string]: string } => { try { return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { @@ -15,3 +17,29 @@ export const parseStyle = (style = ""): { [key: string]: string } => { return {}; }; + +export const validateProps = (props: ContainerProps): string => { + const message: string[] = []; + + if (props.onChangeEvent === "callMicroflow" && !props.onChangeMicroflow) { + message.push("On change event is set to 'Call a microflow' but no microflow is selected"); + } else if (props.onChangeEvent === "callNanoflow" && !props.onChangeNanoflow.nanoflow) { + message.push("On change event is set to 'Call a nanoflow' but no nanoflow is selected"); + } + + if (props.labelCaption.trim() === "" && props.showLabel && (props.labelWidth > 11 || props.labelWidth < 1)) { + message.push("Label width should be a value between 0 and 12"); + } + + if (props.labelCaption.trim() === "" && props.showLabel) { + message.push("Show label is enabled but no label is provided"); + } + + if (message.length) { + const widgetName = props.friendlyId.split(".")[2]; + const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; + return errorMessage; + } + + return message.join(", "); +}; From fd48a290f10d004cb355f606939937b387f66474 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 23 Aug 2018 11:00:11 +0300 Subject: [PATCH 32/89] Down grade to react-select@1.3.0 --- package-lock.json | 568 +++--------------- package.json | 4 +- src/DropdownTypeaheadReference.webmodeler.ts | 20 +- src/components/Control.ts | 4 +- src/components/DropdownIndicator.ts | 4 +- src/components/DropdownTypeaheadReference.ts | 49 +- .../DropdownTypeaheadReferenceContainer.ts | 24 +- src/components/IndicatorsContainer.ts | 4 +- src/components/Menu.ts | 4 +- src/components/SelectComponents.js | 130 ++++ src/ui/DropdownTypeaheadReference.scss | 407 +++++++++---- src/ui/react-select.css | 428 +++++++++++++ 12 files changed, 971 insertions(+), 675 deletions(-) create mode 100644 src/components/SelectComponents.js create mode 100644 src/ui/react-select.css diff --git a/package-lock.json b/package-lock.json index f8c30f1..82f1715 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,81 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@babel/helper-module-imports": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz", - "integrity": "sha1-zgBCgEX7t9XrwOp7+DV4nxU2arI=", - "requires": { - "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" - } - }, - "@babel/types": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz", - "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" - } - }, - "@emotion/babel-utils": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/@emotion/babel-utils/-/babel-utils-0.6.9.tgz", - "integrity": "sha512-QN2+TP+x5QWuOGUv8TZwdMiF8PHgBQiLx646rKZBnakgc9gLYFi+gsROVxE6YTNHSaEv0fWsFjDasDyiWSJlDg==", - "requires": { - "@emotion/hash": "^0.6.5", - "@emotion/memoize": "^0.6.5", - "@emotion/serialize": "^0.9.0", - "convert-source-map": "^1.5.1", - "find-root": "^1.1.0", - "source-map": "^0.7.2" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "@emotion/hash": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.6.5.tgz", - "integrity": "sha512-JlZbn5+adseTdDPTUkx/O1/UZbhaGR5fCLLWQDCIJ4eP9fJcVdP/qjlTveEX6mkNoJHWFbZ47wArWQQ0Qk6nMA==" - }, - "@emotion/memoize": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.5.tgz", - "integrity": "sha512-n1USr7yICA4LFIv7z6kKsXM8rZJxd1btKCBmDewlit+3OJ2j4bDfgXTAxTHYbPkHS/eztHmFWfsbxW2Pu5mDqA==" - }, - "@emotion/serialize": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.9.0.tgz", - "integrity": "sha512-ScuBRGxHCyAEN8YgQSsxtG5ddmP9+Of8WkxC7hidhGTxKhq3lgeCu5cFk2WdAMrpYgEd0U4g4QW/1YrCOGpAsA==", - "requires": { - "@emotion/hash": "^0.6.5", - "@emotion/memoize": "^0.6.5", - "@emotion/unitless": "^0.6.6", - "@emotion/utils": "^0.8.1" - } - }, - "@emotion/stylis": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.6.12.tgz", - "integrity": "sha512-yS+t7l5FeYeiIyADyqjFBJvdotpphHb2S3mP4qak5BpV7ODvxuyAVF24IchEslW+A1MWHAhn5SiOW6GZIumiEQ==" - }, - "@emotion/unitless": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.6.6.tgz", - "integrity": "sha512-zbd1vXRpGWCgDLsXqITReL+eqYJ95PYyWrVCCuMLBDb2LGA/HdxrZHJri6Fe+tKHihBOiCK1kbu+3Ij8aNEjzA==" - }, - "@emotion/utils": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.8.1.tgz", - "integrity": "sha512-dEv1n+IFtlvLQ8/FsTOtBCC1aNT4B5abE8ODF5wk2tpWnjvgGNRMvHCeJGbVHjFfer4h8MH2w9c2/6eoJHclMg==" - }, "@types/big.js": { "version": "0.0.31", "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", @@ -112,7 +37,8 @@ "@types/node": { "version": "10.5.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", - "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", + "dev": true }, "@types/react": { "version": "16.4.6", @@ -126,25 +52,16 @@ "version": "16.0.6", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.6.tgz", "integrity": "sha512-M+1zmwa5KxUpkCuxA4whlDJKYTGNvNQW4pIoCLH16xGbClicD9CzPry4y94kTjCCk/bJZCZ/GVqUsP7eKcO/mQ==", + "dev": true, "requires": { "@types/node": "*", "@types/react": "*" } }, "@types/react-select": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-2.0.2.tgz", - "integrity": "sha512-CdFmeKQC0ySBmoB1l5P9rUf/ToeNYGLPdXxNzHQD8KRAAakEwYb8hXYOLO21IHGJVwAr1vCCpTEwe3D0XcqUVQ==", - "requires": { - "@types/react": "*", - "@types/react-dom": "*", - "@types/react-transition-group": "*" - } - }, - "@types/react-transition-group": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.13.tgz", - "integrity": "sha512-A3DV2+aU1P2/wD4r2Lz3lKTV8hFjUslWmT18gGhBdMtZ6FVOAJV7HyZA7dt+Kc+pa1jjevLBhHj344Gnh8yo1g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.3.0.tgz", + "integrity": "sha512-a9XMXDxYTCTFAHGdQ86hWlhdFWtcXCRGN3iXONB7w1vNcO9+J4CvAUsYgWNekIcMMNvpKK/dIrsVaTLSERnwig==", "requires": { "@types/react": "*" } @@ -411,7 +328,8 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "accepts": { "version": "1.3.5", @@ -488,7 +406,8 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "ansi-styles": { "version": "3.2.0", @@ -560,6 +479,7 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -740,6 +660,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -749,12 +670,14 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -767,6 +690,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -775,6 +699,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -784,186 +709,16 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - } - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-emotion": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-9.2.6.tgz", - "integrity": "sha512-aCRXUPm2pwaUqUtpQ2Gzbn5EeOD2RyUDTQDJl5Yqwg1RLQPs3OvnB6Xt6GUrMomMISxuwFrxuWfBMajHv74UjQ==", - "requires": { - "@babel/helper-module-imports": "7.0.0-beta.51", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.6.10", - "babel-core": "^6.26.3", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^1.0.0" - } - }, - "babel-plugin-macros": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.4.0.tgz", - "integrity": "sha512-flIBfrqAdHWn+4l2cS/4jZEyl+m5EaBHVzTb0aOF+eu/zR7E41/MoCFHPhDNL8Wzq1nyelnXeT+vcL2byFLSZw==", - "requires": { - "cosmiconfig": "^5.0.5" - } - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "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=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base": { "version": "0.11.2", @@ -1160,6 +915,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1709,7 +1465,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.2", @@ -1768,11 +1525,6 @@ "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", "dev": true }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" - }, "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", @@ -1846,7 +1598,8 @@ "core-js": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -1854,41 +1607,6 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cosmiconfig": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz", - "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==", - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, "crc": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", @@ -1915,20 +1633,6 @@ "elliptic": "^6.0.0" } }, - "create-emotion": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-9.2.6.tgz", - "integrity": "sha512-4g46va26lw6DPfKF7HeWY3OI/qoaNSwpvO+li8dMydZfC6f6+ZffwlYHeIyAhGR8Z8C8c0H9J1pJbQRtb9LScw==", - "requires": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.6.10", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" - } - }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -2113,6 +1817,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -2257,14 +1962,6 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": { - "repeating": "^2.0.0" - } - }, "detect-libc": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-0.2.0.tgz", @@ -2354,11 +2051,6 @@ } } }, - "dom-helpers": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", - "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==" - }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -2414,15 +2106,6 @@ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, - "emotion": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/emotion/-/emotion-9.2.6.tgz", - "integrity": "sha512-95/EiWkADklxyy1y1qlJeX5Cepa7WfpJBJSBgbLkDCBzOnP4maluvz52xcV5UaObBTfVnEBq77Go6/bgF7+xaA==", - "requires": { - "babel-plugin-emotion": "^9.2.6", - "create-emotion": "^9.2.6" - } - }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -2480,6 +2163,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -2549,7 +2233,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "eslint-scope": { "version": "4.0.0", @@ -2585,7 +2270,8 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "etag": { "version": "1.8.1", @@ -2997,11 +2683,6 @@ "pkg-dir": "^2.0.0" } }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -3824,11 +3505,6 @@ "which": "^1.2.14" } }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, "globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", @@ -4344,15 +4020,6 @@ "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", "dev": true }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, "homedir-polyfill": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", @@ -4716,14 +4383,6 @@ "meow": "^3.3.0" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -4754,7 +4413,8 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", @@ -4812,11 +4472,6 @@ "kind-of": "^6.0.2" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -4833,6 +4488,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5047,7 +4703,8 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "json-schema": { "version": "0.2.3", @@ -5076,7 +4733,8 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true }, "jsonfile": { "version": "2.4.0", @@ -5205,7 +4863,8 @@ "lodash": { "version": "4.17.5", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true }, "lodash.assign": { "version": "4.2.0", @@ -5369,11 +5028,6 @@ "mimic-fn": "^1.0.0" } }, - "memoize-one": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.0.tgz", - "integrity": "sha512-wdpOJ4XBejprGn/xhd1i2XR8Dv1A25FJeIvR7syQhQlz9eXsv+06llcvcmBxlWVGv4C73QBsWA8kxvZozzNwiQ==" - }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -5534,6 +5188,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5617,6 +5272,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" }, @@ -5624,7 +5280,8 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true } } }, @@ -5651,7 +5308,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multicast-dns": { "version": "6.2.3", @@ -5967,7 +5625,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "oauth-sign": { "version": "0.8.2", @@ -6159,7 +5818,8 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "1.4.0", @@ -6173,7 +5833,8 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.4", @@ -6299,7 +5960,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -6350,7 +6012,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "pify": { "version": "3.0.0", @@ -6556,11 +6219,6 @@ "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", "dev": true }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -6696,14 +6354,6 @@ "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", "dev": true }, - "raf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", - "requires": { - "performance-now": "^2.1.0" - } - }, "randombytes": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", @@ -6803,45 +6453,14 @@ "prop-types": "^15.5.8" } }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, "react-select": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-2.0.0.tgz", - "integrity": "sha512-i2yWg8tbsY37iPimIvQ0TtIrAzxgGWQTRDZrZPQ2QVNkyHPxDartMkzf2x2Enm6wRkt9I5+pEKSIcvkwIkkiAQ==", - "requires": { - "classnames": "^2.2.5", - "emotion": "^9.1.2", - "memoize-one": "^4.0.0", - "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-input-autosize": "^2.2.1", - "react-transition-group": "^2.2.1" - } - }, - "react-transition-group": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz", - "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz", + "integrity": "sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==", "requires": { - "dom-helpers": "^3.3.1", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - }, - "dependencies": { - "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } + "classnames": "^2.2.4", + "prop-types": "^15.5.8", + "react-input-autosize": "^2.1.2" } }, "read-pkg": { @@ -6948,11 +6567,6 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, "regex-not": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", @@ -7010,6 +6624,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { "is-finite": "^1.0.0" } @@ -7455,7 +7070,8 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "snapdragon": { "version": "0.8.1", @@ -7625,7 +7241,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-loader": { "version": "0.2.3", @@ -7659,14 +7276,6 @@ "urix": "^0.1.0" } }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "^0.5.6" - } - }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -7767,7 +7376,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sshpk": { "version": "1.13.1", @@ -8059,16 +7669,6 @@ } } }, - "stylis": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.3.tgz", - "integrity": "sha512-TxU0aAscJghF9I3V9q601xcK3Uw1JbXvpsBGj/HULqexKOKlOEzzlIpLFRbKkCK990ccuxfXUqmPbIIo7Fq/cQ==" - }, - "stylis-rule-sheet": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" - }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", @@ -8176,11 +7776,6 @@ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -8290,24 +7885,6 @@ "repeat-string": "^1.6.1" } }, - "touch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz", - "integrity": "sha1-RJy+LbrlqMgDjjDXH6D/RklHxN4=", - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "requires": { - "abbrev": "1" - } - } - } - }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", @@ -8323,11 +7900,6 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, "true-case-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", diff --git a/package.json b/package.json index c80d0f9..50dd4f7 100644 --- a/package.json +++ b/package.json @@ -63,9 +63,9 @@ "webpack-merge": "^4.1.3" }, "dependencies": { - "@types/react-select": "^2.0.0", + "@types/react-select": "^1.3.0", "classnames": "^2.2.6", "react-fastclick": "^3.0.2", - "react-select": "^2.0.0" + "react-select": "^1.3.0" } } diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index 46ed1b0..3e2d7de 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -1,6 +1,6 @@ import { Component, createElement } from "react"; -import { parseStyle } from "./utils/ContainerUtils"; +import { parseStyle, validateProps } from "./utils/ContainerUtils"; import { DropdownTypeaheadReference } from "./components/DropdownTypeaheadReference"; import { ContainerProps } from "./components/DropdownTypeaheadReferenceContainer"; @@ -12,19 +12,24 @@ type VisibilityMap = { // tslint:disable-next-line class-name export class preview extends Component { - private selected = { - label: this.props.emptyOptionCaption, - value: "noGuid" - }; - render() { + const selectedValue = { + label: this.props.emptyOptionCaption, + value: "noGuid" + }; + return createElement(DropdownTypeaheadReference as any, { - emptyCaption: this.selected.label, + alertMessage: validateProps(this.props), + attribute: this.props.attribute, + className: this.props.class, + emptyCaption: this.props.emptyOptionCaption, isClearable: this.props.isClearable, isReadOnly: this.isReadOnly(), label: this.props.labelCaption, labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, + readOnlyStyle: this.props.readOnlyStyle, + selectedValue, showLabel: this.props.showLabel, style: parseStyle(this.props.style) }); @@ -47,6 +52,7 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.onChangeNanoflow = valueMap.onChangeEvent === "callNanoflow"; if (valueMap.source !== "xpath") { + visibilityMap.sortAttributes = false; visibilityMap.sortOrder = false; visibilityMap.entityConstraint = false; } diff --git a/src/components/Control.ts b/src/components/Control.ts index 6b0b95b..efb5361 100644 --- a/src/components/Control.ts +++ b/src/components/Control.ts @@ -1,12 +1,12 @@ import { SFC, createElement } from "react"; -import { components } from "react-select"; +// import { components } from "react-select"; import * as classNames from "classnames"; export interface ControlProps { children?: Node; } export const Control: SFC = (props) => - createElement(components.Control as any, { + createElement("div" as any, { className: classNames("widget-dropdown-type-ahead-control", "form-control"), ...props }); diff --git a/src/components/DropdownIndicator.ts b/src/components/DropdownIndicator.ts index dafaeb3..c871b5f 100644 --- a/src/components/DropdownIndicator.ts +++ b/src/components/DropdownIndicator.ts @@ -1,5 +1,5 @@ import { SFC, createElement } from "react"; -import { components } from "react-select"; +// import { components } from "react-select"; import * as classNames from "classnames"; export interface DropProps { @@ -7,7 +7,7 @@ export interface DropProps { } export const Dropdown: SFC = (props) => { - return createElement(components.DropdownIndicator as any , { + return createElement("div" , { ...props, className: "widget-dropdown-type-head-arrow-container" }, diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index e5e6c22..f83d259 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -6,11 +6,13 @@ import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; -import { Control } from "./Control"; +import "../ui/react-select.css"; +// import { Control } from "./Control"; // import { IndicatorsContainer } from "./IndicatorsContainer"; // import { Dropdown } from "./DropdownIndicator"; -import { Menu } from "./Menu"; +// import { Menu } from "./Menu"; // import { DropdownClear } from "./DropdownClear"; +// import * as SelectComponents from "./SelectComponents"; export interface DropdownTypeaheadReferenceProps { style?: string; @@ -26,6 +28,7 @@ export interface DropdownTypeaheadReferenceProps { loaded: boolean; handleOnchange: (selectedOption: ReferenceOption) => void; className: string; + readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; alertMessage: string; } @@ -62,24 +65,36 @@ export class DropdownTypeaheadReference extends Component void + ...this.createSelectorProp() as object + }), + createElement(Alert, { + className: "widget-dropdown-type-ahead-alert" + }, this.props.alertMessage) + ); + } else { + return createElement("p", { className: "form-control-static" }, this.props.selectedValue.label); + } + } private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { - if (this.props.selectedValue !== "") { + if (this.props.selectedValue) { return { value: this.props.selectedValue }; } return { value: null , placeholder: this.props.emptyCaption }; diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index c7f2811..f4f6580 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../utils/Data"; -import { AttributeType, DropdownTypeaheadReference, MetaData, ReferenceOption } from "./DropdownTypeaheadReference"; +import { AttributeType, DropdownTypeaheadReference, ReferenceOption } from "./DropdownTypeaheadReference"; interface WrapperProps { class: string; @@ -23,6 +23,7 @@ export interface ContainerProps extends WrapperProps { entityConstraint: string; emptyOptionCaption: string; labelCaption: string; + readOnlyStyle: "control" | "text"; source: "xpath" | "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; showLabel: boolean; @@ -66,6 +67,7 @@ export default class ReferenceSelectorContainer extends Component = (props) => { - return createElement(components.IndicatorsContainer as any , { + return createElement("div" , { ...props, className: "widget-dropdown-type-head-indicator-container" } ); diff --git a/src/components/Menu.ts b/src/components/Menu.ts index 6153b97..e39acbf 100644 --- a/src/components/Menu.ts +++ b/src/components/Menu.ts @@ -1,5 +1,5 @@ import { SFC, createElement } from "react"; -import { components } from "react-select"; +// import { components } from "react-select"; import * as classNames from "classnames"; export interface MenuProps { @@ -7,7 +7,7 @@ export interface MenuProps { } export const Menu: SFC = (props) => - createElement(components.Menu as any, { + createElement("div", { className: classNames("widget-dropdown-type-ahead-menu", "form-control", "mx-focus"), ...props }); diff --git a/src/components/SelectComponents.js b/src/components/SelectComponents.js new file mode 100644 index 0000000..bd42375 --- /dev/null +++ b/src/components/SelectComponents.js @@ -0,0 +1,130 @@ +import { createElement } from "react"; +import classNames from "classnames"; + + +const Control = props => createElement("div", { + className: classNames("widget-dropdown-type-ahead-control") }, + props.children); + +const Menu = props => createElement("div", { + className: "widget-dropdown-type-ahead-menu"}, + props.children); + +const MenuList = props => createElement("div", { + className: "widget-dropdown-type-ahead-menu-list" }, + props.children); + +const NoOptionsMessage = (props) => createElement("div", { className: "no-options"}, "No optionss"); + +const Placeholder = props => createElement("div", { className: "widget-dropdown-type-ahead-placeholder", ...props }); + +const Option = props => { + const { innerProps, isDisabled, isFocused, isSelected } = props; + + return !isDisabled ? + createElement("div", { + className: classNames( + "widget-dropdown-type-ahead-options", + isFocused ? "is-focused" : null, + isSelected ? "is-selected" : null + ), + ...innerProps + }, + props.children) : + null; +}; + +const ClearIndicator = props => { + const { innerProps: { ref, ...restInnerProps }} = props; + + return createElement("div", { + className: "widget-dropdown-type-ahead-clear-container", + ...restInnerProps, + ref }, + createElement("svg", { + className: "widget-dropdown-type-ahead-clear", + focusable: false, + height: 20, + viewBox: "0 0 20 20", + width: 20 }, + createElement("path", { + // tslint:disable-next-line:max-line-length + d: + "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" + }) + ) + ); +}; + +const DropdownIndicator = props => { + const { innerProps: { ref, ...restInnerProps }} = props; + + return createElement("div", { + className: "widget-dropdown-type-ahead-dropdown-container", + ...restInnerProps, + ref }, + createElement("svg", { + className: "widget-dropdown-type-ahead-dropdown", + // focusable: false, + height: 20, + viewBox: "0 0 20 20", + width: 20 }, + createElement("path", { + // tslint:disable-next-line:max-line-length + d: + "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" + }) + ) + ); +}; + +const Input = props => { + const { isDisabled } = props; + + return createElement("input", { + className: classNames("mx-input","form-control-custom", isDisabled ? "disabled" : null ), + ...props }); +}; + +const IndicatorsContainer = ({ props, children }) => createElement("div", { + className: "widget-dropdown-type-ahead-indicators-container", + ...props }, + children ); + +const ValueContainer = ({ children, props }) => createElement("div", { + className: "widget-dropdown-type-ahead-value-container", + ...props }, + children +); + +const SelectContainer = ({ props, children }) => createElement("div", { + className: classNames( + "widget-dropdown-type-ahead-select-container", + children[1].props.isDisabled ? "disabled" : null ), + ...props }, + children + ); + + +const SingleValue = ({ props, children }) => createElement("div", { + className: "widget-dropdown-type-ahead-single-value", + ...props }, + children +); + +export default { + Control: Control, + Menu: Menu, + NoOptionsMessage: NoOptionsMessage, + Input: Input, + ValueContainer: ValueContainer, + SelectContainer: SelectContainer, + SingleValue: SingleValue, + Placeholder: Placeholder, + ClearIndicator: ClearIndicator, + DropdownIndicator: DropdownIndicator, + IndicatorsContainer: IndicatorsContainer, + MenuList: MenuList, + Option: Option, + IndicatorSeparator: null +}; diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index 3f7ee43..3381dd6 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -1,158 +1,299 @@ - -[class*='css-1sontr1'] { - cursor: not-allowed !important; - pointer-events: auto !important; -} - -.widget-dropdown-type-ahead-control { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #FFF !important; - border-color: hsl(0,0%,80%); - border-radius: 4px; - border-style: solid; - border-width: 1px; - cursor: default; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - min-height: 38px; - outline: 0 !important; +.widget-dropdown-type-ahead-select-container{ position: relative; - -webkit-transition: all 100ms; - transition: all 100ms; box-sizing: border-box; - height: 10px !important; - - .css-1rtrksz { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 2px 8px; - -webkit-overflow-scrolling: touch; - position: relative; - box-sizing: border-box; - background-color: inherit ; - - .css-1wy0on6 { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - background-color: inherit ; - box-sizing: border-box; - } - } } - -.css-1ep9fjw { - color: #999; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-transition: color 150ms; - transition: color 150ms; - box-sizing: border-box; - padding: 0px !important; +.widget-dropdown-type-ahead-control { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color:white; + border-color: hsl(0,0%,80%); + border-radius: 4px; + border-style: solid; + border-width: 1px; + cursor: default; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + min-height: 38px; + outline: 0 !important; + position: relative; + -webkit-transition: all 100ms; + transition: all 100ms; + box-sizing: border-box; } -.css-d8oujb { - display: none !important; +.widget-dropdown-type-ahead-value-container{ + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 2px 8px; + -webkit-overflow-scrolling: touch; + position: relative; + box-sizing: border-box; } -.css-19bqh2r { - fill: #555555 !important; - fill: currentColor; - line-height: 1; - stroke: currentColor; - stroke-width: 0; +.widget-dropdown-type-ahead-indicators-container { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + box-sizing: border-box; } -.css-2o5izw { - box-shadow: none !important; +.widget-dropdown-type-ahead-menu { + top: 100%; + background-color: hsl(0,0%,100%); + border-radius: 4px; + box-shadow: 0 0 0 1px hsla(0,0%,0%,0.1), 0 4px 11px hsla(0,0%,0%,0.1); + margin-bottom: 8px; + /* margin-top: 8px; */ + position: absolute; + width: 100%; + z-index: 1; + box-sizing: border-box; } -.css-162g8z5 { - background-color: #eee !important; - opacity: 1; - :hover{ cursor: not-allowed !important;} +.widget-dropdown-type-ahead-menu-list { + max-height: 300px; + overflow-y: auto; + padding-bottom: 4px; + padding-top: 4px; + position: relative; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; } -.widget-dropdown-type-ahead__single-value--is-disabled { - color: inherit !important; +.widget-dropdown-type-ahead-options { + cursor: default; + display: block; + font-size: inherit; + padding: 8px 12px; + width: 100%; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: rgba(0,0,0,0); + box-sizing: border-box } -.widget-dropdown-type-ahead__menu { - .widget-dropdown-type-ahead__option { - color: #555555 !important; - } +.widget-dropdown-type-ahead-options.is-focused { + background-color: #2684FF; + color: hsl(0,0%,100%); } - -.widget-dropdown-type-ahead-alert{ - margin-top: 4px !important; +.mx-input { + box-sizing: content-box; + width: 2px; + background: 0px center; + border: 0px; + font-size: inherit; + opacity: 1; + outline: 0px; + padding: 0px; + color: inherit; } - -.widget-dropdown-type-head-arrow-container { - padding-left: 4px !important; - padding-right: 4px; +.widget-dropdown-type-ahead-single-value{ + color: #222; + margin-left: 2px; + margin-right: 2px; + max-width: calc(100% - 8px); + overflow: hidden; + position: absolute; + text-overflow: ellipsis; + white-space: nowrap; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + box-sizing: border-box } -.css-15k3avv { - box-shadow: none !important; - margin-top: auto !important; - padding: unset !important; +[class*="disabled"]:hover { + cursor: not-allowed; } -.css-1gz2om7 { - position: unset !important; -} -.css-1sjym57 { - @extend .css-1ep9fjw; -} +// [class*='css-1sontr1'] { +// cursor: not-allowed !important; +// pointer-events: auto !important; +// } -.css-va7pk8 { - margin-left: -8px !important; -} +// .widget-dropdown-type-ahead-control { +// -webkit-align-items: center; +// -webkit-box-align: center; +// -ms-flex-align: center; +// align-items: center; +// background-color: #FFF !important; +// border-color: hsl(0,0%,80%); +// border-radius: 4px; +// border-style: solid; +// border-width: 1px; +// cursor: default; +// display: flex !important; // TODO: +// display: -webkit-box; +// display: -webkit-flex; +// display: -ms-flexbox; +// display: flex; +// -webkit-flex-wrap: wrap; +// -ms-flex-wrap: wrap; +// flex-wrap: wrap; +// -webkit-box-pack: justify; +// -webkit-justify-content: space-between; +// -ms-flex-pack: justify; +// justify-content: space-between; +// min-height: 38px; +// outline: 0 !important; +// position: relative; +// -webkit-transition: all 100ms; +// transition: all 100ms; +// box-sizing: border-box; +// height: 10px !important; -.css-142w6gm { - @extend .css-va7pk8; - color: #000000 !important; -} +// .css-1rtrksz { +// -webkit-align-items: center; +// -webkit-box-align: center; +// -ms-flex-align: center; +// align-items: center; +// display: -webkit-box; +// display: -webkit-flex; +// display: -ms-flexbox; +// display: flex; +// -webkit-flex: 1; +// -ms-flex: 1; +// flex: 1; +// -webkit-flex-wrap: wrap; +// -ms-flex-wrap: wrap; +// flex-wrap: wrap; +// padding: 2px 8px; +// -webkit-overflow-scrolling: touch; +// position: relative; +// box-sizing: border-box; +// background-color: inherit ; +// } +// } -.css-9b5vae { - @extend .css-15k3avv; - margin-bottom: auto !important; -} +// .css-1ep9fjw { +// color: #999; +// display: -webkit-box; +// display: -webkit-flex; +// display: -ms-flexbox; +// display: flex; +// -webkit-transition: color 150ms; +// transition: color 150ms; +// box-sizing: border-box; +// padding: 0px !important; +// } + +// .css-d8oujb { +// display: none !important; +// } + +// .css-19bqh2r { +// fill: #555555 !important; +// fill: currentColor; +// line-height: 1; +// stroke: currentColor; +// stroke-width: 0; +// } + +// .css-2o5izw { +// box-shadow: none !important; +// } + +// .css-162g8z5 { +// background-color: #eee !important; +// opacity: 1; + +// :hover { +// cursor: not-allowed !important; +// } +// } + +// .widget-dropdown-type-ahead-alert{ +// margin-top: 4px !important; +// } + +// .css-15k3avv { +// box-shadow: none !important; +// margin-top: auto !important; +// padding: unset !important; +// } + +// .css-1gz2om7 { +// position: unset !important; +// } + +// .css-1sjym57 { +// @extend .css-1ep9fjw; +// } + +// .css-v73v8k { +// margin-left: -1px !important; +// } + +// .css-z5z6cw { +// @extend .css-v73v8k; +// } + +// .css-142w6gm { +// color: #000000 !important; +// } + +// .css-9b5vae { +// @extend .css-15k3avv; +// margin-bottom: auto !important; +// } + +// // .css-bl6clz { +// // margin-left: -4px !important; +// // } + +// .css-1wy0on6 { +// -webkit-align-items: center; +// -webkit-box-align: center; +// -ms-flex-align: center; +// align-items: center; +// -webkit-align-self: stretch; +// -ms-flex-item-align: stretch; +// align-self: stretch; +// display: -webkit-box; +// display: -webkit-flex; +// display: -ms-flexbox; +// display: flex; +// -webkit-flex-shrink: 0; +// -ms-flex-negative: 0; +// flex-shrink: 0; +// background-color: inherit ; +// box-sizing: border-box; +// } diff --git a/src/ui/react-select.css b/src/ui/react-select.css new file mode 100644 index 0000000..bc93c93 --- /dev/null +++ b/src/ui/react-select.css @@ -0,0 +1,428 @@ +/** + * React Select + * ============ + * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/ + * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs + * MIT License: https://github.com/JedWatson/react-select +*/ +.Select { + position: relative; + } + .Select input::-webkit-contacts-auto-fill-button, + .Select input::-webkit-credentials-auto-fill-button { + display: none !important; + } + .Select input::-ms-clear { + display: none !important; + } + .Select input::-ms-reveal { + display: none !important; + } + .Select, + .Select div, + .Select input, + .Select span { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .Select.is-disabled .Select-arrow-zone { + cursor: default; + pointer-events: none; + opacity: 0.35; + } + .Select.is-disabled > .Select-control { + background-color: #f9f9f9; + } + .Select.is-disabled > .Select-control:hover { + box-shadow: none; + } + .Select.is-open > .Select-control { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: #fff; + border-color: #b3b3b3 #ccc #d9d9d9; + } + .Select.is-open > .Select-control .Select-arrow { + top: -2px; + border-color: transparent transparent #999; + border-width: 0 5px 5px; + } + .Select.is-searchable.is-open > .Select-control { + cursor: text; + } + .Select.is-searchable.is-focused:not(.is-open) > .Select-control { + cursor: text; + } + .Select.is-focused > .Select-control { + background: #fff; + } + .Select.is-focused:not(.is-open) > .Select-control { + border-color: #007eff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1); + background: #fff; + } + .Select.has-value.is-clearable.Select--single > .Select-control .Select-value { + padding-right: 42px; + } + .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label { + color: #333; + } + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label { + cursor: pointer; + text-decoration: none; + } + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover, + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { + color: #007eff; + outline: none; + text-decoration: underline; + } + .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, + .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { + background: #fff; + } + .Select.has-value.is-pseudo-focused .Select-input { + opacity: 0; + } + .Select.is-open .Select-arrow, + .Select .Select-arrow-zone:hover > .Select-arrow { + border-top-color: #666; + } + .Select.Select--rtl { + direction: rtl; + text-align: right; + } + .Select-control { + background-color: #fff; + border-color: #d9d9d9 #ccc #b3b3b3; + border-radius: 4px; + border: 1px solid #ccc; + color: #333; + cursor: default; + display: table; + border-spacing: 0; + border-collapse: separate; + height: 36px; + outline: none; + overflow: hidden; + position: relative; + width: 100%; + } + .Select-control:hover { + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); + } + .Select-control .Select-input:focus { + outline: none; + background: #fff; + } + .Select-placeholder, + .Select--single > .Select-control .Select-value { + bottom: 0; + color: #aaa; + left: 0; + line-height: 34px; + padding-left: 10px; + padding-right: 10px; + position: absolute; + right: 0; + top: 0; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .Select-input { + height: 34px; + padding-left: 10px; + padding-right: 10px; + vertical-align: middle; + } + .Select-input > input { + width: 100%; + background: none transparent; + border: 0 none; + box-shadow: none; + cursor: default; + display: inline-block; + font-family: inherit; + font-size: inherit; + margin: 0; + outline: none; + line-height: 17px; + /* For IE 8 compatibility */ + padding: 8px 0 12px; + /* For IE 8 compatibility */ + -webkit-appearance: none; + } + .is-focused .Select-input > input { + cursor: text; + } + .has-value.is-pseudo-focused .Select-input { + opacity: 0; + } + .Select-control:not(.is-searchable) > .Select-input { + outline: none; + } + .Select-loading-zone { + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 16px; + } + .Select-loading { + -webkit-animation: Select-animation-spin 400ms infinite linear; + -o-animation: Select-animation-spin 400ms infinite linear; + animation: Select-animation-spin 400ms infinite linear; + width: 16px; + height: 16px; + box-sizing: border-box; + border-radius: 50%; + border: 2px solid #ccc; + border-right-color: #333; + display: inline-block; + position: relative; + vertical-align: middle; + } + .Select-clear-zone { + -webkit-animation: Select-animation-fadeIn 200ms; + -o-animation: Select-animation-fadeIn 200ms; + animation: Select-animation-fadeIn 200ms; + color: #999; + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 17px; + padding-top: 3px; + } + .Select-clear-zone:hover { + color: #D0021B; + } + .Select-clear { + display: inline-block; + font-size: 18px; + line-height: 1; + } + .Select--multi .Select-clear-zone { + width: 17px; + } + .Select-arrow-zone { + cursor: pointer; + display: table-cell; + position: relative; + text-align: center; + vertical-align: middle; + width: 25px; + padding-right: 5px; + } + .Select--rtl .Select-arrow-zone { + padding-right: 0; + padding-left: 5px; + } + .Select-arrow { + border-color: #999 transparent transparent; + border-style: solid; + border-width: 5px 5px 2.5px; + display: inline-block; + height: 0; + width: 0; + position: relative; + } + .Select-control > *:last-child { + padding-right: 5px; + } + .Select--multi .Select-multi-value-wrapper { + display: inline-block; + } + .Select .Select-aria-only { + position: absolute; + display: inline-block; + height: 1px; + width: 1px; + margin: -1px; + clip: rect(0, 0, 0, 0); + overflow: hidden; + float: left; + } + @-webkit-keyframes Select-animation-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + @keyframes Select-animation-fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + .Select-menu-outer { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + background-color: #fff; + border: 1px solid #ccc; + border-top-color: #e6e6e6; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); + box-sizing: border-box; + margin-top: -1px; + max-height: 200px; + position: absolute; + left: 0; + top: 100%; + width: 100%; + z-index: 1; + -webkit-overflow-scrolling: touch; + } + .Select-menu { + max-height: 198px; + overflow-y: auto; + } + .Select-option { + box-sizing: border-box; + background-color: #fff; + color: #666666; + cursor: pointer; + display: block; + padding: 8px 10px; + } + .Select-option:last-child { + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + } + .Select-option.is-selected { + background-color: #f5faff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.04); + color: #333; + } + .Select-option.is-focused { + background-color: #ebf5ff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.08); + color: #333; + } + .Select-option.is-disabled { + color: #cccccc; + cursor: default; + } + .Select-noresults { + box-sizing: border-box; + color: #999999; + cursor: default; + display: block; + padding: 8px 10px; + } + .Select--multi .Select-input { + vertical-align: middle; + margin-left: 10px; + padding: 0; + } + .Select--multi.Select--rtl .Select-input { + margin-left: 0; + margin-right: 10px; + } + .Select--multi.has-value .Select-input { + margin-left: 5px; + } + .Select--multi .Select-value { + background-color: #ebf5ff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.08); + border-radius: 2px; + border: 1px solid #c2e0ff; + /* Fallback color for IE 8 */ + border: 1px solid rgba(0, 126, 255, 0.24); + color: #007eff; + display: inline-block; + font-size: 0.9em; + line-height: 1.4; + margin-left: 5px; + margin-top: 5px; + vertical-align: top; + } + .Select--multi .Select-value-icon, + .Select--multi .Select-value-label { + display: inline-block; + vertical-align: middle; + } + .Select--multi .Select-value-label { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; + cursor: default; + padding: 2px 5px; + } + .Select--multi a.Select-value-label { + color: #007eff; + cursor: pointer; + text-decoration: none; + } + .Select--multi a.Select-value-label:hover { + text-decoration: underline; + } + .Select--multi .Select-value-icon { + cursor: pointer; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; + border-right: 1px solid #c2e0ff; + /* Fallback color for IE 8 */ + border-right: 1px solid rgba(0, 126, 255, 0.24); + padding: 1px 5px 3px; + } + .Select--multi .Select-value-icon:hover, + .Select--multi .Select-value-icon:focus { + background-color: #d8eafd; + /* Fallback color for IE 8 */ + background-color: rgba(0, 113, 230, 0.08); + color: #0071e6; + } + .Select--multi .Select-value-icon:active { + background-color: #c2e0ff; + /* Fallback color for IE 8 */ + background-color: rgba(0, 126, 255, 0.24); + } + .Select--multi.Select--rtl .Select-value { + margin-left: 0; + margin-right: 5px; + } + .Select--multi.Select--rtl .Select-value-icon { + border-right: none; + border-left: 1px solid #c2e0ff; + /* Fallback color for IE 8 */ + border-left: 1px solid rgba(0, 126, 255, 0.24); + } + .Select--multi.is-disabled .Select-value { + background-color: #fcfcfc; + border: 1px solid #e3e3e3; + color: #333; + } + .Select--multi.is-disabled .Select-value-icon { + cursor: not-allowed; + border-right: 1px solid #e3e3e3; + } + .Select--multi.is-disabled .Select-value-icon:hover, + .Select--multi.is-disabled .Select-value-icon:focus, + .Select--multi.is-disabled .Select-value-icon:active { + background-color: #fcfcfc; + } + @keyframes Select-animation-spin { + to { + transform: rotate(1turn); + } + } + @-webkit-keyframes Select-animation-spin { + to { + -webkit-transform: rotate(1turn); + } + } From 595a8c8926b2615ad7dd2f51faf043ceb70be1f0 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 27 Aug 2018 05:11:40 +0300 Subject: [PATCH 33/89] Remove unused custom components --- src/components/Control.ts | 14 - src/components/DropdownClear.ts | 32 -- src/components/DropdownIndicator.ts | 27 -- src/components/DropdownTypeaheadReference.ts | 42 +-- .../DropdownTypeaheadReferenceContainer.ts | 23 +- src/components/IndicatorsContainer.ts | 16 - src/components/Menu.ts | 35 +- src/components/SelectComponents.js | 130 ------- src/ui/DropdownTypeaheadReference.scss | 320 +++--------------- src/ui/react-select.css | 3 +- 10 files changed, 95 insertions(+), 547 deletions(-) delete mode 100644 src/components/Control.ts delete mode 100644 src/components/DropdownClear.ts delete mode 100644 src/components/DropdownIndicator.ts delete mode 100644 src/components/IndicatorsContainer.ts delete mode 100644 src/components/SelectComponents.js diff --git a/src/components/Control.ts b/src/components/Control.ts deleted file mode 100644 index efb5361..0000000 --- a/src/components/Control.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { SFC, createElement } from "react"; -// import { components } from "react-select"; -import * as classNames from "classnames"; - -export interface ControlProps { - children?: Node; -} -export const Control: SFC = (props) => - createElement("div" as any, { - className: classNames("widget-dropdown-type-ahead-control", "form-control"), - ...props - }); - -Control.displayName = "Control"; diff --git a/src/components/DropdownClear.ts b/src/components/DropdownClear.ts deleted file mode 100644 index 1d4c44b..0000000 --- a/src/components/DropdownClear.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { SFC, createElement } from "react"; -import * as classNames from "classnames"; - -export interface DropdownClearProps { - children?: Node; - innerProps: any; - ref: any; - getStyles: any; -} - -export const DropdownClear: SFC = (props) => { - const { getStyles, innerProps: { ref, ...restInnerProps } } = props; - return createElement("div", { - className: "widget-dropdown-type-head-clear-container", - ...restInnerProps, - ref, - style: getStyles("clearIndicator", props) - }, - createElement("svg", { - className: classNames("widget-dropdown-type-head-clear"), - focusable: false, - height: 20, - viewBox: "0 0 20 20", - width: 20 - }, - createElement("path", { - // tslint:disable-next-line:max-line-length - d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" - }))); -}; - -DropdownClear.displayName = "DropdownClear"; diff --git a/src/components/DropdownIndicator.ts b/src/components/DropdownIndicator.ts deleted file mode 100644 index c871b5f..0000000 --- a/src/components/DropdownIndicator.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { SFC, createElement } from "react"; -// import { components } from "react-select"; -import * as classNames from "classnames"; - -export interface DropProps { - children?: Node; -} - -export const Dropdown: SFC = (props) => { - return createElement("div" , { - ...props, - className: "widget-dropdown-type-head-arrow-container" - }, - createElement("svg", { - className: classNames("widget-dropdown-type-head-arrow"), - focusable: false, - height: 20, - viewBox: "0 0 20 20", - width: 20 - }, - createElement("path", { - // tslint:disable-next-line:max-line-length - d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" - }))); -}; - -Dropdown.displayName = "Dropdown"; diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index f83d259..d00b8e0 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -1,18 +1,14 @@ import { Component, createElement } from "react"; +// import { createPortal } from "react-dom"; import Select from "react-select"; import { Alert } from "./Alert"; import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; +// import { Menu } from "./Menu"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; -import "../ui/react-select.css"; -// import { Control } from "./Control"; -// import { IndicatorsContainer } from "./IndicatorsContainer"; -// import { Dropdown } from "./DropdownIndicator"; -// import { Menu } from "./Menu"; -// import { DropdownClear } from "./DropdownClear"; -// import * as SelectComponents from "./SelectComponents"; +import "react-select/dist/react-select.css"; export interface DropdownTypeaheadReferenceProps { style?: string; @@ -25,7 +21,7 @@ export interface DropdownTypeaheadReferenceProps { isClearable: boolean; isReadOnly: boolean; selectedValue: ReferenceOption; - loaded: boolean; + loaded: boolean; // TODO: implement or remove this handleOnchange: (selectedOption: ReferenceOption) => void; className: string; readOnlyStyle: "control" | "text"; @@ -33,13 +29,20 @@ export interface DropdownTypeaheadReferenceProps { alertMessage: string; } -// tslint:disable-next-line:interface-over-type-literal -export type ReferenceOption = { value?: string, label?: string }; +export type ReferenceOption = { + value?: string, + label?: string +}; -// tslint:disable-next-line:interface-over-type-literal -export type MetaData = { action: string, removedValue: ReferenceOption }; +export type MetaData = { + action: string, + removedValue: ReferenceOption +}; -export interface AttributeType { name: string; sort: string; } +export interface AttributeType { + name: string; + sort: string; +} export class DropdownTypeaheadReference extends Component { render() { @@ -70,17 +73,15 @@ export class DropdownTypeaheadReference extends Component Menu(params), document.body.getElementsByClassName("modal-content mx-window-content") as any)as any, disabled: this.props.isReadOnly, - searchable: true, - // menuPlacement: "bottom", - // menuPosition: "fixed", - // tslint:disable-next-line:object-literal-sort-keys - options: this.props.data, onChange: this.props.handleOnchange as any, - // ref: () => void + options: this.props.data, + noResultsText: "No options", + clearValueText: "", ...this.createSelectorProp() as object }), createElement(Alert, { @@ -97,6 +98,7 @@ export class DropdownTypeaheadReference extends Component 0) { selected = selectedOptions[0]; } + return selected; } @@ -129,27 +130,19 @@ export default class ReferenceSelectorContainer extends Component { diff --git a/src/components/IndicatorsContainer.ts b/src/components/IndicatorsContainer.ts deleted file mode 100644 index 4033c02..0000000 --- a/src/components/IndicatorsContainer.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SFC, createElement } from "react"; -// import { components } from "react-select"; -// import * as classNames from "classnames"; - -export interface IndicatorsContainerProps { - children?: Node; -} - -export const IndicatorsContainer: SFC = (props) => { - return createElement("div" , { - ...props, className: "widget-dropdown-type-head-indicator-container" - } - ); -}; - -IndicatorsContainer.displayName = "IndicatorsContainer"; diff --git a/src/components/Menu.ts b/src/components/Menu.ts index e39acbf..0611a13 100644 --- a/src/components/Menu.ts +++ b/src/components/Menu.ts @@ -1,15 +1,26 @@ -import { SFC, createElement } from "react"; -// import { components } from "react-select"; -import * as classNames from "classnames"; +import { createElement } from "react"; +import classNames from "classnames"; -export interface MenuProps { - children?: Node; -} - -export const Menu: SFC = (props) => - createElement("div", { - className: classNames("widget-dropdown-type-ahead-menu", "form-control", "mx-focus"), - ...props +export const Menu = (params: any) => { + const OptionNodes: any[] = []; + params.options.forEach((option: any) => { + OptionNodes.push( + createElement("div", { + id: option.label, + onClick: () => params.selectValue(option), + onMouseOver: () => params.focusOption(option), + className: `Select-option ${params.focusedOption && params.focusedOption.value === option.value ? "is-focused" : ""}`, + role: "option" + }, option.label)); }); -Menu.displayName = "Menu"; + return createElement("div", { className: "Select-menu-outer" }, + createElement("div", { + className: classNames("Select-menu"), + role: "listbox" + // id: params.options.map((option: any) => option.label } + }, + OptionNodes + ) + ); +}; diff --git a/src/components/SelectComponents.js b/src/components/SelectComponents.js deleted file mode 100644 index bd42375..0000000 --- a/src/components/SelectComponents.js +++ /dev/null @@ -1,130 +0,0 @@ -import { createElement } from "react"; -import classNames from "classnames"; - - -const Control = props => createElement("div", { - className: classNames("widget-dropdown-type-ahead-control") }, - props.children); - -const Menu = props => createElement("div", { - className: "widget-dropdown-type-ahead-menu"}, - props.children); - -const MenuList = props => createElement("div", { - className: "widget-dropdown-type-ahead-menu-list" }, - props.children); - -const NoOptionsMessage = (props) => createElement("div", { className: "no-options"}, "No optionss"); - -const Placeholder = props => createElement("div", { className: "widget-dropdown-type-ahead-placeholder", ...props }); - -const Option = props => { - const { innerProps, isDisabled, isFocused, isSelected } = props; - - return !isDisabled ? - createElement("div", { - className: classNames( - "widget-dropdown-type-ahead-options", - isFocused ? "is-focused" : null, - isSelected ? "is-selected" : null - ), - ...innerProps - }, - props.children) : - null; -}; - -const ClearIndicator = props => { - const { innerProps: { ref, ...restInnerProps }} = props; - - return createElement("div", { - className: "widget-dropdown-type-ahead-clear-container", - ...restInnerProps, - ref }, - createElement("svg", { - className: "widget-dropdown-type-ahead-clear", - focusable: false, - height: 20, - viewBox: "0 0 20 20", - width: 20 }, - createElement("path", { - // tslint:disable-next-line:max-line-length - d: - "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z" - }) - ) - ); -}; - -const DropdownIndicator = props => { - const { innerProps: { ref, ...restInnerProps }} = props; - - return createElement("div", { - className: "widget-dropdown-type-ahead-dropdown-container", - ...restInnerProps, - ref }, - createElement("svg", { - className: "widget-dropdown-type-ahead-dropdown", - // focusable: false, - height: 20, - viewBox: "0 0 20 20", - width: 20 }, - createElement("path", { - // tslint:disable-next-line:max-line-length - d: - "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z" - }) - ) - ); -}; - -const Input = props => { - const { isDisabled } = props; - - return createElement("input", { - className: classNames("mx-input","form-control-custom", isDisabled ? "disabled" : null ), - ...props }); -}; - -const IndicatorsContainer = ({ props, children }) => createElement("div", { - className: "widget-dropdown-type-ahead-indicators-container", - ...props }, - children ); - -const ValueContainer = ({ children, props }) => createElement("div", { - className: "widget-dropdown-type-ahead-value-container", - ...props }, - children -); - -const SelectContainer = ({ props, children }) => createElement("div", { - className: classNames( - "widget-dropdown-type-ahead-select-container", - children[1].props.isDisabled ? "disabled" : null ), - ...props }, - children - ); - - -const SingleValue = ({ props, children }) => createElement("div", { - className: "widget-dropdown-type-ahead-single-value", - ...props }, - children -); - -export default { - Control: Control, - Menu: Menu, - NoOptionsMessage: NoOptionsMessage, - Input: Input, - ValueContainer: ValueContainer, - SelectContainer: SelectContainer, - SingleValue: SingleValue, - Placeholder: Placeholder, - ClearIndicator: ClearIndicator, - DropdownIndicator: DropdownIndicator, - IndicatorsContainer: IndicatorsContainer, - MenuList: MenuList, - Option: Option, - IndicatorSeparator: null -}; diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeaheadReference.scss index 3381dd6..304148d 100644 --- a/src/ui/DropdownTypeaheadReference.scss +++ b/src/ui/DropdownTypeaheadReference.scss @@ -1,299 +1,59 @@ -.widget-dropdown-type-ahead-select-container{ - position: relative; - box-sizing: border-box; -} -.widget-dropdown-type-ahead-control { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color:white; - border-color: hsl(0,0%,80%); - border-radius: 4px; - border-style: solid; - border-width: 1px; - cursor: default; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - min-height: 38px; - outline: 0 !important; - position: relative; - -webkit-transition: all 100ms; - transition: all 100ms; - box-sizing: border-box; +.Select.is-focused:not(.is-open) > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; } -.widget-dropdown-type-ahead-value-container{ - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 2px 8px; - -webkit-overflow-scrolling: touch; - position: relative; - box-sizing: border-box; +.Select.Select-control { + border-color: #0595DB; + box-shadow: unset !important; + background: #fff; } -.widget-dropdown-type-ahead-indicators-container { - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - box-sizing: border-box; -} + Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } -.widget-dropdown-type-ahead-menu { - top: 100%; - background-color: hsl(0,0%,100%); - border-radius: 4px; - box-shadow: 0 0 0 1px hsla(0,0%,0%,0.1), 0 4px 11px hsla(0,0%,0%,0.1); - margin-bottom: 8px; - /* margin-top: 8px; */ - position: absolute; - width: 100%; - z-index: 1; - box-sizing: border-box; + .Select-clear-zone { + padding-top: 5px !important; } -.widget-dropdown-type-ahead-menu-list { - max-height: 300px; - overflow-y: auto; - padding-bottom: 4px; - padding-top: 4px; - position: relative; - -webkit-overflow-scrolling: touch; - box-sizing: border-box; +.Select-clear-zone:hover { + color: inherit !important; } -.widget-dropdown-type-ahead-options { - cursor: default; - display: block; - font-size: inherit; - padding: 8px 12px; - width: 100%; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); - box-sizing: border-box +.Select-menu-outer { + // margin-top: 0px !important; + border-color: #0595DB !important; + box-shadow: none !important; } -.widget-dropdown-type-ahead-options.is-focused { - background-color: #2684FF; - color: hsl(0,0%,100%); -} -.mx-input { - box-sizing: content-box; - width: 2px; - background: 0px center; - border: 0px; - font-size: inherit; - opacity: 1; - outline: 0px; - padding: 0px; - color: inherit; -} -.widget-dropdown-type-ahead-single-value{ - color: #222; - margin-left: 2px; - margin-right: 2px; - max-width: calc(100% - 8px); - overflow: hidden; - position: absolute; - text-overflow: ellipsis; - white-space: nowrap; - top: 50%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - box-sizing: border-box +.Select.is-focused > .Select-control { + border-color: #0595DB !important; } -[class*="disabled"]:hover { - cursor: not-allowed; +.Select-option.is-selected { + background-color: #fff !important; } +.Select-option.is-focused { + color: #fff !important; + background-color: #0595DB !important ; +} -// [class*='css-1sontr1'] { -// cursor: not-allowed !important; -// pointer-events: auto !important; -// } - -// .widget-dropdown-type-ahead-control { -// -webkit-align-items: center; -// -webkit-box-align: center; -// -ms-flex-align: center; -// align-items: center; -// background-color: #FFF !important; -// border-color: hsl(0,0%,80%); -// border-radius: 4px; -// border-style: solid; -// border-width: 1px; -// cursor: default; -// display: flex !important; // TODO: -// display: -webkit-box; -// display: -webkit-flex; -// display: -ms-flexbox; -// display: flex; -// -webkit-flex-wrap: wrap; -// -ms-flex-wrap: wrap; -// flex-wrap: wrap; -// -webkit-box-pack: justify; -// -webkit-justify-content: space-between; -// -ms-flex-pack: justify; -// justify-content: space-between; -// min-height: 38px; -// outline: 0 !important; -// position: relative; -// -webkit-transition: all 100ms; -// transition: all 100ms; -// box-sizing: border-box; -// height: 10px !important; - -// .css-1rtrksz { -// -webkit-align-items: center; -// -webkit-box-align: center; -// -ms-flex-align: center; -// align-items: center; -// display: -webkit-box; -// display: -webkit-flex; -// display: -ms-flexbox; -// display: flex; -// -webkit-flex: 1; -// -ms-flex: 1; -// flex: 1; -// -webkit-flex-wrap: wrap; -// -ms-flex-wrap: wrap; -// flex-wrap: wrap; -// padding: 2px 8px; -// -webkit-overflow-scrolling: touch; -// position: relative; -// box-sizing: border-box; -// background-color: inherit ; -// } -// } - -// .css-1ep9fjw { -// color: #999; -// display: -webkit-box; -// display: -webkit-flex; -// display: -ms-flexbox; -// display: flex; -// -webkit-transition: color 150ms; -// transition: color 150ms; -// box-sizing: border-box; -// padding: 0px !important; -// } - -// .css-d8oujb { -// display: none !important; -// } - -// .css-19bqh2r { -// fill: #555555 !important; -// fill: currentColor; -// line-height: 1; -// stroke: currentColor; -// stroke-width: 0; -// } - -// .css-2o5izw { -// box-shadow: none !important; -// } - -// .css-162g8z5 { -// background-color: #eee !important; -// opacity: 1; - -// :hover { -// cursor: not-allowed !important; -// } -// } - -// .widget-dropdown-type-ahead-alert{ -// margin-top: 4px !important; -// } - -// .css-15k3avv { -// box-shadow: none !important; -// margin-top: auto !important; -// padding: unset !important; -// } - -// .css-1gz2om7 { -// position: unset !important; -// } - -// .css-1sjym57 { -// @extend .css-1ep9fjw; -// } - -// .css-v73v8k { -// margin-left: -1px !important; -// } - -// .css-z5z6cw { -// @extend .css-v73v8k; -// } - -// .css-142w6gm { -// color: #000000 !important; -// } +.Select-option { + display: default !important; + padding: 6px 10px !important; +} -// .css-9b5vae { -// @extend .css-15k3avv; -// margin-bottom: auto !important; -// } +[class*="is-disabled"]{ + background-color: #eee !important; + opacity: 1; -// // .css-bl6clz { -// // margin-left: -4px !important; -// // } + :hover { cursor: not-allowed !important; } +} -// .css-1wy0on6 { -// -webkit-align-items: center; -// -webkit-box-align: center; -// -ms-flex-align: center; -// align-items: center; -// -webkit-align-self: stretch; -// -ms-flex-item-align: stretch; -// align-self: stretch; -// display: -webkit-box; -// display: -webkit-flex; -// display: -ms-flexbox; -// display: flex; -// -webkit-flex-shrink: 0; -// -ms-flex-negative: 0; -// flex-shrink: 0; -// background-color: inherit ; -// box-sizing: border-box; -// } +.Select.is-disabled > .Select-control { + background-color: inherit !important; + opacity: 0.9; +} \ No newline at end of file diff --git a/src/ui/react-select.css b/src/ui/react-select.css index bc93c93..fc6f9c6 100644 --- a/src/ui/react-select.css +++ b/src/ui/react-select.css @@ -5,6 +5,7 @@ * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs * MIT License: https://github.com/JedWatson/react-select */ + .Select { position: relative; } @@ -59,7 +60,7 @@ } .Select.is-focused:not(.is-open) > .Select-control { border-color: #007eff; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1); + box-shadow: unset; background: #fff; } .Select.has-value.is-clearable.Select--single > .Select-control .Select-value { From e64bd6cae29a9423bb7453d9f2541e19e8180f2a Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 27 Aug 2018 05:13:11 +0300 Subject: [PATCH 34/89] Update ts lint configurations --- src/components/DropdownTypeaheadReference.ts | 14 ++++--------- .../DropdownTypeaheadReferenceContainer.ts | 2 +- src/components/Menu.ts | 2 +- tsconfig.json | 15 +++++++------ tslint.json | 21 ++++++++++++++----- 5 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index d00b8e0..f54baab 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -21,7 +21,6 @@ export interface DropdownTypeaheadReferenceProps { isClearable: boolean; isReadOnly: boolean; selectedValue: ReferenceOption; - loaded: boolean; // TODO: implement or remove this handleOnchange: (selectedOption: ReferenceOption) => void; className: string; readOnlyStyle: "control" | "text"; @@ -46,11 +45,7 @@ export interface AttributeType { export class DropdownTypeaheadReference extends Component { render() { - return !this.props.loaded ? createElement("div", { - className: classNames("widget-dropdown-type-ahead-wrapper", this.props.className) - }, - this.renderForm()) : - null; + return this.renderForm(); } private renderForm() { @@ -69,16 +64,15 @@ export class DropdownTypeaheadReference extends Component Menu(params), document.body.getElementsByClassName("modal-content mx-window-content") as any)as any, + // menuRenderer: (params: any) => createPortal(Menu(params), ContainerNode as any) as any, disabled: this.props.isReadOnly, - onChange: this.props.handleOnchange as any, + onChange: this.props.handleOnchange, options: this.props.data, noResultsText: "No options", clearValueText: "", diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index ad9d725..208c91b 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -83,7 +83,7 @@ export default class ReferenceSelectorContainer extends Component { params.options.forEach((option: any) => { OptionNodes.push( createElement("div", { - id: option.label, + id: option.value, onClick: () => params.selectValue(option), onMouseOver: () => params.focusOption(option), className: `Select-option ${params.focusedOption && params.focusedOption.value === option.value ? "is-focused" : ""}`, diff --git a/tsconfig.json b/tsconfig.json index 767649b..e06e0eb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,11 +8,7 @@ "module": "amd", "target": "es5", "lib": [ "es2015", "dom" ], - "types": [ - "mendix-client", - "jasmine", - "core-js" - ], + "types": [ "mendix-client", "jasmine", "core-js" ], "moduleResolution": "node", "declaration": false, "removeComments": true, @@ -20,10 +16,13 @@ "watch": false, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, - "strict": true, - "skipLibCheck": false, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, "noUnusedLocals": true, - "noUnusedParameters": true + "noUnusedParameters": true, + "skipLibCheck": true, + "strictNullChecks": true }, "exclude": [ "dist/", diff --git a/tslint.json b/tslint.json index f51baaf..1a52fa7 100644 --- a/tslint.json +++ b/tslint.json @@ -10,6 +10,7 @@ "check-space" ], "eofline": true, + "interface-over-type-literal": false, "indent": [ true, "spaces" @@ -18,6 +19,7 @@ true, "variables-before-functions" ], + "newline-before-return": true, "no-arg": true, "no-bitwise": true, "no-conditional-assignment": true, @@ -39,8 +41,8 @@ "one-line": [ true, "check-catch", - "check-finally", "check-else", + "check-finally", "check-open-brace", "check-whitespace" ], @@ -96,7 +98,6 @@ "no-unexpected-multiline": true, "no-sparse-arrays": true, "no-regex-spaces": true, - "no-implicit-dependencies": false, "no-invalid-regexp": true, "valid-typeof": true, "array-bracket-spacing": [ @@ -134,11 +135,17 @@ } ], "curly": false, - "max-line-length": [ + "arrow-parens": false, + "no-object-literal-type-assertion": false, + "linebreak-style": [ true, - 150 + "LF" ], - "arrow-parens": false, + "object-literal-sort-keys": false, + "array-type": false, + "max-line-length": false, + "no-submodule-imports": false, + "no-implicit-dependencies": false, "no-namespace": false }, "jsRules": { @@ -149,6 +156,10 @@ "array-bracket-spacing": [ true, "always" + ], + "linebreak-style": [ + true, + "LF" ] } } From f31ec0e754b7d5da68a64faebe8b0426eceb7fa1 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 28 Aug 2018 17:01:59 +0300 Subject: [PATCH 35/89] Merge async-loading feature --- src/DropdownTypeaheadReference.xml | 28 ++ src/components/DropdownTypeaheadReference.ts | 24 +- .../DropdownTypeaheadReferenceContainer.ts | 28 +- src/ui/react-select.css | 429 ------------------ src/utils/Data.ts | 1 + 5 files changed, 71 insertions(+), 439 deletions(-) delete mode 100644 src/ui/react-select.css diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 26d9992..ca1d06a 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -31,6 +31,15 @@ Never + + Select type + Appearance + + + Normal loading(synchronous) + Asynchronous loading + + Empty option caption Appearance @@ -134,6 +143,25 @@ Returns a list of data values + + Search Microflow + Search + Returns a list of filtered data values + + + + Search attribute + Search + + + + + + + + + + On change Events diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index f54baab..6a482a4 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -1,6 +1,6 @@ import { Component, createElement } from "react"; // import { createPortal } from "react-dom"; -import Select from "react-select"; +import Select , { Async } from "react-select"; import { Alert } from "./Alert"; import { parseStyle } from "../utils/ContainerUtils"; @@ -14,12 +14,14 @@ export interface DropdownTypeaheadReferenceProps { style?: string; labelWidth: number; data: ReferenceOption[]; + asyncData: any; value: string; label: string; showLabel: boolean; emptyCaption: string; isClearable: boolean; isReadOnly: boolean; + selectType: "normal" | "asynchronous"; selectedValue: ReferenceOption; handleOnchange: (selectedOption: ReferenceOption) => void; className: string; @@ -64,10 +66,10 @@ export class DropdownTypeaheadReference extends Component createPortal(Menu(params), ContainerNode as any) as any, @@ -76,12 +78,20 @@ export class DropdownTypeaheadReference extends Component this.props.asyncData(input), + ...this.createSelectorProp() as object }), createElement(Alert, { className: "widget-dropdown-type-ahead-alert" }, this.props.alertMessage) - ); + ); } else { return createElement("p", { className: "form-control-static" }, this.props.selectedValue.label); } diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index 208c91b..4afa10e 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -2,7 +2,7 @@ import { ChangeEvent, Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchData } from "../utils/Data"; +import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; import { AttributeType, DropdownTypeaheadReference, ReferenceOption } from "./DropdownTypeaheadReference"; interface WrapperProps { @@ -24,6 +24,9 @@ export interface ContainerProps extends WrapperProps { emptyOptionCaption: string; labelCaption: string; readOnlyStyle: "control" | "text"; + searchAttribute: string; + searchMicroflow: string; + selectType: "normal" | "asynchronous"; source: "xpath" | "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; showLabel: boolean; @@ -60,9 +63,11 @@ export default class ReferenceSelectorContainer extends Component option.value === selectedGuid); - let selected = {}; + let selected = null; if (selectedOptions.length > 0) { selected = selectedOptions[0]; } @@ -135,7 +140,6 @@ export default class ReferenceSelectorContainer extends Component { + const FilteredOptions: ReferenceOption[] = []; + + if (!input && !this.props.mxObject) { + return Promise.resolve({ options: [] }); + } else { + this.props.mxObject.set(this.props.searchAttribute, input); + + return fetchByMicroflow(this.props.searchMicroflow, this.props.mxObject.getGuid()).then((mendixObjects) => { + mendixObjects.forEach(mxObject => { + FilteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + }); + + return { options: FilteredOptions }; + }); + } + } } diff --git a/src/ui/react-select.css b/src/ui/react-select.css deleted file mode 100644 index fc6f9c6..0000000 --- a/src/ui/react-select.css +++ /dev/null @@ -1,429 +0,0 @@ -/** - * React Select - * ============ - * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/ - * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs - * MIT License: https://github.com/JedWatson/react-select -*/ - -.Select { - position: relative; - } - .Select input::-webkit-contacts-auto-fill-button, - .Select input::-webkit-credentials-auto-fill-button { - display: none !important; - } - .Select input::-ms-clear { - display: none !important; - } - .Select input::-ms-reveal { - display: none !important; - } - .Select, - .Select div, - .Select input, - .Select span { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - } - .Select.is-disabled .Select-arrow-zone { - cursor: default; - pointer-events: none; - opacity: 0.35; - } - .Select.is-disabled > .Select-control { - background-color: #f9f9f9; - } - .Select.is-disabled > .Select-control:hover { - box-shadow: none; - } - .Select.is-open > .Select-control { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; - background: #fff; - border-color: #b3b3b3 #ccc #d9d9d9; - } - .Select.is-open > .Select-control .Select-arrow { - top: -2px; - border-color: transparent transparent #999; - border-width: 0 5px 5px; - } - .Select.is-searchable.is-open > .Select-control { - cursor: text; - } - .Select.is-searchable.is-focused:not(.is-open) > .Select-control { - cursor: text; - } - .Select.is-focused > .Select-control { - background: #fff; - } - .Select.is-focused:not(.is-open) > .Select-control { - border-color: #007eff; - box-shadow: unset; - background: #fff; - } - .Select.has-value.is-clearable.Select--single > .Select-control .Select-value { - padding-right: 42px; - } - .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label { - color: #333; - } - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label { - cursor: pointer; - text-decoration: none; - } - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover, - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { - color: #007eff; - outline: none; - text-decoration: underline; - } - .Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus, - .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus { - background: #fff; - } - .Select.has-value.is-pseudo-focused .Select-input { - opacity: 0; - } - .Select.is-open .Select-arrow, - .Select .Select-arrow-zone:hover > .Select-arrow { - border-top-color: #666; - } - .Select.Select--rtl { - direction: rtl; - text-align: right; - } - .Select-control { - background-color: #fff; - border-color: #d9d9d9 #ccc #b3b3b3; - border-radius: 4px; - border: 1px solid #ccc; - color: #333; - cursor: default; - display: table; - border-spacing: 0; - border-collapse: separate; - height: 36px; - outline: none; - overflow: hidden; - position: relative; - width: 100%; - } - .Select-control:hover { - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); - } - .Select-control .Select-input:focus { - outline: none; - background: #fff; - } - .Select-placeholder, - .Select--single > .Select-control .Select-value { - bottom: 0; - color: #aaa; - left: 0; - line-height: 34px; - padding-left: 10px; - padding-right: 10px; - position: absolute; - right: 0; - top: 0; - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .Select-input { - height: 34px; - padding-left: 10px; - padding-right: 10px; - vertical-align: middle; - } - .Select-input > input { - width: 100%; - background: none transparent; - border: 0 none; - box-shadow: none; - cursor: default; - display: inline-block; - font-family: inherit; - font-size: inherit; - margin: 0; - outline: none; - line-height: 17px; - /* For IE 8 compatibility */ - padding: 8px 0 12px; - /* For IE 8 compatibility */ - -webkit-appearance: none; - } - .is-focused .Select-input > input { - cursor: text; - } - .has-value.is-pseudo-focused .Select-input { - opacity: 0; - } - .Select-control:not(.is-searchable) > .Select-input { - outline: none; - } - .Select-loading-zone { - cursor: pointer; - display: table-cell; - position: relative; - text-align: center; - vertical-align: middle; - width: 16px; - } - .Select-loading { - -webkit-animation: Select-animation-spin 400ms infinite linear; - -o-animation: Select-animation-spin 400ms infinite linear; - animation: Select-animation-spin 400ms infinite linear; - width: 16px; - height: 16px; - box-sizing: border-box; - border-radius: 50%; - border: 2px solid #ccc; - border-right-color: #333; - display: inline-block; - position: relative; - vertical-align: middle; - } - .Select-clear-zone { - -webkit-animation: Select-animation-fadeIn 200ms; - -o-animation: Select-animation-fadeIn 200ms; - animation: Select-animation-fadeIn 200ms; - color: #999; - cursor: pointer; - display: table-cell; - position: relative; - text-align: center; - vertical-align: middle; - width: 17px; - padding-top: 3px; - } - .Select-clear-zone:hover { - color: #D0021B; - } - .Select-clear { - display: inline-block; - font-size: 18px; - line-height: 1; - } - .Select--multi .Select-clear-zone { - width: 17px; - } - .Select-arrow-zone { - cursor: pointer; - display: table-cell; - position: relative; - text-align: center; - vertical-align: middle; - width: 25px; - padding-right: 5px; - } - .Select--rtl .Select-arrow-zone { - padding-right: 0; - padding-left: 5px; - } - .Select-arrow { - border-color: #999 transparent transparent; - border-style: solid; - border-width: 5px 5px 2.5px; - display: inline-block; - height: 0; - width: 0; - position: relative; - } - .Select-control > *:last-child { - padding-right: 5px; - } - .Select--multi .Select-multi-value-wrapper { - display: inline-block; - } - .Select .Select-aria-only { - position: absolute; - display: inline-block; - height: 1px; - width: 1px; - margin: -1px; - clip: rect(0, 0, 0, 0); - overflow: hidden; - float: left; - } - @-webkit-keyframes Select-animation-fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - @keyframes Select-animation-fadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } - } - .Select-menu-outer { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - background-color: #fff; - border: 1px solid #ccc; - border-top-color: #e6e6e6; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); - box-sizing: border-box; - margin-top: -1px; - max-height: 200px; - position: absolute; - left: 0; - top: 100%; - width: 100%; - z-index: 1; - -webkit-overflow-scrolling: touch; - } - .Select-menu { - max-height: 198px; - overflow-y: auto; - } - .Select-option { - box-sizing: border-box; - background-color: #fff; - color: #666666; - cursor: pointer; - display: block; - padding: 8px 10px; - } - .Select-option:last-child { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - } - .Select-option.is-selected { - background-color: #f5faff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.04); - color: #333; - } - .Select-option.is-focused { - background-color: #ebf5ff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.08); - color: #333; - } - .Select-option.is-disabled { - color: #cccccc; - cursor: default; - } - .Select-noresults { - box-sizing: border-box; - color: #999999; - cursor: default; - display: block; - padding: 8px 10px; - } - .Select--multi .Select-input { - vertical-align: middle; - margin-left: 10px; - padding: 0; - } - .Select--multi.Select--rtl .Select-input { - margin-left: 0; - margin-right: 10px; - } - .Select--multi.has-value .Select-input { - margin-left: 5px; - } - .Select--multi .Select-value { - background-color: #ebf5ff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.08); - border-radius: 2px; - border: 1px solid #c2e0ff; - /* Fallback color for IE 8 */ - border: 1px solid rgba(0, 126, 255, 0.24); - color: #007eff; - display: inline-block; - font-size: 0.9em; - line-height: 1.4; - margin-left: 5px; - margin-top: 5px; - vertical-align: top; - } - .Select--multi .Select-value-icon, - .Select--multi .Select-value-label { - display: inline-block; - vertical-align: middle; - } - .Select--multi .Select-value-label { - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - cursor: default; - padding: 2px 5px; - } - .Select--multi a.Select-value-label { - color: #007eff; - cursor: pointer; - text-decoration: none; - } - .Select--multi a.Select-value-label:hover { - text-decoration: underline; - } - .Select--multi .Select-value-icon { - cursor: pointer; - border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - border-right: 1px solid #c2e0ff; - /* Fallback color for IE 8 */ - border-right: 1px solid rgba(0, 126, 255, 0.24); - padding: 1px 5px 3px; - } - .Select--multi .Select-value-icon:hover, - .Select--multi .Select-value-icon:focus { - background-color: #d8eafd; - /* Fallback color for IE 8 */ - background-color: rgba(0, 113, 230, 0.08); - color: #0071e6; - } - .Select--multi .Select-value-icon:active { - background-color: #c2e0ff; - /* Fallback color for IE 8 */ - background-color: rgba(0, 126, 255, 0.24); - } - .Select--multi.Select--rtl .Select-value { - margin-left: 0; - margin-right: 5px; - } - .Select--multi.Select--rtl .Select-value-icon { - border-right: none; - border-left: 1px solid #c2e0ff; - /* Fallback color for IE 8 */ - border-left: 1px solid rgba(0, 126, 255, 0.24); - } - .Select--multi.is-disabled .Select-value { - background-color: #fcfcfc; - border: 1px solid #e3e3e3; - color: #333; - } - .Select--multi.is-disabled .Select-value-icon { - cursor: not-allowed; - border-right: 1px solid #e3e3e3; - } - .Select--multi.is-disabled .Select-value-icon:hover, - .Select--multi.is-disabled .Select-value-icon:focus, - .Select--multi.is-disabled .Select-value-icon:active { - background-color: #fcfcfc; - } - @keyframes Select-animation-spin { - to { - transform: rotate(1turn); - } - } - @-webkit-keyframes Select-animation-spin { - to { - -webkit-transform: rotate(1turn); - } - } diff --git a/src/utils/Data.ts b/src/utils/Data.ts index 895edd6..41262c7 100644 --- a/src/utils/Data.ts +++ b/src/utils/Data.ts @@ -160,5 +160,6 @@ export const createSortProps = (sortAttributes: AttributeType[]) => { const { name, sort } = optionObject; combined.push([ name, sort ]); }); + return combined; }; From 500efbf1041f35d74fe5da1a3ed49251c773fec6 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 28 Aug 2018 18:09:51 +0300 Subject: [PATCH 36/89] Add async loading to web modeler --- src/DropdownTypeaheadReference.webmodeler.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index 3e2d7de..91ab216 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -24,7 +24,10 @@ export class preview extends Component { className: this.props.class, emptyCaption: this.props.emptyOptionCaption, isClearable: this.props.isClearable, + selectType: this.props.selectType, isReadOnly: this.isReadOnly(), + data: [ selectedValue ], + asyncData: (input: string) => this.setAsyncSampleData(input), label: this.props.labelCaption, labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, @@ -38,10 +41,20 @@ export class preview extends Component { private isReadOnly = (): boolean => { return (this.props.editable !== "default") || this.props.readOnly; } + + private setAsyncSampleData = (input: string) => { + if (!input) { + return Promise.resolve({ options: [ ] }); + } + + return; + } } export function getPreviewCss() { - return require("./ui/DropdownTypeaheadReference.scss"); + return ( + require("./ui/DropdownTypeaheadReference.scss") + require("react-select/dist/react-select.css") + ); } export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: VisibilityMap) { From 792db06e910ca6bbe00e80fa744ef3da1eb4a1b6 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 30 Aug 2018 11:00:22 +0300 Subject: [PATCH 37/89] Fix widget breaking with configuration: read-only style set to text --- src/DropdownTypeaheadReference.xml | 2 +- src/components/DropdownTypeaheadReference.ts | 3 ++- .../DropdownTypeaheadReferenceContainer.ts | 22 +++++++++---------- src/utils/Data.ts | 1 - 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index ca1d06a..0596c2d 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -36,7 +36,7 @@ Appearance - Normal loading(synchronous) + Normal loading (synchronous) Asynchronous loading diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 6a482a4..f8bd9e7 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -93,7 +93,8 @@ export class DropdownTypeaheadReference extends Component = this.onChange.bind(this); + componentWillReceiveProps(newProps: ContainerProps) { + if (newProps.mxObject && (newProps.mxObject !== this.props.mxObject)) { + const selected = newProps.mxObject.get(this.association) as string; + this.resetSubscriptions(newProps.mxObject); + this.retrieveOptions(newProps); + this.setState({ selected }); + } else { + this.setState({ selected: "" }); + } + } + render() { const selectedValue = this.getSelectedValue(this.state.selected); @@ -83,17 +94,6 @@ export default class ReferenceSelectorContainer extends Component callback: resolve, error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), filter: { - amount: 20, attributes, offset: 0, references, From 4e7df14a6bd7c44f03d42291a5cb4fd7f1accd7a Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 30 Aug 2018 14:08:35 +0300 Subject: [PATCH 38/89] Update tslint rules- use strict: true --- package.json | 1 + src/components/DropdownTypeaheadReference.ts | 2 +- tsconfig.json | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 50dd4f7..022e237 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "widgetName": "DropdownTypeaheadReference", "version": "1.0.0", "description": "An input widget that can be used to display and edit associations", + "copyright": "Mendix BV", "scripts": { "start": "nodemon --watch webpack.config.js --watch Gruntfile.js --exec \"grunt", "lint": "tslint -c tslint.json '**/*.ts' '**/*.tsx' --exclude '**/node_modules/**'", diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index f8bd9e7..a11a10f 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -32,7 +32,7 @@ export interface DropdownTypeaheadReferenceProps { export type ReferenceOption = { value?: string, - label?: string + label?: any }; export type MetaData = { diff --git a/tsconfig.json b/tsconfig.json index e06e0eb..4820744 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,7 @@ "declaration": false, "removeComments": true, "noLib": false, + "strict": true, "watch": false, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, From cf32e6b283aeac54ca45c0893d97308c4ce93069 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 30 Aug 2018 14:09:29 +0300 Subject: [PATCH 39/89] Add license --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..82b661c --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Mendix Bv + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 7e99e338f36b9323a6be1307bcb441b63661b507 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 30 Aug 2018 14:16:25 +0300 Subject: [PATCH 40/89] Remove unused files --- src/components/DropdownTypeaheadReference.ts | 3 --- .../DropdownTypeaheadReferenceContainer.ts | 4 +-- src/components/Menu.ts | 26 ------------------- 3 files changed, 2 insertions(+), 31 deletions(-) delete mode 100644 src/components/Menu.ts diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index a11a10f..94ae426 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -1,11 +1,9 @@ import { Component, createElement } from "react"; -// import { createPortal } from "react-dom"; import Select , { Async } from "react-select"; import { Alert } from "./Alert"; import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; -// import { Menu } from "./Menu"; import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; import "react-select/dist/react-select.css"; @@ -72,7 +70,6 @@ export class DropdownTypeaheadReference extends Component createPortal(Menu(params), ContainerNode as any) as any, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, options: this.props.data, diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index 74eeb6c..ce1d0e1 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -142,11 +142,11 @@ export default class ReferenceSelectorContainer extends Component { diff --git a/src/components/Menu.ts b/src/components/Menu.ts deleted file mode 100644 index 0529e91..0000000 --- a/src/components/Menu.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { createElement } from "react"; -import classNames from "classnames"; - -export const Menu = (params: any) => { - const OptionNodes: any[] = []; - params.options.forEach((option: any) => { - OptionNodes.push( - createElement("div", { - id: option.value, - onClick: () => params.selectValue(option), - onMouseOver: () => params.focusOption(option), - className: `Select-option ${params.focusedOption && params.focusedOption.value === option.value ? "is-focused" : ""}`, - role: "option" - }, option.label)); - }); - - return createElement("div", { className: "Select-menu-outer" }, - createElement("div", { - className: classNames("Select-menu"), - role: "listbox" - // id: params.options.map((option: any) => option.label } - }, - OptionNodes - ) - ); -}; From 0ae9495e8d438f1b3eb6656bc1f95b44c5b69a9f Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 31 Aug 2018 12:21:18 +0300 Subject: [PATCH 41/89] Update widget.xsd to latest --- xsd/widget.xsd | 1 + 1 file changed, 1 insertion(+) diff --git a/xsd/widget.xsd b/xsd/widget.xsd index 84e2090..1b9a642 100644 --- a/xsd/widget.xsd +++ b/xsd/widget.xsd @@ -154,4 +154,5 @@ + From 45b8d9babc0180a23c90d92f127aea0f857cc3d0 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 31 Aug 2018 12:23:32 +0300 Subject: [PATCH 42/89] Update readme --- README.md | 3 +- assets/dropdown-typeahead-normal-load.gif | Bin 0 -> 30988 bytes assets/dropdown-typeahead-reference.png | Bin 12646 -> 0 bytes package-lock.json | 6 +-- package.json | 6 +-- src/DropdownTypeaheadReference.webmodeler.ts | 6 +-- src/components/DropdownTypeaheadReference.ts | 33 +++++++----- .../DropdownTypeaheadReferenceContainer.ts | 48 ++++++++++-------- src/utils/ContainerUtils.ts | 2 + 9 files changed, 61 insertions(+), 43 deletions(-) create mode 100644 assets/dropdown-typeahead-normal-load.gif delete mode 100644 assets/dropdown-typeahead-reference.png diff --git a/README.md b/README.md index fca04e8..b15428b 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ An input widget that can be used to display and edit associations ## Features * Allow the user to search for matching options +* Asynchronous loading of options * Supports different data sources - Xpath - Microflow @@ -20,7 +21,7 @@ Mendix 7.13.1 [https://dropdowntypeahead.mxapps.io]( https://dropdowntypeahead.mxapps.io) ## Usage -![dropdown-typeahead-reference](/assets/dropdown-typeahead-reference.png) +![dropdown-typeahead-reference](/assets/dropdown-typeahead-normal-load.gif) * Place the widget in data form within the context of an entity * Select entity path and attribute over reference for selectable objects diff --git a/assets/dropdown-typeahead-normal-load.gif b/assets/dropdown-typeahead-normal-load.gif new file mode 100644 index 0000000000000000000000000000000000000000..be0bf85fa8239958ff587ff61af2fba8e34652e7 GIT binary patch literal 30988 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 hKva;xeBavEj>p&0%YogQ@M}nQkBtEM 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 Z%MeevG0*_~-w4RzZ~PBbe|`SPe*vUa4HEzW diff --git a/package-lock.json b/package-lock.json index 82f1715..4704cda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5039,9 +5039,9 @@ } }, "mendix-client": { - "version": "7.13.5", - "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.13.5.tgz", - "integrity": "sha512-ncQNeo8aQ1QqCIt8H+S2VAtshxfk36RDdYucyI+WijXSHtVk78yWVYu5slBKeQERbHzmJ/X3dvRCVy+nrQ2i/w==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.0.tgz", + "integrity": "sha512-mgKdYqWDBzKc9FmGeAnsAUnK5s18Yxya7tL303TpnWSfilDUw7LBjdUfSafOksUM1gwSp0v4FoLxnlF8gVUEGQ==", "dev": true, "requires": { "@types/big.js": "0.0.31", diff --git a/package.json b/package.json index 022e237..f175d26 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,11 @@ }, "repository": { "type": "git", - "url": "https://github.com/" + "url": "https://github.com/mendixlabs/dropdown-type-ahead.git" }, "license": "Apache-2.0", "bugs": { - "url": "https://github.com/" + "url": "https://github.com/mendixlabs/dropdown-type-ahead/issues" }, "babel": { "presets": [ @@ -45,7 +45,7 @@ "grunt-newer": "^1.3.0", "grunt-webpack": "^3.1.1", "jasmine": "^3.1.0", - "mendix-client": "^7.13.5", + "mendix-client": "^7.15.0", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.9.2", "raw-loader": "^0.5.1", diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeaheadReference.webmodeler.ts index 91ab216..485fbb1 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeaheadReference.webmodeler.ts @@ -38,13 +38,13 @@ export class preview extends Component { }); } - private isReadOnly = (): boolean => { + private isReadOnly(): boolean { return (this.props.editable !== "default") || this.props.readOnly; } - private setAsyncSampleData = (input: string) => { + private setAsyncSampleData(input: string): Promise<{}> | undefined { if (!input) { - return Promise.resolve({ options: [ ] }); + return Promise.resolve({ options: [ ] }); } return; diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 94ae426..80851ec 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -2,26 +2,28 @@ import { Component, createElement } from "react"; import Select , { Async } from "react-select"; import { Alert } from "./Alert"; -import { parseStyle } from "../utils/ContainerUtils"; +// import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; import * as classNames from "classnames"; + import "../ui/DropdownTypeaheadReference.scss"; import "react-select/dist/react-select.css"; export interface DropdownTypeaheadReferenceProps { - style?: string; + style?: object; labelWidth: number; data: ReferenceOption[]; asyncData: any; value: string; label: string; + loaded: boolean; showLabel: boolean; emptyCaption: string; isClearable: boolean; isReadOnly: boolean; selectType: "normal" | "asynchronous"; selectedValue: ReferenceOption; - handleOnchange: (selectedOption: ReferenceOption) => void; + handleOnchange: (selectedOption: ReferenceOption | any) => void; className: string; readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; @@ -30,7 +32,7 @@ export interface DropdownTypeaheadReferenceProps { export type ReferenceOption = { value?: string, - label?: any + label?: string }; export type MetaData = { @@ -49,20 +51,25 @@ export class DropdownTypeaheadReference extends Component { readonly state: ContainerState = { options: [], - selected: "" + selected: "", + isLoading: true }; private subscriptionHandles: number[] = []; private association: string = this.props.entityPath.split("/")[0]; private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); - componentWillReceiveProps(newProps: ContainerProps) { - if (newProps.mxObject && (newProps.mxObject !== this.props.mxObject)) { - const selected = newProps.mxObject.get(this.association) as string; - this.resetSubscriptions(newProps.mxObject); - this.retrieveOptions(newProps); - this.setState({ selected }); - } else { - this.setState({ selected: "" }); - } - } - render() { const selectedValue = this.getSelectedValue(this.state.selected); @@ -80,6 +71,7 @@ export default class ReferenceSelectorContainer extends Component option.value === selectedGuid); let selected = null; if (selectedOptions.length > 0) { @@ -142,7 +145,7 @@ export default class ReferenceSelectorContainer extends Component { - options.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + options.push({ + label: typeof (mxObject.get(this.props.attribute) as string) !== "string" + ? Number(mxObject.get(this.props.attribute)).toString() + : mxObject.get(this.props.attribute) as string, + value: mxObject.getGuid() + }); }); - this.setState({ options }); + this.setState({ options, isLoading: false }); } - private setAsyncOptions = (input: string) => { - const FilteredOptions: ReferenceOption[] = []; + private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { + const filteredOptions: ReferenceOption[] = []; if (!input && !this.props.mxObject) { return Promise.resolve({ options: [] }); @@ -215,10 +223,10 @@ export default class ReferenceSelectorContainer extends Component { mendixObjects.forEach(mxObject => { - FilteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + filteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); }); - return { options: FilteredOptions }; + return { options: filteredOptions, isLoading: false }; }); } } diff --git a/src/utils/ContainerUtils.ts b/src/utils/ContainerUtils.ts index 333c8ad..eda9bb6 100644 --- a/src/utils/ContainerUtils.ts +++ b/src/utils/ContainerUtils.ts @@ -8,6 +8,7 @@ export const parseStyle = (style = ""): { [key: string]: string } => { const name = pair[0].trim().replace(/(-.)/g, match => match[1].toUpperCase()); styleObject[name] = pair[1].trim(); } + return styleObject; }, {}); } catch (error) { @@ -38,6 +39,7 @@ export const validateProps = (props: ContainerProps): string => { if (message.length) { const widgetName = props.friendlyId.split(".")[2]; const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; + return errorMessage; } From 35f2a0d887299c90c531472081359c6f22073bd3 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 3 Sep 2018 17:43:59 +0300 Subject: [PATCH 43/89] Add boolean and enumeration support --- src/DropdownTypeaheadReference.xml | 1 + src/components/DropdownTypeaheadReference.ts | 5 ++- .../DropdownTypeaheadReferenceContainer.ts | 36 ++++++++++++++----- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeaheadReference.xml index 0596c2d..c60c0c4 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeaheadReference.xml @@ -20,6 +20,7 @@ + diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeaheadReference.ts index 80851ec..fbae06d 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeaheadReference.ts @@ -1,10 +1,9 @@ import { Component, createElement } from "react"; import Select , { Async } from "react-select"; +import * as classNames from "classnames"; import { Alert } from "./Alert"; -// import { parseStyle } from "../utils/ContainerUtils"; import { Label } from "./Label"; -import * as classNames from "classnames"; import "../ui/DropdownTypeaheadReference.scss"; import "react-select/dist/react-select.css"; @@ -31,7 +30,7 @@ export interface DropdownTypeaheadReferenceProps { } export type ReferenceOption = { - value?: string, + value?: string | boolean, label?: string }; diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index 756e768..7398f4f 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -200,17 +200,35 @@ export default class ReferenceSelectorContainer extends Component { const options: ReferenceOption[] = []; - - mendixObjects.forEach(mxObject => { - options.push({ - label: typeof (mxObject.get(this.props.attribute) as string) !== "string" - ? Number(mxObject.get(this.props.attribute)).toString() - : mxObject.get(this.props.attribute) as string, - value: mxObject.getGuid() + if (mendixObjects.length > 0) { + if (mendixObjects[0].isEnum(this.props.attribute)) { + const enumerationList = mendixObjects[0].getEnumMap(this.props.attribute); + enumerationList.forEach(enumeration => { + options.push({ + label: enumeration.caption, + value: enumeration.key + }); + }); + } else if (mendixObjects[0].isBoolean(this.props.attribute)) { + options.push({ label: "Yes", value: true }, { label: "No", value: false }); + } else if (mendixObjects[0].isNumeric(this.props.attribute)) { + mendixObjects.forEach(mxObject => { + options.push({ + label: `${parseFloat(mxObject.get(this.props.attribute) as string)}`, + value: mxObject.getGuid() + }); }); - }); + } else { + mendixObjects.forEach(mxObject => { + options.push({ + label: mxObject.get(this.props.attribute) as string, + value: mxObject.getGuid() + }); + }); + } - this.setState({ options, isLoading: false }); + this.setState({ options, isLoading: false }); + } } private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { From 712fd6c2bdcee0be259f0cb9f4feec9bc9e4b734 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 4 Sep 2018 12:32:09 +0300 Subject: [PATCH 44/89] Fix enumeration and boolean support with mx.parser --- .../DropdownTypeaheadReferenceContainer.ts | 39 +++++++------------ 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index 7398f4f..5ad3966 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -143,13 +143,18 @@ export default class ReferenceSelectorContainer extends Component { @@ -200,35 +205,17 @@ export default class ReferenceSelectorContainer extends Component { const options: ReferenceOption[] = []; + if (mendixObjects.length > 0) { - if (mendixObjects[0].isEnum(this.props.attribute)) { - const enumerationList = mendixObjects[0].getEnumMap(this.props.attribute); - enumerationList.forEach(enumeration => { - options.push({ - label: enumeration.caption, - value: enumeration.key - }); - }); - } else if (mendixObjects[0].isBoolean(this.props.attribute)) { - options.push({ label: "Yes", value: true }, { label: "No", value: false }); - } else if (mendixObjects[0].isNumeric(this.props.attribute)) { mendixObjects.forEach(mxObject => { options.push({ - label: `${parseFloat(mxObject.get(this.props.attribute) as string)}`, + label: mx.parser.formatAttribute(mxObject, this.props.attribute), value: mxObject.getGuid() }); }); - } else { - mendixObjects.forEach(mxObject => { - options.push({ - label: mxObject.get(this.props.attribute) as string, - value: mxObject.getGuid() - }); - }); - } - - this.setState({ options, isLoading: false }); } + + this.setState({ options, isLoading: false }); } private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { From 20960f38e476eda788515b2542293c374ede37d7 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 14 Sep 2018 12:41:04 +0300 Subject: [PATCH 45/89] Fix onchange microflow: change selected value --- .../DropdownTypeaheadReferenceContainer.ts | 13 +++++-------- tests/e2e/DropdownTypeaheadReference.spec.ts | 1 - 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadReferenceContainer.ts index 5ad3966..9404f32 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadReferenceContainer.ts @@ -143,17 +143,14 @@ export default class ReferenceSelectorContainer extends Component { From 5532fff1f61b7eb4bbb033ec2a67c98beeb6c26a Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Sun, 16 Sep 2018 21:46:55 +0300 Subject: [PATCH 46/89] Change widget name to DropdownTypeahead --- package.json | 4 +-- ...ler.ts => DropdownTypeahead.webmodeler.ts} | 8 +++--- ...eadReference.xml => DropdownTypeahead.xml} | 4 +-- ...aheadReference.ts => DropdownTypeahead.ts} | 27 +++++++++---------- ...ainer.ts => DropdownTypeaheadContainer.ts} | 8 +++--- src/package.xml | 6 ++--- ...dReference.scss => DropdownTypeahead.scss} | 0 src/utils/ContainerUtils.ts | 2 +- src/utils/Data.ts | 2 +- ...ence.spec.ts => DropdownTypeahead.spec.ts} | 0 10 files changed, 30 insertions(+), 31 deletions(-) rename src/{DropdownTypeaheadReference.webmodeler.ts => DropdownTypeahead.webmodeler.ts} (87%) rename src/{DropdownTypeaheadReference.xml => DropdownTypeahead.xml} (96%) rename src/components/{DropdownTypeaheadReference.ts => DropdownTypeahead.ts} (78%) rename src/components/{DropdownTypeaheadReferenceContainer.ts => DropdownTypeaheadContainer.ts} (96%) rename src/ui/{DropdownTypeaheadReference.scss => DropdownTypeahead.scss} (100%) rename tests/e2e/{DropdownTypeaheadReference.spec.ts => DropdownTypeahead.spec.ts} (100%) diff --git a/package.json b/package.json index 3add132..240309e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "dropdowntypeaheadreference", - "widgetName": "DropdownTypeaheadReference", + "name": "dropdowntypeahead", + "widgetName": "DropdownTypeahead", "version": "1.0.0", "description": "An input widget that can be used to display and edit associations", "copyright": "Mendix BV", diff --git a/src/DropdownTypeaheadReference.webmodeler.ts b/src/DropdownTypeahead.webmodeler.ts similarity index 87% rename from src/DropdownTypeaheadReference.webmodeler.ts rename to src/DropdownTypeahead.webmodeler.ts index 485fbb1..ccf8618 100644 --- a/src/DropdownTypeaheadReference.webmodeler.ts +++ b/src/DropdownTypeahead.webmodeler.ts @@ -1,8 +1,8 @@ import { Component, createElement } from "react"; import { parseStyle, validateProps } from "./utils/ContainerUtils"; -import { DropdownTypeaheadReference } from "./components/DropdownTypeaheadReference"; -import { ContainerProps } from "./components/DropdownTypeaheadReferenceContainer"; +import { DropdownTypeahead } from "./components/DropdownTypeahead"; +import { ContainerProps } from "./components/DropdownTypeaheadContainer"; declare function require(name: string): string; @@ -18,7 +18,7 @@ export class preview extends Component { value: "noGuid" }; - return createElement(DropdownTypeaheadReference as any, { + return createElement(DropdownTypeahead as any, { alertMessage: validateProps(this.props), attribute: this.props.attribute, className: this.props.class, @@ -53,7 +53,7 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("./ui/DropdownTypeaheadReference.scss") + require("react-select/dist/react-select.css") + require("./ui/DropdownTypeahead.scss") + require("react-select/dist/react-select.css") ); } diff --git a/src/DropdownTypeaheadReference.xml b/src/DropdownTypeahead.xml similarity index 96% rename from src/DropdownTypeaheadReference.xml rename to src/DropdownTypeahead.xml index c60c0c4..1994560 100644 --- a/src/DropdownTypeaheadReference.xml +++ b/src/DropdownTypeahead.xml @@ -1,6 +1,6 @@ - - Dropdown Typeahead Reference + + Dropdown Typeahead diff --git a/src/components/DropdownTypeaheadReference.ts b/src/components/DropdownTypeahead.ts similarity index 78% rename from src/components/DropdownTypeaheadReference.ts rename to src/components/DropdownTypeahead.ts index fbae06d..7a22cd9 100644 --- a/src/components/DropdownTypeaheadReference.ts +++ b/src/components/DropdownTypeahead.ts @@ -5,10 +5,10 @@ import * as classNames from "classnames"; import { Alert } from "./Alert"; import { Label } from "./Label"; -import "../ui/DropdownTypeaheadReference.scss"; +import "../ui/DropdownTypeahead.scss"; import "react-select/dist/react-select.css"; -export interface DropdownTypeaheadReferenceProps { +export interface DropdownTypeaheadProps { style?: object; labelWidth: number; data: ReferenceOption[]; @@ -44,7 +44,7 @@ export interface AttributeType { sort: string; } -export class DropdownTypeaheadReference extends Component { +export class DropdownTypeahead extends Component { render() { return this.renderForm(); } @@ -68,29 +68,28 @@ export class DropdownTypeaheadReference extends Component this.props.asyncData(input), - ...this.createSelectorProp() as object }), + ...commonProps }), createElement(Alert, { className: "widget-dropdown-type-ahead-alert" }, this.props.alertMessage) diff --git a/src/components/DropdownTypeaheadReferenceContainer.ts b/src/components/DropdownTypeaheadContainer.ts similarity index 96% rename from src/components/DropdownTypeaheadReferenceContainer.ts rename to src/components/DropdownTypeaheadContainer.ts index 9404f32..1a2c2af 100644 --- a/src/components/DropdownTypeaheadReferenceContainer.ts +++ b/src/components/DropdownTypeaheadContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; -import { AttributeType, DropdownTypeaheadReference, ReferenceOption } from "./DropdownTypeaheadReference"; +import { AttributeType, DropdownTypeahead, ReferenceOption } from "./DropdownTypeahead"; interface WrapperProps { class: string; @@ -46,7 +46,7 @@ export interface ContainerState { isLoading: boolean; } -export default class ReferenceSelectorContainer extends Component { +export default class DropdownTypeaheadContainer extends Component { readonly state: ContainerState = { options: [], selected: "", @@ -60,7 +60,7 @@ export default class ReferenceSelectorContainer extends Component - + - + - + diff --git a/src/ui/DropdownTypeaheadReference.scss b/src/ui/DropdownTypeahead.scss similarity index 100% rename from src/ui/DropdownTypeaheadReference.scss rename to src/ui/DropdownTypeahead.scss diff --git a/src/utils/ContainerUtils.ts b/src/utils/ContainerUtils.ts index eda9bb6..f393da2 100644 --- a/src/utils/ContainerUtils.ts +++ b/src/utils/ContainerUtils.ts @@ -1,4 +1,4 @@ -import { ContainerProps } from "../components/DropdownTypeaheadReferenceContainer"; +import { ContainerProps } from "../components/DropdownTypeaheadContainer"; export const parseStyle = (style = ""): { [key: string]: string } => { try { diff --git a/src/utils/Data.ts b/src/utils/Data.ts index d624122..39d7abb 100644 --- a/src/utils/Data.ts +++ b/src/utils/Data.ts @@ -2,7 +2,7 @@ type MxObject = mendix.lib.MxObject; type SortOrder = "asc" | "desc"; -import { AttributeType } from "../components/DropdownTypeaheadReference"; +import { AttributeType } from "../components/DropdownTypeahead"; export interface FetchDataOptions { source: "xpath" | "microflow" | "nanoflow"; entity: string; diff --git a/tests/e2e/DropdownTypeaheadReference.spec.ts b/tests/e2e/DropdownTypeahead.spec.ts similarity index 100% rename from tests/e2e/DropdownTypeaheadReference.spec.ts rename to tests/e2e/DropdownTypeahead.spec.ts From 76f6dc8e7c3565aab49e4ce0869a99c8932fe2de Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 17 Sep 2018 09:35:07 +0300 Subject: [PATCH 47/89] Add margin style for alert message --- src/ui/DropdownTypeahead.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ui/DropdownTypeahead.scss b/src/ui/DropdownTypeahead.scss index 48067c4..e7b4a77 100644 --- a/src/ui/DropdownTypeahead.scss +++ b/src/ui/DropdownTypeahead.scss @@ -57,3 +57,7 @@ background-color: inherit !important; opacity: 0.9; } + +.widget-dropdown-type-ahead-alert { + margin-top: 4px !important; +} \ No newline at end of file From e38f3f41f1a7f04255dbcb4c5837dd2d6a7c3881 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Tue, 18 Sep 2018 12:27:43 +0200 Subject: [PATCH 48/89] Add unit tests --- karma.conf.js | 70 + package-lock.json | 8023 ++++++++++++----- package.json | 14 +- src/components/DropdownTypeahead.ts | 8 +- src/components/DropdownTypeaheadContainer.ts | 14 +- src/components/__tests__/Alert.spec.ts | 56 + .../__tests__/DropdownTypeahead.spec.ts | 96 + src/components/__tests__/Label.spec.ts | 53 + src/ui/DropdownTypeahead.scss | 7 +- tests/test-index.js | 3 +- 10 files changed, 5992 insertions(+), 2352 deletions(-) create mode 100644 karma.conf.js create mode 100644 src/components/__tests__/Alert.spec.ts create mode 100644 src/components/__tests__/DropdownTypeahead.spec.ts create mode 100644 src/components/__tests__/Label.spec.ts diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..b9e6706 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,70 @@ +const webpackConfigs = require("./webpack.config"); +const path = require("path"); +const webpackConfig = webpackConfigs[0]; +Object.assign(webpackConfig, { + devtool: "inline-source-map", + externals: [ + "react/lib/ExecutionEnvironment", + "react/lib/ReactContext", + "react/addons", + "jsdom", + /^mxui\/|^mendix\/|^dojo\/|^dijit\// + ] +}); + +module.exports = function(config) { + if (config.codeCoverage) { + Object.assign(webpackConfig, { + module: Object.assign(webpackConfig.module, { + rules: webpackConfig.module.rules.concat([ { + test: /\.ts$/, + enforce: "post", + loader: "istanbul-instrumenter-loader", + include: path.resolve(__dirname, "src"), + exclude: /\.(spec)\.ts$/ + } ]) + }) + }); + } + + const configuration = { + basePath: "", + frameworks: [ "jasmine" ], + files: [ + { pattern: "src/**/*.ts", watched: true }, + { pattern: "tests/**/*.ts", watched: true }, + "tests/test-index.js" + ], + exclude: [], + preprocessors: { "tests/test-index.js": [ "webpack", "sourcemap" ] }, + webpack: webpackConfig, + webpackServer: { noInfo: true }, + reporters: [ "spec", config.codeCoverage ? "coverage" : "kjhtml" ], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: [ "Chrome" ], + customLaunchers: { + Chrome_travis_ci: { + base: "Chrome", + flags: [ "--no-sandbox" ] + } + }, + singleRun: false, + concurrency: Infinity, + coverageReporter: { + dir: "./dist/testresults", + reporters: [ + { type: "json", subdir: ".", file: "coverage.json" }, + { type: "text" } + ] + } + }; + + if (process.env.TRAVIS) { + configuration.browsers = [ "Chrome_travis_ci" ]; + } + + config.set(configuration); +}; diff --git a/package-lock.json b/package-lock.json index b404a95..6b08a2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,40 @@ { - "name": "dropdowntypeaheadreference", + "name": "dropdowntypeahead", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz", + "integrity": "sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==", + "dev": true + }, + "@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", + "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "dev": true, + "requires": { + "any-observable": "0.3.0" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, "@types/big.js": { "version": "0.0.31", "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", @@ -46,8 +77,8 @@ "integrity": "sha512-TwzKKiX5sGh/WweucxPXb8zjMLlLekGtBQw0ihk1HSj14zZuioG3Gql3jbxxb1YDRLbT4WQyzWG/h4Y7eCdw1g==", "dev": true, "requires": { - "@types/cheerio": "*", - "@types/react": "*" + "@types/cheerio": "0.22.8", + "@types/react": "16.4.8" } }, "@types/jasmine": { @@ -62,14 +93,14 @@ "integrity": "sha512-Q76dNhOudqVLHlYrFnirH7IaB30/7OPkhzg6WmtpcDYd8XIljcUIJVwg9m5VeS1nVNLd88FCpjggpMLvZV8d/w==", "dev": true, "requires": { - "@types/bluebird": "*", - "@types/node": "*" + "@types/bluebird": "3.5.23", + "@types/node": "9.6.7" } }, "@types/node": { - "version": "10.5.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", - "integrity": "sha512-VkKcfuitP+Nc/TaTFH0B8qNmn+6NbI6crLkQonbedViVz7O2w8QV/GERPlkJ4bg42VGHiEWa31CoTOPs1q6z1w==", + "version": "9.6.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.7.tgz", + "integrity": "sha512-MuUfEDBrQ/hb7KOqMiDeItAuRxlilQUgNRthTSCU4HgilH8UBh7wiHxWrv/lcyHyFZcREaODVVRNrAunphVwlg==", "dev": true }, "@types/prop-types": { @@ -77,7 +108,7 @@ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.4.tgz", "integrity": "sha512-RnC6YeQDmDas7DToCbRWNntB9XpIR+sqg1zUqcCUxOJTBwGeSAPfTQaXqzyNND82FIBNY67r17FedDyaKRcHBQ==", "requires": { - "@types/react": "*" + "@types/react": "16.4.8" } }, "@types/react": { @@ -85,8 +116,8 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.8.tgz", "integrity": "sha512-i1bQXfUF2gItMpG9u9epR02DHLZEpXHON0I6z89vFvbOfGRMyMP1h6VxHTa9TpSJhXrYQjNhwTtLGJdvQA7kcA==", "requires": { - "@types/prop-types": "*", - "csstype": "^2.2.0" + "@types/prop-types": "15.5.4", + "csstype": "2.5.6" } }, "@types/react-dom": { @@ -95,8 +126,8 @@ "integrity": "sha512-vaq4vMaJOaNgFff1t3LnHYr6vRa09vRspMkmLdXtFZmO1fwDI2snP+dpOkwrtlU8UC8qsqemCu4RmVM2OLq/fA==", "dev": true, "requires": { - "@types/node": "*", - "@types/react": "*" + "@types/node": "9.6.7", + "@types/react": "16.4.8" } }, "@types/react-select": { @@ -104,7 +135,7 @@ "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.3.0.tgz", "integrity": "sha512-a9XMXDxYTCTFAHGdQ86hWlhdFWtcXCRGN3iXONB7w1vNcO9+J4CvAUsYgWNekIcMMNvpKK/dIrsVaTLSERnwig==", "requires": { - "@types/react": "*" + "@types/react": "16.4.8" } }, "@types/webdriverio": { @@ -113,7 +144,7 @@ "integrity": "sha512-YjPQfSodE6iY/ACU0/kUk6Ca2tqK7zBF/h8rypqA9+gz3a2gmSL7zyntOkum0HhdYwCmlppUGgsXK+roYa9MoA==", "dev": true, "requires": { - "@types/node": "*" + "@types/node": "9.6.7" } }, "@webassemblyjs/ast": { @@ -125,8 +156,8 @@ "@webassemblyjs/helper-module-context": "1.5.13", "@webassemblyjs/helper-wasm-bytecode": "1.5.13", "@webassemblyjs/wast-parser": "1.5.13", - "debug": "^3.1.0", - "mamacro": "^0.0.3" + "debug": "3.1.0", + "mamacro": "0.0.3" }, "dependencies": { "debug": { @@ -158,7 +189,7 @@ "integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==", "dev": true, "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -193,8 +224,8 @@ "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", "dev": true, "requires": { - "debug": "^3.1.0", - "mamacro": "^0.0.3" + "debug": "3.1.0", + "mamacro": "0.0.3" }, "dependencies": { "debug": { @@ -224,7 +255,7 @@ "@webassemblyjs/helper-buffer": "1.5.13", "@webassemblyjs/helper-wasm-bytecode": "1.5.13", "@webassemblyjs/wasm-gen": "1.5.13", - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -244,7 +275,7 @@ "integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==", "dev": true, "requires": { - "ieee754": "^1.1.11" + "ieee754": "1.1.12" } }, "@webassemblyjs/leb128": { @@ -284,7 +315,7 @@ "@webassemblyjs/wasm-opt": "1.5.13", "@webassemblyjs/wasm-parser": "1.5.13", "@webassemblyjs/wast-printer": "1.5.13", - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -321,7 +352,7 @@ "@webassemblyjs/helper-buffer": "1.5.13", "@webassemblyjs/wasm-gen": "1.5.13", "@webassemblyjs/wasm-parser": "1.5.13", - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -360,8 +391,8 @@ "@webassemblyjs/helper-api-error": "1.5.13", "@webassemblyjs/helper-code-frame": "1.5.13", "@webassemblyjs/helper-fsm": "1.5.13", - "long": "^3.2.0", - "mamacro": "^0.0.3" + "long": "3.2.0", + "mamacro": "0.0.3" } }, "@webassemblyjs/wast-printer": { @@ -372,7 +403,7 @@ "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/wast-parser": "1.5.13", - "long": "^3.2.0" + "long": "3.2.0" } }, "abbrev": { @@ -387,7 +418,7 @@ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.19", "negotiator": "0.6.1" } }, @@ -403,7 +434,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "^5.0.0" + "acorn": "5.7.1" } }, "addressparser": { @@ -425,7 +456,7 @@ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "dev": true, "requires": { - "es6-promisify": "^5.0.0" + "es6-promisify": "5.0.0" } }, "ajv": { @@ -434,10 +465,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ajv-keywords": { @@ -452,9 +483,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -463,7 +494,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -481,11 +512,11 @@ "dev": true, "optional": true, "requires": { - "bitsyntax": "~0.0.4", - "bluebird": "^3.4.6", + "bitsyntax": "0.0.4", + "bluebird": "3.5.1", "buffer-more-ints": "0.0.2", - "readable-stream": "1.x >=1.1.9", - "safe-buffer": "^5.0.1" + "readable-stream": "1.1.14", + "safe-buffer": "5.1.2" }, "dependencies": { "isarray": { @@ -502,10 +533,10 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -517,6 +548,15 @@ } } }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-escapes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", @@ -538,6 +578,15 @@ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -556,14 +605,20 @@ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true }, + "any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", + "dev": true + }, "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.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" } }, "aproba": { @@ -578,15 +633,15 @@ "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", "dev": true, "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.1.0" + "archiver-utils": "1.3.0", + "async": "2.6.1", + "buffer-crc32": "0.2.13", + "glob": "7.1.2", + "lodash": "4.17.5", + "readable-stream": "2.3.6", + "tar-stream": "1.6.1", + "walkdir": "0.0.11", + "zip-stream": "1.2.0" } }, "archiver-utils": { @@ -595,12 +650,12 @@ "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", "dev": true, "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lazystream": "1.0.0", + "lodash": "4.17.5", + "normalize-path": "2.1.1", + "readable-stream": "2.3.6" } }, "are-we-there-yet": { @@ -609,8 +664,8 @@ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { @@ -619,7 +674,7 @@ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -664,8 +719,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0" } }, "array-slice": { @@ -680,7 +735,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -701,9 +756,9 @@ "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1" } }, "arraybuffer.slice": { @@ -730,7 +785,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "asn1.js": { @@ -739,9 +794,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "assert": { @@ -786,8 +841,7 @@ "version": "0.11.5", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", - "dev": true, - "optional": true + "dev": true }, "async": { "version": "2.6.1", @@ -795,7 +849,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" }, "dependencies": { "lodash": { @@ -865,7 +919,7 @@ "dev": true, "optional": true, "requires": { - "debug": "^2.2.0" + "debug": "2.6.9" } } } @@ -876,9 +930,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -893,11 +947,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "has-ansi": { @@ -906,7 +960,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-ansi": { @@ -915,7 +969,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -928,238 +982,1027 @@ } } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.6.0", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "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.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, - "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "callsite": "1.0.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "bfj-node4": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", - "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "bluebird": "^3.5.1", - "check-types": "^7.3.0", - "tryer": "^1.0.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } }, - "bitsyntax": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", - "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, - "optional": true, "requires": { - "buffer-more-ints": "0.0.2" + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", - "dev": true + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "inherits": "~2.0.0" + "babel-runtime": "6.26.0" } }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", "dev": true }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", "dev": true }, - "body": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", - "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", "dev": true, "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" } }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", + "dev": true, + "requires": { + "babel-plugin-syntax-class-constructor-call": "6.18.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + }, + "dependencies": { + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + } + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "dev": true, + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", + "dev": true, + "requires": { + "babel-plugin-transform-class-constructor-call": "6.24.1", + "babel-plugin-transform-export-extensions": "6.22.0", + "babel-preset-stage-2": "6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.5" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "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" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "dev": true, + "requires": { + "callsite": "1.0.0" + } + }, + "bfj-node4": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", + "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "check-types": "7.4.0", + "tryer": "1.0.1" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "binaryextensions": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", + "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==", + "dev": true + }, + "bitsyntax": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", + "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", + "dev": true, + "optional": true, + "requires": { + "buffer-more-ints": "0.0.2" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2" + } + }, + "blob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "0.3.1", + "error": "7.0.2", + "raw-body": "1.1.7", + "safe-json-parse": "1.0.1" + } + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "1.6.16" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", @@ -1186,12 +2029,12 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" }, "dependencies": { "array-flatten": { @@ -1214,7 +2057,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "bower-config": { @@ -1223,11 +2066,11 @@ "integrity": "sha1-hf2d82fCuNu9DKpMXyutQM2Ewsw=", "dev": true, "requires": { - "graceful-fs": "^4.1.3", - "mout": "^1.0.0", - "optimist": "^0.6.1", - "osenv": "^0.1.3", - "untildify": "^2.1.0" + "graceful-fs": "4.1.11", + "mout": "1.1.0", + "optimist": "0.6.1", + "osenv": "0.1.5", + "untildify": "2.1.0" } }, "brace-expansion": { @@ -1236,7 +2079,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -1246,16 +2089,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -1264,7 +2107,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -1281,12 +2124,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-cipher": { @@ -1295,9 +2138,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -1306,10 +2149,10 @@ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-rsa": { @@ -1318,8 +2161,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -1328,13 +2171,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" } }, "browserify-zlib": { @@ -1343,7 +2186,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "~1.0.5" + "pako": "1.0.6" } }, "buffer": { @@ -1352,8 +2195,8 @@ "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "1.3.0", + "ieee754": "1.1.12" } }, "buffer-alloc": { @@ -1362,8 +2205,8 @@ "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "buffer-alloc-unsafe": "1.1.0", + "buffer-fill": "1.0.0" } }, "buffer-alloc-unsafe": { @@ -1457,19 +2300,19 @@ "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" } }, "cache-base": { @@ -1478,17 +2321,46 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + } } }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", @@ -1507,8 +2379,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "caseless": { @@ -1524,8 +2396,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -1534,11 +2406,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "chardet": { @@ -1553,12 +2425,12 @@ "integrity": "sha512-GDrbGzzJ6Gc6tQh87HBMGhrJ4UWIlR9MKJwgvlrJyj/gWvTYYb2jQetKbajt/EYK5Y8/4g7gH2LEvq8GdUWTag==", "dev": true, "requires": { - "bower-config": "^1.4.0", - "chalk": "^2.1.0", - "findup-sync": "^2.0.0", - "lodash.camelcase": "^4.3.0", - "minimist": "^1.2.0", - "semver": "^5.4.1" + "bower-config": "1.4.1", + "chalk": "2.4.1", + "findup-sync": "2.0.0", + "lodash.camelcase": "4.3.0", + "minimist": "1.2.0", + "semver": "5.5.0" }, "dependencies": { "ansi-styles": { @@ -1567,7 +2439,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1576,9 +2448,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "minimist": { @@ -1593,7 +2465,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1610,12 +2482,12 @@ "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "dev": true, "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash": "4.17.5", + "parse5": "3.0.3" } }, "chokidar": { @@ -1624,19 +2496,19 @@ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" }, "dependencies": { "is-glob": { @@ -1645,7 +2517,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } } } @@ -1662,7 +2534,7 @@ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", "dev": true, "requires": { - "tslib": "^1.9.0" + "tslib": "1.9.3" } }, "cipher-base": { @@ -1671,8 +2543,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "circular-json": { @@ -1687,10 +2559,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -1699,7 +2571,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -1715,7 +2587,34 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" + } + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "1.0.2" } }, "cli-width": { @@ -1731,8 +2630,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -1751,16 +2650,31 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, "clone-deep": { "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": "^6.0.0", - "shallow-clone": "^1.0.0" + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "1.0.1" } }, "clone-stats": { @@ -1769,6 +2683,17 @@ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", "dev": true }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "process-nextick-args": "2.0.0", + "readable-stream": "2.3.6" + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -1793,8 +2718,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -1830,7 +2755,7 @@ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "requires": { - "lodash": "^4.5.0" + "lodash": "4.17.5" } }, "combined-stream": { @@ -1839,7 +2764,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -1878,10 +2803,10 @@ "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "dev": true, "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "buffer-crc32": "0.2.13", + "crc32-stream": "2.0.0", + "normalize-path": "2.1.1", + "readable-stream": "2.3.6" } }, "compressible": { @@ -1890,7 +2815,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" } }, "compression": { @@ -1899,13 +2824,13 @@ "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "dev": true, "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "2.0.14", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "bytes": { @@ -1928,10 +2853,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "connect": { @@ -1942,7 +2867,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -1958,7 +2883,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "^0.1.4" + "date-now": "0.1.4" } }, "console-control-strings": { @@ -1991,6 +2916,15 @@ "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", "dev": true }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", @@ -2009,12 +2943,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, "copy-descriptor": { @@ -2029,14 +2963,14 @@ "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", "dev": true, "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "globby": "^7.1.1", - "is-glob": "^4.0.0", - "loader-utils": "^1.1.0", - "minimatch": "^3.0.4", - "p-limit": "^1.0.0", - "serialize-javascript": "^1.4.0" + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.3.0", + "serialize-javascript": "1.5.0" }, "dependencies": { "is-glob": { @@ -2045,7 +2979,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } } } @@ -2068,7 +3002,7 @@ "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", "dev": true, "requires": { - "buffer": "^5.1.0" + "buffer": "5.2.0" } }, "crc32-stream": { @@ -2077,8 +3011,8 @@ "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", "dev": true, "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "crc": "3.8.0", + "readable-stream": "2.3.6" } }, "create-ecdh": { @@ -2087,8 +3021,8 @@ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "bn.js": "4.11.8", + "elliptic": "6.4.0" } }, "create-hash": { @@ -2097,11 +3031,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { @@ -2110,12 +3044,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "cross-spawn": { @@ -2124,8 +3058,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "cryptiles": { @@ -2134,7 +3068,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.x.x" + "boom": "2.10.1" } }, "crypto-browserify": { @@ -2143,17 +3077,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "css": { @@ -2162,10 +3096,10 @@ "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "source-map": "^0.1.38", - "source-map-resolve": "^0.5.1", - "urix": "^0.1.0" + "inherits": "2.0.3", + "source-map": "0.1.43", + "source-map-resolve": "0.5.2", + "urix": "0.1.0" }, "dependencies": { "source-map": { @@ -2174,7 +3108,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -2185,18 +3119,18 @@ "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "postcss": "^6.0.23", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "postcss": "6.0.23", + "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" } }, "css-parse": { @@ -2205,7 +3139,7 @@ "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", "dev": true, "requires": { - "css": "^2.0.0" + "css": "2.2.3" } }, "css-select": { @@ -2214,10 +3148,10 @@ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", + "boolbase": "1.0.0", + "css-what": "2.1.0", "domutils": "1.5.1", - "nth-check": "~1.0.1" + "nth-check": "1.0.1" } }, "css-selector-tokenizer": { @@ -2226,9 +3160,9 @@ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "dev": true, "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" } }, "css-value": { @@ -2260,7 +3194,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "custom-event": { @@ -2281,16 +3215,22 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, + "dargs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", + "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=", + "dev": true + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -2308,6 +3248,12 @@ "dev": true, "optional": true }, + "date-fns": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "dev": true + }, "date-format": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", @@ -2326,8 +3272,8 @@ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", "dev": true, "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" + "get-stdin": "4.0.1", + "meow": "3.7.0" } }, "debug": { @@ -2356,9 +3302,8 @@ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, - "optional": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.1" } }, "deep-equal": { @@ -2371,8 +3316,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "optional": true + "dev": true }, "deep-for-each": { "version": "2.0.3", @@ -2380,7 +3324,7 @@ "integrity": "sha512-Y9mu+rplGcNZ7veer+5rqcdI9w3aPb7/WyE/nYnsuPevaE2z5YuC2u7/Gz/hIKsa0zo8sE8gKoBimSNsO/sr+A==", "dev": true, "requires": { - "lodash.isplainobject": "^4.0.6" + "lodash.isplainobject": "4.0.6" } }, "deep-is": { @@ -2401,8 +3345,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -2411,8 +3355,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -2421,7 +3365,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2430,7 +3374,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2439,9 +3383,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -2453,9 +3397,9 @@ "dev": true, "optional": true, "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" + "ast-types": "0.11.5", + "escodegen": "1.11.0", + "esprima": "3.1.3" }, "dependencies": { "esprima": { @@ -2473,12 +3417,12 @@ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -2487,11 +3431,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" }, "dependencies": { "pify": { @@ -2528,8 +3472,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "destroy": { @@ -2538,12 +3482,27 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-conflict": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", + "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=", + "dev": true + }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, "detect-libc": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-0.2.0.tgz", @@ -2575,9 +3534,9 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "dir-glob": { @@ -2586,8 +3545,8 @@ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "dev": true, "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "discontinuous-range": { @@ -2608,8 +3567,8 @@ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "ip": "1.1.5", + "safe-buffer": "5.1.2" } }, "dns-txt": { @@ -2618,7 +3577,7 @@ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { - "buffer-indexof": "^1.0.0" + "buffer-indexof": "1.1.1" } }, "doctrine": { @@ -2627,7 +3586,7 @@ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { - "esutils": "^1.1.6", + "esutils": "1.1.6", "isarray": "0.0.1" }, "dependencies": { @@ -2651,10 +3610,10 @@ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "custom-event": "1.0.1", + "ent": "2.2.0", + "extend": "3.0.2", + "void-elements": "2.0.1" } }, "dom-serializer": { @@ -2663,8 +3622,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -2693,7 +3652,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -2702,8 +3661,8 @@ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "double-ended-queue": { @@ -2725,7 +3684,7 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" }, "dependencies": { "isarray": { @@ -2740,10 +3699,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -2754,16 +3713,22 @@ } } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, "duplexify": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "ecc-jsbn": { @@ -2773,10 +3738,16 @@ "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", + "dev": true + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -2789,19 +3760,25 @@ "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", "dev": true }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "emojis-list": { @@ -2822,7 +3799,7 @@ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.23" } }, "end-of-stream": { @@ -2831,7 +3808,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "engine.io": { @@ -2840,13 +3817,13 @@ "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", - "engine.io-parser": "~2.1.0", - "uws": "~9.14.0", - "ws": "~3.3.1" + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "uws": "9.14.0", + "ws": "3.3.3" }, "dependencies": { "debug": { @@ -2868,14 +3845,14 @@ "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", + "ws": "3.3.3", + "xmlhttprequest-ssl": "1.5.5", "yeast": "0.1.2" }, "dependencies": { @@ -2897,10 +3874,10 @@ "dev": true, "requires": { "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", + "arraybuffer.slice": "0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.4", - "has-binary2": "~1.0.2" + "has-binary2": "1.0.3" } }, "enhanced-resolve": { @@ -2909,9 +3886,9 @@ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.0.0" } }, "ent": { @@ -2926,29 +3903,35 @@ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", "dev": true }, + "envinfo": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.10.0.tgz", + "integrity": "sha512-rXbzXWvnQxy+TcqZlARbWVQwgGVVouVJgFZhLVN5htjLxl1thstrP2ZGi0pXC309AbK7gVOPU+ulz/tmpCI7iw==", + "dev": true + }, "enzyme": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.4.0.tgz", "integrity": "sha512-WWmNC5JmHtA5SctwJ7nyDidyyfo8WoHI0T116iKHkXaElQKdsaCzz5I/wIT66g3yXRCgL/74LsQ3XAotkjFXPg==", "dev": true, "requires": { - "array.prototype.flat": "^1.2.1", - "cheerio": "^1.0.0-rc.2", - "function.prototype.name": "^1.1.0", - "has": "^1.0.3", - "is-boolean-object": "^1.0.0", - "is-callable": "^1.1.4", - "is-number-object": "^1.0.3", - "is-string": "^1.0.4", - "is-subset": "^0.1.1", - "lodash": "^4.17.4", - "object-inspect": "^1.6.0", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.0.4", - "object.values": "^1.0.4", - "raf": "^3.4.0", - "rst-selector-parser": "^2.2.3" + "array.prototype.flat": "1.2.1", + "cheerio": "1.0.0-rc.2", + "function.prototype.name": "1.1.0", + "has": "1.0.3", + "is-boolean-object": "1.0.0", + "is-callable": "1.1.4", + "is-number-object": "1.0.3", + "is-string": "1.0.4", + "is-subset": "0.1.1", + "lodash": "4.17.5", + "object-inspect": "1.6.0", + "object-is": "1.0.1", + "object.assign": "4.1.0", + "object.entries": "1.0.4", + "object.values": "1.0.4", + "raf": "3.4.0", + "rst-selector-parser": "2.2.3" } }, "enzyme-adapter-react-16": { @@ -2957,14 +3940,14 @@ "integrity": "sha512-UgBra+xZFVFbU5Tw7Inw0bPrNJhM2ru4vCoO7preX6sOicXuDbOH927QJx4pk6m6vatd8jnPXTF6/GCjzytJTg==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.5.0", - "function.prototype.name": "^1.1.0", - "object.assign": "^4.1.0", - "object.values": "^1.0.4", - "prop-types": "^15.6.2", - "react-is": "^16.4.2", - "react-reconciler": "^0.7.0", - "react-test-renderer": "^16.0.0-0" + "enzyme-adapter-utils": "1.5.0", + "function.prototype.name": "1.1.0", + "object.assign": "4.1.0", + "object.values": "1.0.4", + "prop-types": "15.6.2", + "react-is": "16.4.2", + "react-reconciler": "0.7.0", + "react-test-renderer": "16.4.2" } }, "enzyme-adapter-utils": { @@ -2973,9 +3956,9 @@ "integrity": "sha512-cLUaPYU8GEzAHi/1hiO+ylz4QiQWI8eb9SysAk8Tbul2O918dRf4cfD4s2BjijtwSvhapkOsPW9XRix1EXlJ1Q==", "dev": true, "requires": { - "function.prototype.name": "^1.1.0", - "object.assign": "^4.1.0", - "prop-types": "^15.6.2" + "function.prototype.name": "1.1.0", + "object.assign": "4.1.0", + "prop-types": "15.6.2" } }, "errno": { @@ -2984,7 +3967,7 @@ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error": { @@ -2993,8 +3976,8 @@ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", "dev": true, "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" + "string-template": "0.2.1", + "xtend": "4.0.1" } }, "error-ex": { @@ -3003,7 +3986,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -3012,11 +3995,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -3025,9 +4008,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -3036,9 +4019,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -3047,9 +4030,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-promise": { @@ -3064,7 +4047,7 @@ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { - "es6-promise": "^4.0.3" + "es6-promise": "4.2.4" } }, "es6-symbol": { @@ -3073,8 +4056,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "escape-html": { @@ -3096,11 +4079,11 @@ "dev": true, "optional": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -3125,8 +4108,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "esprima": { @@ -3141,7 +4124,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -3186,7 +4169,7 @@ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "dev": true, "requires": { - "original": ">=0.0.5" + "original": "1.0.2" } }, "evp_bytestokey": { @@ -3195,8 +4178,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" } }, "execa": { @@ -3205,13 +4188,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -3220,9 +4203,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -3233,15 +4216,21 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, "expand-braces": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", "dev": true, "requires": { - "array-slice": "^0.2.3", - "array-unique": "^0.2.1", - "braces": "^0.1.2" + "array-slice": "0.2.3", + "array-unique": "0.2.1", + "braces": "0.1.5" }, "dependencies": { "array-unique": { @@ -3256,7 +4245,7 @@ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", "dev": true, "requires": { - "expand-range": "^0.1.0" + "expand-range": "0.1.1" } } } @@ -3267,13 +4256,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -3282,7 +4271,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -3291,7 +4280,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3302,8 +4291,8 @@ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "requires": { - "is-number": "^0.1.1", - "repeat-string": "^0.2.2" + "is-number": "0.1.1", + "repeat-string": "0.2.2" }, "dependencies": { "is-number": { @@ -3333,7 +4322,7 @@ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" + "homedir-polyfill": "1.0.1" } }, "express": { @@ -3342,36 +4331,36 @@ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", + "proxy-addr": "2.0.4", "qs": "6.5.1", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "statuses": "1.4.0", + "type-is": "1.6.16", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "body-parser": { @@ -3381,15 +4370,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", + "depd": "1.1.2", + "http-errors": "1.6.3", "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "~1.6.15" + "type-is": "1.6.16" } }, "bytes": { @@ -3405,12 +4394,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" } }, "iconv-lite": { @@ -3452,7 +4441,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "statuses": "1.4.0" } }, "setprototypeof": { @@ -3489,8 +4478,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -3499,7 +4488,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -3510,9 +4499,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -3521,14 +4510,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -3537,7 +4526,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -3546,7 +4535,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -3555,7 +4544,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3564,7 +4553,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3573,9 +4562,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3586,10 +4575,10 @@ "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==", "dev": true, "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5", - "webpack-sources": "^1.1.0" + "async": "2.6.1", + "loader-utils": "1.1.0", + "schema-utils": "0.4.7", + "webpack-sources": "1.1.0" } }, "extsprintf": { @@ -3604,9 +4593,9 @@ "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "dev": true, "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -3615,6 +4604,31 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.2", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" + }, + "dependencies": { + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -3639,7 +4653,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } }, "fbjs": { @@ -3648,13 +4662,13 @@ "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "dev": true, "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" }, "dependencies": { "core-js": { @@ -3671,7 +4685,7 @@ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { - "pend": "~1.2.0" + "pend": "1.2.0" } }, "fibers": { @@ -3686,7 +4700,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-sync-cmp": { @@ -3702,6 +4716,12 @@ "dev": true, "optional": true }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -3714,10 +4734,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -3726,7 +4746,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3738,12 +4758,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" }, "dependencies": { "statuses": { @@ -3760,9 +4780,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -3771,7 +4791,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "findup-sync": { @@ -3780,20 +4800,35 @@ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "dev": true, "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "detect-file": "1.0.0", + "is-glob": "3.1.0", + "micromatch": "3.1.10", + "resolve-dir": "1.0.1" + } + }, + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" } }, + "flow-parser": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.81.0.tgz", + "integrity": "sha512-9zCcBUsuVFEcBRLBSaDUT5evmDW1jFUnvku8pHNo6TLy+8TRhbYFWIHosHGPT+3AHW6kxknAZ1oiRNCc6lUEZA==", + "dev": true + }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "follow-redirects": { @@ -3802,7 +4837,7 @@ "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", "dev": true, "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -3828,7 +4863,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -3849,9 +4884,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.19" } }, "forwarded": { @@ -3866,7 +4901,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fresh": { @@ -3881,8 +4916,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-access": { @@ -3891,7 +4926,7 @@ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", "dev": true, "requires": { - "null-check": "^1.0.0" + "null-check": "1.0.0" } }, "fs-constants": { @@ -3906,9 +4941,9 @@ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" } }, "fs-write-stream-atomic": { @@ -3917,10 +4952,10 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" } }, "fs.realpath": { @@ -3936,8 +4971,8 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -3963,8 +4998,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -3977,7 +5012,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -4041,7 +5076,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -4056,14 +5091,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -4072,12 +5107,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -4092,7 +5127,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -4101,7 +5136,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -4110,8 +5145,8 @@ "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4130,7 +5165,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -4144,7 +5179,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -4157,8 +5192,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -4167,7 +5202,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { @@ -4190,9 +5225,9 @@ "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -4201,16 +5236,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -4219,8 +5254,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -4235,8 +5270,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -4245,10 +5280,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -4267,7 +5302,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -4288,8 +5323,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -4310,10 +5345,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -4330,13 +5365,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -4345,7 +5380,7 @@ "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -4388,9 +5423,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -4399,7 +5434,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -4407,7 +5442,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -4422,13 +5457,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -4443,7 +5478,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -4464,10 +5499,10 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "ftp": { @@ -4477,7 +5512,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "1.1.x", + "readable-stream": "1.1.14", "xregexp": "2.0.0" }, "dependencies": { @@ -4495,10 +5530,10 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -4522,9 +5557,9 @@ "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "is-callable": "^1.1.3" + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "is-callable": "1.1.4" } }, "gauge": { @@ -4533,14 +5568,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "gaze": { @@ -4549,7 +5584,7 @@ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "^1.0.0" + "globule": "1.2.1" } }, "generate-function": { @@ -4566,7 +5601,7 @@ "dev": true, "optional": true, "requires": { - "is-property": "^1.0.0" + "is-property": "1.0.2" } }, "get-caller-file": { @@ -4594,12 +5629,12 @@ "dev": true, "optional": true, "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "3", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" + "data-uri-to-buffer": "1.2.0", + "debug": "2.6.9", + "extend": "3.0.2", + "file-uri-to-path": "1.0.0", + "ftp": "0.3.10", + "readable-stream": "2.3.6" } }, "get-value": { @@ -4620,7 +5655,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -4631,6 +5666,70 @@ } } }, + "gh-got": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", + "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", + "dev": true, + "requires": { + "got": "7.1.0", + "is-plain-obj": "1.1.0" + }, + "dependencies": { + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-plain-obj": "1.1.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "p-cancelable": "0.3.0", + "p-timeout": "1.2.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "1.0.0", + "url-to-options": "1.0.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + } + } + }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -4638,18 +5737,90 @@ "dev": true, "optional": true }, + "github-username": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", + "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", + "dev": true, + "requires": { + "gh-got": "6.0.0" + } + }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-all": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", + "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", + "dev": true, + "requires": { + "glob": "7.1.2", + "yargs": "1.2.6" + }, + "dependencies": { + "minimist": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true + }, + "yargs": { + "version": "1.2.6", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", + "dev": true, + "requires": { + "minimist": "0.1.0" + } + } + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } } }, "glob-parent": { @@ -4658,19 +5829,25 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" } }, "global-prefix": { @@ -4679,25 +5856,31 @@ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.1" } }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, "globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "dev": true, "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "globule": { @@ -4706,9 +5889,9 @@ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" + "glob": "7.1.2", + "lodash": "4.17.10", + "minimatch": "3.0.4" }, "dependencies": { "lodash": { @@ -4725,7 +5908,32 @@ "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", "dev": true, "requires": { - "sparkles": "^1.0.0" + "sparkles": "1.0.1" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "requires": { + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.1", + "p-cancelable": "0.4.1", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" } }, "graceful-fs": { @@ -4734,29 +5942,38 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "grouped-queue": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", + "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, "grunt": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz", "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", "dev": true, "requires": { - "coffeescript": "~1.10.0", - "dateformat": "~1.0.12", - "eventemitter2": "~0.4.13", - "exit": "~0.1.1", - "findup-sync": "~0.3.0", - "glob": "~7.0.0", - "grunt-cli": "~1.2.0", - "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~2.0.0", - "grunt-legacy-util": "~1.1.1", - "iconv-lite": "~0.4.13", - "js-yaml": "~3.5.2", - "minimatch": "~3.0.2", - "mkdirp": "~0.5.1", - "nopt": "~3.0.6", - "path-is-absolute": "~1.0.0", - "rimraf": "~2.6.2" + "coffeescript": "1.10.0", + "dateformat": "1.0.12", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.3.0", + "glob": "7.0.6", + "grunt-cli": "1.2.0", + "grunt-known-options": "1.1.0", + "grunt-legacy-log": "2.0.0", + "grunt-legacy-util": "1.1.1", + "iconv-lite": "0.4.23", + "js-yaml": "3.5.5", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" }, "dependencies": { "esprima": { @@ -4771,7 +5988,7 @@ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", "dev": true, "requires": { - "glob": "~5.0.0" + "glob": "5.0.15" }, "dependencies": { "glob": { @@ -4780,11 +5997,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -4795,12 +6012,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "grunt-cli": { @@ -4809,10 +6026,10 @@ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", "dev": true, "requires": { - "findup-sync": "~0.3.0", - "grunt-known-options": "~1.1.0", - "nopt": "~3.0.6", - "resolve": "~1.1.0" + "findup-sync": "0.3.0", + "grunt-known-options": "1.1.0", + "nopt": "3.0.6", + "resolve": "1.1.7" } }, "js-yaml": { @@ -4821,8 +6038,8 @@ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", "dev": true, "requires": { - "argparse": "^1.0.2", - "esprima": "^2.6.0" + "argparse": "1.0.9", + "esprima": "2.7.3" } }, "nopt": { @@ -4831,7 +6048,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1.1.1" } } } @@ -4842,8 +6059,8 @@ "integrity": "sha1-UYiVh8V+gn3enN9pt1CuCy+IHFA=", "dev": true, "requires": { - "check-dependencies": "^1.0.1", - "lodash.clonedeep": "^4.5.0" + "check-dependencies": "1.1.0", + "lodash.clonedeep": "4.5.0" } }, "grunt-contrib-clean": { @@ -4852,8 +6069,8 @@ "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", "dev": true, "requires": { - "async": "^1.5.2", - "rimraf": "^2.5.1" + "async": "1.5.2", + "rimraf": "2.6.2" }, "dependencies": { "async": { @@ -4870,12 +6087,12 @@ "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=", "dev": true, "requires": { - "archiver": "^1.3.0", - "chalk": "^1.1.1", - "iltorb": "^1.0.13", - "lodash": "^4.7.0", - "pretty-bytes": "^4.0.2", - "stream-buffers": "^2.1.0" + "archiver": "1.3.0", + "chalk": "1.1.3", + "iltorb": "1.3.10", + "lodash": "4.17.5", + "pretty-bytes": "4.0.2", + "stream-buffers": "2.2.0" } }, "grunt-contrib-copy": { @@ -4884,8 +6101,8 @@ "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", "dev": true, "requires": { - "chalk": "^1.1.1", - "file-sync-cmp": "^0.1.0" + "chalk": "1.1.3", + "file-sync-cmp": "0.1.1" } }, "grunt-contrib-watch": { @@ -4894,10 +6111,10 @@ "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", "dev": true, "requires": { - "async": "^2.6.0", - "gaze": "^1.1.0", - "lodash": "^4.17.10", - "tiny-lr": "^1.1.1" + "async": "2.6.1", + "gaze": "1.1.3", + "lodash": "4.17.10", + "tiny-lr": "1.1.1" }, "dependencies": { "lodash": { @@ -4926,10 +6143,10 @@ "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", "dev": true, "requires": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.0.0", - "hooker": "~0.2.3", - "lodash": "~4.17.5" + "colors": "1.1.2", + "grunt-legacy-log-utils": "2.0.1", + "hooker": "0.2.3", + "lodash": "4.17.5" }, "dependencies": { "colors": { @@ -4946,8 +6163,8 @@ "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", "dev": true, "requires": { - "chalk": "~2.4.1", - "lodash": "~4.17.10" + "chalk": "2.4.1", + "lodash": "4.17.10" }, "dependencies": { "ansi-styles": { @@ -4956,7 +6173,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -4965,9 +6182,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "lodash": { @@ -4982,7 +6199,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -4993,13 +6210,13 @@ "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", "dev": true, "requires": { - "async": "~1.5.2", - "exit": "~0.1.1", - "getobject": "~0.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.10", - "underscore.string": "~3.3.4", - "which": "~1.3.0" + "async": "1.5.2", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "4.17.10", + "underscore.string": "3.3.4", + "which": "1.3.1" }, "dependencies": { "async": { @@ -5022,8 +6239,8 @@ "integrity": "sha1-g8y3od2ny9irI7BZAk6+YUrS80I=", "dev": true, "requires": { - "async": "^1.5.2", - "rimraf": "^2.5.2" + "async": "1.5.2", + "rimraf": "2.6.2" }, "dependencies": { "async": { @@ -5040,8 +6257,8 @@ "integrity": "sha512-Ngixl4W/mNJYyghyXJ+JzJ7pUaVRcVKgvC+74ePXPglAEodc9jMlBrGszZAzmspCuvo5dkhbBIcuBHn+Wv1pOQ==", "dev": true, "requires": { - "deep-for-each": "^2.0.2", - "lodash": "^4.7.0" + "deep-for-each": "2.0.3", + "lodash": "4.17.5" } }, "gulp-util": { @@ -5050,24 +6267,24 @@ "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^1.0.11", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "1.0.12", + "fancy-log": "1.3.2", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" + "through2": "2.0.3", + "vinyl": "0.5.3" }, "dependencies": { "minimist": { @@ -5090,7 +6307,7 @@ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "dev": true, "requires": { - "glogg": "^1.0.0" + "glogg": "1.0.1" } }, "gzip-size": { @@ -5099,8 +6316,8 @@ "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", "dev": true, "requires": { - "duplexer": "^0.1.1", - "pify": "^3.0.0" + "duplexer": "0.1.1", + "pify": "3.0.0" } }, "handle-thing": { @@ -5115,10 +6332,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -5133,7 +6350,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -5150,8 +6367,8 @@ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" + "ajv": "4.11.8", + "har-schema": "1.0.5" }, "dependencies": { "ajv": { @@ -5160,8 +6377,8 @@ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" + "co": "4.6.0", + "json-stable-stringify": "1.0.1" } } } @@ -5172,7 +6389,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -5181,7 +6398,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-binary2": { @@ -5201,6 +6418,12 @@ } } }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", @@ -5219,15 +6442,30 @@ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", "dev": true, "requires": { - "sparkles": "^1.0.0" + "sparkles": "1.0.1" } }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -5240,9 +6478,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -5251,8 +6489,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -5261,7 +6499,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5272,8 +6510,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "hash.js": { @@ -5282,8 +6520,8 @@ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "hawk": { @@ -5292,10 +6530,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "hipchat-notifier": { @@ -5305,8 +6543,8 @@ "dev": true, "optional": true, "requires": { - "lodash": "^4.0.0", - "request": "^2.0.0" + "lodash": "4.17.5", + "request": "2.81.0" } }, "hmac-drbg": { @@ -5315,9 +6553,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "hoek": { @@ -5326,13 +6564,23 @@ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, "homedir-polyfill": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "^1.0.0" + "parse-passwd": "1.0.0" } }, "hooker": { @@ -5353,10 +6601,10 @@ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "inherits": "2.0.3", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "wbuf": "1.7.3" } }, "html-entities": { @@ -5371,14 +6619,20 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.5.1", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -5391,10 +6645,10 @@ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.5.0" } }, "http-parser-js": { @@ -5409,9 +6663,9 @@ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.2", + "requires-port": "1.0.0" } }, "http-proxy-agent": { @@ -5420,7 +6674,7 @@ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "requires": { - "agent-base": "4", + "agent-base": "4.2.1", "debug": "3.1.0" }, "dependencies": { @@ -5441,10 +6695,10 @@ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { - "http-proxy": "^1.16.2", - "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" + "http-proxy": "1.17.0", + "is-glob": "4.0.0", + "lodash": "4.17.5", + "micromatch": "3.1.10" }, "dependencies": { "is-glob": { @@ -5453,7 +6707,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } } } @@ -5464,9 +6718,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "httpntlm": { @@ -5475,8 +6729,8 @@ "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", "dev": true, "requires": { - "httpreq": ">=0.4.22", - "underscore": "~1.7.0" + "httpreq": "0.4.24", + "underscore": "1.7.0" }, "dependencies": { "underscore": { @@ -5505,8 +6759,8 @@ "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", "dev": true, "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" + "agent-base": "4.2.1", + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -5532,7 +6786,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "icss-replace-symbols": { @@ -5547,7 +6801,7 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.23" } }, "ieee754": { @@ -5575,10 +6829,10 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^0.2.0", - "nan": "^2.6.2", - "node-gyp": "^3.6.2", - "prebuild-install": "^2.3.0" + "detect-libc": "0.2.0", + "nan": "2.10.0", + "node-gyp": "3.7.0", + "prebuild-install": "2.5.3" } }, "import-local": { @@ -5587,8 +6841,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -5609,7 +6863,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "indexof": { @@ -5631,8 +6885,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -5653,20 +6907,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.5", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -5681,7 +6935,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5690,9 +6944,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "is-fullwidth-code-point": { @@ -5707,8 +6961,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -5717,7 +6971,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5726,7 +6980,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5737,7 +6991,32 @@ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "meow": "^3.3.0" + "meow": "3.7.0" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -5764,7 +7043,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5773,7 +7052,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5790,7 +7069,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-boolean-object": { @@ -5811,7 +7090,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -5826,7 +7105,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5835,7 +7114,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5852,9 +7131,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -5865,6 +7144,21 @@ } } }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -5883,7 +7177,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -5892,7 +7186,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -5901,7 +7195,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } }, "is-my-ip-valid": { @@ -5918,11 +7212,11 @@ "dev": true, "optional": true, "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" } }, "is-number": { @@ -5931,7 +7225,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5940,7 +7234,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5951,6 +7245,29 @@ "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", "dev": true }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, + "requires": { + "symbol-observable": "1.2.0" + }, + "dependencies": { + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + } + } + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -5963,7 +7280,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -5972,18 +7289,36 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -6003,7 +7338,22 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-scoped": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", + "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", + "dev": true, + "requires": { + "scoped-regex": "1.0.0" } }, "is-stream": { @@ -6066,7 +7416,7 @@ "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", "dev": true, "requires": { - "buffer-alloc": "^1.2.0" + "buffer-alloc": "1.2.0" } }, "isexe": { @@ -6087,8 +7437,8 @@ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "dev": true, "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" } }, "isstream": { @@ -6103,20 +7453,20 @@ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", "dev": true, "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.8.1", + "esprima": "2.7.3", + "glob": "5.0.15", + "handlebars": "4.0.11", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.1", + "wordwrap": "1.0.0" }, "dependencies": { "abbrev": { @@ -6137,11 +7487,11 @@ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" } }, "esprima": { @@ -6162,11 +7512,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-flag": { @@ -6181,7 +7531,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1.0.9" } }, "source-map": { @@ -6191,7 +7541,7 @@ "dev": true, "optional": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } }, "supports-color": { @@ -6200,7 +7550,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } }, "wordwrap": { @@ -6211,20 +7561,109 @@ } } }, + "istanbul-instrumenter-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", + "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", + "dev": true, + "requires": { + "convert-source-map": "1.6.0", + "istanbul-lib-instrument": "1.10.2", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.5.0" + } + }, + "istextorbinary": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", + "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", + "dev": true, + "requires": { + "binaryextensions": "2.1.1", + "editions": "1.3.4", + "textextensions": "2.2.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, "jasmine": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.1.0.tgz", - "integrity": "sha1-K9Wf1+xuwOistk4J9Fpo7SrRlSo=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.2.0.tgz", + "integrity": "sha512-qv6TZ32r+slrQz8fbx2EhGbD9zlJo3NwPrpLK1nE8inILtZO9Fap52pyHk7mNTh4tG50a+1+tOiWVT3jO5I0Sg==", "dev": true, "requires": { - "glob": "^7.0.6", - "jasmine-core": "~3.1.0" + "glob": "7.1.2", + "jasmine-core": "3.2.1" } }, "jasmine-core": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.1.0.tgz", - "integrity": "sha1-pHheE11d9lAk38kiSVPfWFvSdmw=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.2.1.tgz", + "integrity": "sha512-pa9tbBWgU0EE4SWgc85T4sa886ufuQdsgruQANhECYjwqgV4z7Vw/499aCaP8ZH79JDS4vhm8doDG9HO4+e4sA==", "dev": true }, "js-base64": { @@ -6244,8 +7683,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.9", + "esprima": "4.0.1" } }, "jsbn": { @@ -6255,6 +7694,223 @@ "dev": true, "optional": true }, + "jscodeshift": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.1.tgz", + "integrity": "sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q==", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-1": "6.24.1", + "babel-register": "6.26.0", + "babylon": "7.0.0-beta.47", + "colors": "1.3.2", + "flow-parser": "0.81.0", + "lodash": "4.17.5", + "micromatch": "2.3.11", + "neo-async": "2.5.1", + "node-dir": "0.1.8", + "nomnom": "1.8.1", + "recast": "0.15.5", + "temp": "0.8.3", + "write-file-atomic": "1.3.4" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "babylon": { + "version": "7.0.0-beta.47", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", + "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "chalk": { + "version": "0.4.0", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" + } + }, + "colors": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", + "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "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" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "0.4.0", + "underscore": "1.6.0" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -6279,7 +7935,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -6306,7 +7962,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -6348,31 +8004,31 @@ "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", "dev": true, "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", - "chokidar": "^2.0.3", - "colors": "^1.1.0", - "combine-lists": "^1.0.0", - "connect": "^3.6.0", - "core-js": "^2.2.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "expand-braces": "^0.1.1", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.4", - "log4js": "^2.5.3", - "mime": "^1.3.4", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", + "bluebird": "3.5.1", + "body-parser": "1.18.3", + "chokidar": "2.0.4", + "colors": "1.3.1", + "combine-lists": "1.0.1", + "connect": "3.6.6", + "core-js": "2.5.7", + "di": "0.0.1", + "dom-serialize": "2.2.1", + "expand-braces": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "http-proxy": "1.17.0", + "isbinaryfile": "3.0.3", + "lodash": "4.17.5", + "log4js": "2.11.0", + "mime": "1.6.0", + "minimatch": "3.0.4", + "optimist": "0.6.1", + "qjobs": "1.2.0", + "range-parser": "1.2.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", "socket.io": "2.0.4", - "source-map": "^0.6.1", + "source-map": "0.6.1", "tmp": "0.0.33", "useragent": "2.2.1" }, @@ -6397,8 +8053,8 @@ "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", "dev": true, "requires": { - "fs-access": "^1.0.0", - "which": "^1.2.1" + "fs-access": "1.0.1", + "which": "1.3.1" } }, "karma-coverage": { @@ -6407,11 +8063,11 @@ "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", "dev": true, "requires": { - "dateformat": "^1.0.6", - "istanbul": "^0.4.0", - "lodash": "^4.17.0", - "minimatch": "^3.0.0", - "source-map": "^0.5.1" + "dateformat": "1.0.12", + "istanbul": "0.4.5", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "source-map": "0.5.7" } }, "karma-jasmine": { @@ -6426,7 +8082,7 @@ "integrity": "sha512-Wg9xagm6y+FYOIX1sa9Dvr0zVTusteQ2L/SAX+TOGO15Iyo2eAINIxOa52MGnPr0WoXF9oWIqUipQ6wlf2V5zA==", "dev": true, "requires": { - "karma-jasmine": "^1.0.2" + "karma-jasmine": "1.1.2" } }, "karma-remap-istanbul": { @@ -6435,8 +8091,66 @@ "integrity": "sha1-l/O3cAZSVPm0ck8tm+SjouG69vw=", "dev": true, "requires": { - "istanbul": "^0.4.3", - "remap-istanbul": "^0.9.0" + "istanbul": "0.4.5", + "remap-istanbul": "0.9.6" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "remap-istanbul": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.9.6.tgz", + "integrity": "sha512-l0WDBsVjaTzP8m3glERJO6bjlAFUahcgfcgvcX+owZw7dKeDLT3CVRpS7UO4L9LfGcMiNsqk223HopwVxlh8Hg==", + "dev": true, + "requires": { + "amdefine": "1.0.1", + "gulp-util": "3.0.7", + "istanbul": "0.4.5", + "minimatch": "3.0.4", + "source-map": "0.6.1", + "through2": "2.0.1" + } + }, + "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 + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "2.0.6", + "xtend": "4.0.1" + } + } } }, "karma-sourcemap-loader": { @@ -6445,7 +8159,24 @@ "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2" + "graceful-fs": "4.1.11" + } + }, + "karma-spec-reporter": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.32.tgz", + "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", + "dev": true, + "requires": { + "colors": "1.3.2" + }, + "dependencies": { + "colors": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", + "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", + "dev": true + } } }, "karma-webpack": { @@ -6454,12 +8185,21 @@ "integrity": "sha512-Ja1o9LLoqWaJyUNhTKaXjWiEH9y7a9H3mzP8pYB30SBsgoF5KBS/65NeHFd+QPuT9ITrym8xFt8BZeGbcOfujA==", "dev": true, "requires": { - "async": "^2.0.0", - "babel-runtime": "^6.0.0", - "loader-utils": "^1.0.0", - "lodash": "^4.0.0", - "source-map": "^0.5.6", - "webpack-dev-middleware": "^2.0.6" + "async": "2.6.1", + "babel-runtime": "6.26.0", + "loader-utils": "1.1.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "webpack-dev-middleware": "2.0.6" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" } }, "killable": { @@ -6480,7 +8220,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "lazy-cache": { @@ -6496,7 +8236,7 @@ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, "requires": { - "readable-stream": "^2.0.5" + "readable-stream": "2.3.6" } }, "lcid": { @@ -6505,7 +8245,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -6514,8 +8254,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "libbase64": { @@ -6549,6 +8289,132 @@ "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=", "dev": true }, + "listr": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.2.tgz", + "integrity": "sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw==", + "dev": true, + "requires": { + "@samverschueren/stream-to-observable": "0.3.0", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "is-stream": "1.1.0", + "listr-silent-renderer": "1.1.1", + "listr-update-renderer": "0.4.0", + "listr-verbose-renderer": "0.4.1", + "p-map": "1.2.0", + "rxjs": "6.3.2" + }, + "dependencies": { + "rxjs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.2.tgz", + "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", + "dev": true, + "requires": { + "tslib": "1.9.3" + } + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", + "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "elegant-spinner": "1.0.1", + "figures": "1.7.0", + "indent-string": "3.2.0", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "date-fns": "1.29.0", + "figures": "1.7.0" + }, + "dependencies": { + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + } + } + }, "livereload-js": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", @@ -6561,11 +8427,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" }, "dependencies": { "parse-json": { @@ -6574,7 +8440,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pify": { @@ -6597,9 +8463,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, "locate-path": { @@ -6608,8 +8474,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -6702,7 +8568,7 @@ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "dev": true, "requires": { - "lodash._root": "^3.0.0" + "lodash._root": "3.0.1" } }, "lodash.flattendeep": { @@ -6735,9 +8601,9 @@ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "dev": true, "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" } }, "lodash.mergewith": { @@ -6764,15 +8630,15 @@ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" } }, "lodash.templatesettings": { @@ -6781,8 +8647,8 @@ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" } }, "log-symbols": { @@ -6791,7 +8657,7 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "2.4.1" }, "dependencies": { "ansi-styles": { @@ -6800,7 +8666,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6809,9 +8675,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -6820,7 +8686,50 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" + } + } + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "cli-cursor": "1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" } } } @@ -6831,18 +8740,18 @@ "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", "dev": true, "requires": { - "amqplib": "^0.5.2", - "axios": "^0.15.3", - "circular-json": "^0.5.4", - "date-format": "^1.2.0", - "debug": "^3.1.0", - "hipchat-notifier": "^1.1.0", - "loggly": "^1.1.0", - "mailgun-js": "^0.18.0", - "nodemailer": "^2.5.0", - "redis": "^2.7.1", - "semver": "^5.5.0", - "slack-node": "~0.2.0", + "amqplib": "0.5.2", + "axios": "0.15.3", + "circular-json": "0.5.5", + "date-format": "1.2.0", + "debug": "3.1.0", + "hipchat-notifier": "1.1.0", + "loggly": "1.1.1", + "mailgun-js": "0.18.1", + "nodemailer": "2.7.2", + "redis": "2.8.0", + "semver": "5.5.0", + "slack-node": "0.2.0", "streamroller": "0.7.0" }, "dependencies": { @@ -6864,9 +8773,9 @@ "dev": true, "optional": true, "requires": { - "json-stringify-safe": "5.0.x", - "request": "2.75.x", - "timespan": "2.3.x" + "json-stringify-safe": "5.0.1", + "request": "2.75.0", + "timespan": "2.3.0" }, "dependencies": { "bl": { @@ -6876,7 +8785,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "~2.0.5" + "readable-stream": "2.0.6" } }, "caseless": { @@ -6893,9 +8802,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.11" + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.19" } }, "har-validator": { @@ -6905,10 +8814,10 @@ "dev": true, "optional": true, "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" + "chalk": "1.1.3", + "commander": "2.17.1", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" } }, "node-uuid": { @@ -6939,12 +8848,12 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" } }, "request": { @@ -6954,27 +8863,27 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "bl": "~1.1.2", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.0.0", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "node-uuid": "~1.4.7", - "oauth-sign": "~0.8.1", - "qs": "~6.2.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "~0.4.1" + "aws-sign2": "0.6.0", + "aws4": "1.8.0", + "bl": "1.1.2", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.0.0", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.19", + "node-uuid": "1.4.8", + "oauth-sign": "0.8.2", + "qs": "6.2.3", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3" } }, "string_decoder": { @@ -7005,8 +8914,8 @@ "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", "dev": true, "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" + "es6-symbol": "3.1.1", + "object.assign": "4.1.0" } }, "long": { @@ -7026,7 +8935,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7035,18 +8944,24 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "mailcomposer": { @@ -7067,15 +8982,15 @@ "dev": true, "optional": true, "requires": { - "async": "~2.6.0", - "debug": "~3.1.0", - "form-data": "~2.3.0", - "inflection": "~1.12.0", - "is-stream": "^1.1.0", - "path-proxy": "~1.0.0", - "promisify-call": "^2.0.2", - "proxy-agent": "~3.0.0", - "tsscmp": "~1.0.0" + "async": "2.6.1", + "debug": "3.1.0", + "form-data": "2.3.2", + "inflection": "1.12.0", + "is-stream": "1.1.0", + "path-proxy": "1.0.0", + "promisify-call": "2.0.4", + "proxy-agent": "3.0.1", + "tsscmp": "1.0.6" }, "dependencies": { "debug": { @@ -7095,9 +9010,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.19" } } } @@ -7108,7 +9023,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "mamacro": { @@ -7135,17 +9050,23 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "media-typer": { @@ -7160,7 +9081,84 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" + } + }, + "mem-fs": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", + "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", + "dev": true, + "requires": { + "through2": "2.0.3", + "vinyl": "1.2.0", + "vinyl-file": "2.0.0" + }, + "dependencies": { + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "mem-fs-editor": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz", + "integrity": "sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==", + "dev": true, + "requires": { + "commondir": "1.0.1", + "deep-extend": "0.6.0", + "ejs": "2.5.9", + "glob": "7.1.2", + "globby": "7.1.1", + "isbinaryfile": "3.0.3", + "mkdirp": "0.5.1", + "multimatch": "2.1.0", + "rimraf": "2.6.2", + "through2": "2.0.3", + "vinyl": "2.2.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "2.1.2", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" + } + } } }, "memory-fs": { @@ -7169,8 +9167,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "errno": "0.1.7", + "readable-stream": "2.3.6" } }, "mendix-client": { @@ -7180,7 +9178,7 @@ "dev": true, "requires": { "@types/big.js": "0.0.31", - "@types/dojo": "^1.9.34" + "@types/dojo": "1.9.40" } }, "mendix-widget-build-script": { @@ -7189,9 +9187,9 @@ "integrity": "sha512-gWql2Ud1qYdpqDUsey0HzHIbC3m5j9sGD5W+OgLxiYxxWz/l9DcEEWn9BCj7o6yui5kQk+nWv6xDvWmz3Lr68Q==", "dev": true, "requires": { - "archiver": "^2.0.0", - "node-svn-ultimate": "^1.1.0", - "request": "^2.81.0" + "archiver": "2.1.1", + "node-svn-ultimate": "1.1.0", + "request": "2.81.0" }, "dependencies": { "archiver": { @@ -7200,14 +9198,14 @@ "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", "dev": true, "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" + "archiver-utils": "1.3.0", + "async": "2.6.1", + "buffer-crc32": "0.2.13", + "glob": "7.1.2", + "lodash": "4.17.5", + "readable-stream": "2.3.6", + "tar-stream": "1.6.1", + "zip-stream": "1.2.0" } } } @@ -7218,16 +9216,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "minimist": { @@ -7244,6 +9242,12 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge2": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -7256,19 +9260,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "miller-rabin": { @@ -7277,8 +9281,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "mime": { @@ -7299,7 +9303,7 @@ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.35.0" } }, "mimic-fn": { @@ -7312,8 +9316,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "optional": true + "dev": true }, "minimalistic-assert": { "version": "1.0.1", @@ -7333,7 +9336,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -7348,16 +9351,16 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.3" } }, "mixin-deep": { @@ -7366,8 +9369,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -7376,7 +9379,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -7387,8 +9390,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" + "for-in": "0.1.8", + "is-extendable": "0.1.1" }, "dependencies": { "for-in": { @@ -7434,12 +9437,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, "ms": { @@ -7454,8 +9457,8 @@ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "dns-packet": "1.3.1", + "thunky": "1.0.2" } }, "multicast-dns-service-types": { @@ -7464,6 +9467,18 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, "multipipe": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", @@ -7492,17 +9507,17 @@ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "nearley": { @@ -7511,11 +9526,11 @@ "integrity": "sha512-ZjzdO+yBtMrRrBbr+BJ35ECla6PGCAb/6hqpBQe7bmhEJabQ4rpVdj4sadP1Z1jQGyaDmm1GciQWsGVxIZ3uJA==", "dev": true, "requires": { - "moo": "^0.4.3", - "nomnom": "~1.6.2", - "railroad-diagrams": "^1.0.0", + "moo": "0.4.3", + "nomnom": "1.6.2", + "railroad-diagrams": "1.0.0", "randexp": "0.4.6", - "semver": "^5.4.1" + "semver": "5.5.0" } }, "negotiator": { @@ -7556,17 +9571,23 @@ "dev": true, "optional": true, "requires": { - "semver": "^5.4.1" + "semver": "5.5.0" } }, + "node-dir": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", + "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=", + "dev": true + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "dev": true, "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-forge": { @@ -7581,18 +9602,18 @@ "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": ">=2.9.0 <2.82.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" }, "dependencies": { "nopt": { @@ -7601,7 +9622,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1.1.1" } }, "semver": { @@ -7618,28 +9639,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", + "url": "0.11.0", + "util": "0.10.4", "vm-browserify": "0.0.4" }, "dependencies": { @@ -7649,9 +9670,9 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" } }, "punycode": { @@ -7668,25 +9689,25 @@ "integrity": "sha1-XmP+a9DyrjrJ1sFO3oYg4ri9tDc=", "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.10.0", - "node-gyp": "^3.3.1", - "npmlog": "^4.0.0", + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.7.0", + "npmlog": "4.1.2", "request": "2.87.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" }, "dependencies": { "ajv": { @@ -7695,10 +9716,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "assert-plus": { @@ -7725,9 +9746,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.19" } }, "har-schema": { @@ -7742,8 +9763,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "http-signature": { @@ -7752,9 +9773,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "json-schema-traverse": { @@ -7781,26 +9802,26 @@ "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=", "dev": true, "requires": { - "aws-sign2": "~0.7.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.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.19", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } } } @@ -7811,10 +9832,10 @@ "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", "dev": true, "requires": { - "fs-extra": "^1.0.0", - "semver": "^5.3.0", - "uuid": "^3.0.0", - "xml2js": "^0.4.17" + "fs-extra": "1.0.0", + "semver": "5.5.0", + "uuid": "3.3.2", + "xml2js": "0.4.19" } }, "nodemailer": { @@ -7840,8 +9861,8 @@ "dev": true, "optional": true, "requires": { - "ip": "^1.1.2", - "smart-buffer": "^1.0.4" + "ip": "1.1.5", + "smart-buffer": "1.1.15" } } } @@ -7908,8 +9929,8 @@ "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=", "dev": true, "requires": { - "colors": "0.5.x", - "underscore": "~1.4.4" + "colors": "0.5.1", + "underscore": "1.4.4" } }, "noop-logger": { @@ -7925,10 +9946,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.4" } }, "normalize-path": { @@ -7937,7 +9958,18 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" } }, "npm-install-package": { @@ -7952,7 +9984,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -7961,10 +9993,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "nth-check": { @@ -7973,7 +10005,7 @@ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "dev": true, "requires": { - "boolbase": "~1.0.0" + "boolbase": "1.0.0" } }, "null-check": { @@ -8011,9 +10043,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -8022,7 +10054,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -8031,7 +10063,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8060,7 +10092,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.assign": { @@ -8069,10 +10101,10 @@ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.0.12" } }, "object.entries": { @@ -8081,10 +10113,31 @@ "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.6.1", - "function-bind": "^1.1.0", - "has": "^1.0.1" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has": "1.0.3" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + } } }, "object.pick": { @@ -8093,7 +10146,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "object.values": { @@ -8102,10 +10155,10 @@ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.6.1", - "function-bind": "^1.1.0", - "has": "^1.0.1" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has": "1.0.3" } }, "obuf": { @@ -8135,7 +10188,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -8144,13 +10197,13 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opener": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", - "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", "dev": true }, "opn": { @@ -8159,7 +10212,7 @@ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "is-wsl": "^1.1.0" + "is-wsl": "1.1.0" } }, "optimist": { @@ -8168,8 +10221,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "optionator": { @@ -8178,12 +10231,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -8200,7 +10253,7 @@ "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, "requires": { - "url-parse": "^1.4.3" + "url-parse": "1.4.3" } }, "os-browserify": { @@ -8221,9 +10274,15 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -8236,8 +10295,23 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true + }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "1.0.0" } }, "p-finally": { @@ -8246,13 +10320,25 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-lazy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", + "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=", + "dev": true + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -8261,7 +10347,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-map": { @@ -8270,6 +10356,21 @@ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -8283,14 +10384,14 @@ "dev": true, "optional": true, "requires": { - "agent-base": "^4.2.0", - "debug": "^3.1.0", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "pac-resolver": "^3.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "^3.0.0" + "agent-base": "4.2.1", + "debug": "3.1.0", + "get-uri": "2.0.2", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "pac-resolver": "3.0.0", + "raw-body": "2.3.3", + "socks-proxy-agent": "3.0.1" }, "dependencies": { "bytes": { @@ -8330,8 +10431,8 @@ "dev": true, "optional": true, "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" + "agent-base": "4.2.1", + "socks": "1.1.10" } } } @@ -8343,11 +10444,11 @@ "dev": true, "optional": true, "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", - "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" + "co": "4.6.0", + "degenerator": "1.0.4", + "ip": "1.1.5", + "netmask": "1.0.6", + "thunkify": "2.1.2" } }, "pako": { @@ -8362,22 +10463,61 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } } }, - "parse-asn1": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" } }, "parse-passwd": { @@ -8392,7 +10532,7 @@ "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "*" + "@types/node": "9.6.7" } }, "parseqs": { @@ -8401,7 +10541,7 @@ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { - "better-assert": "~1.0.0" + "better-assert": "1.0.2" } }, "parseuri": { @@ -8410,7 +10550,7 @@ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { - "better-assert": "~1.0.0" + "better-assert": "1.0.2" } }, "parseurl": { @@ -8474,7 +10614,7 @@ "dev": true, "optional": true, "requires": { - "inflection": "~1.3.0" + "inflection": "1.3.8" }, "dependencies": { "inflection": { @@ -8498,7 +10638,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "pbkdf2": { @@ -8507,11 +10647,11 @@ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "pend": { @@ -8544,7 +10684,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -8553,7 +10693,53 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" + } + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + } } }, "portfinder": { @@ -8562,9 +10748,9 @@ "integrity": "sha512-icBXCFQxzlK2PMepOM0QeEdPPFSLAaXXeuKOv5AClJlMy1oVCBrkDGJ12IZYesI/BF8mpeVco3vRCmgeBb4+hw==", "dev": true, "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" }, "dependencies": { "async": { @@ -8587,9 +10773,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" }, "dependencies": { "ansi-styles": { @@ -8598,7 +10784,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8607,9 +10793,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "source-map": { @@ -8619,12 +10805,12 @@ "dev": true }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -8635,7 +10821,7 @@ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.23" } }, "postcss-modules-local-by-default": { @@ -8644,8 +10830,8 @@ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.23" } }, "postcss-modules-scope": { @@ -8654,8 +10840,8 @@ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.23" } }, "postcss-modules-values": { @@ -8664,8 +10850,8 @@ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.23" } }, "postcss-value-parser": { @@ -8674,6 +10860,39 @@ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", "dev": true }, + "pre-commit": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", + "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "spawn-sync": "1.0.15", + "which": "1.2.14" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.2.14" + } + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + } + } + }, "prebuild-install": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.3.tgz", @@ -8681,21 +10900,21 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^1.0.2", + "detect-libc": "1.0.3", + "expand-template": "1.1.1", "github-from-package": "0.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "node-abi": "^2.2.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "os-homedir": "^1.0.1", - "pump": "^2.0.1", - "rc": "^1.1.6", - "simple-get": "^2.7.0", - "tar-fs": "^1.13.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-abi": "2.4.3", + "noop-logger": "0.1.1", + "npmlog": "4.1.2", + "os-homedir": "1.0.2", + "pump": "2.0.1", + "rc": "1.2.8", + "simple-get": "2.8.1", + "tar-fs": "1.16.3", + "tunnel-agent": "0.6.0", + "which-pm-runs": "1.0.0" }, "dependencies": { "detect-libc": { @@ -8720,12 +10939,36 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.2.tgz", + "integrity": "sha512-McHPg0n1pIke+A/4VcaS2en+pTNjy4xF+Uuq86u/5dyDO59/TtFZtQ708QIRkEZ3qwKz3GVkVa6mpxK/CpB8Rg==", + "dev": true + }, "pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", "dev": true }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -8750,7 +10993,7 @@ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dev": true, "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "promise-inflight": { @@ -8766,7 +11009,7 @@ "dev": true, "optional": true, "requires": { - "with-callback": "^1.0.2" + "with-callback": "1.0.2" } }, "prop-types": { @@ -8774,8 +11017,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "proxy-addr": { @@ -8784,7 +11027,7 @@ "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "dev": true, "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.8.0" } }, @@ -8795,14 +11038,14 @@ "dev": true, "optional": true, "requires": { - "agent-base": "^4.2.0", - "debug": "^3.1.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "lru-cache": "^4.1.2", - "pac-proxy-agent": "^2.0.1", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^4.0.1" + "agent-base": "4.2.1", + "debug": "3.1.0", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "pac-proxy-agent": "2.0.2", + "proxy-from-env": "1.0.0", + "socks-proxy-agent": "4.0.1" }, "dependencies": { "debug": { @@ -8842,11 +11085,11 @@ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" } }, "pump": { @@ -8855,8 +11098,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -8865,9 +11108,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -8894,6 +11137,17 @@ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -8918,7 +11172,7 @@ "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "dev": true, "requires": { - "performance-now": "^2.1.0" + "performance-now": "2.1.0" } }, "railroad-diagrams": { @@ -8934,7 +11188,26 @@ "dev": true, "requires": { "discontinuous-range": "1.0.0", - "ret": "~0.1.10" + "ret": "0.1.15" + } + }, + "randomatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", + "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "dev": true, + "requires": { + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" + }, + "dependencies": { + "is-number": { + "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 + } } }, "randombytes": { @@ -8943,7 +11216,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.2" } }, "randomfill": { @@ -8952,8 +11225,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "range-parser": { @@ -8968,8 +11241,8 @@ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "dev": true, "requires": { - "bytes": "1", - "string_decoder": "0.10" + "bytes": "1.0.0", + "string_decoder": "0.10.31" }, "dependencies": { "string_decoder": { @@ -8993,10 +11266,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -9014,10 +11287,10 @@ "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2" } }, "react-dom": { @@ -9026,10 +11299,10 @@ "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2" } }, "react-fastclick": { @@ -9042,7 +11315,7 @@ "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", "requires": { - "prop-types": "^15.5.8" + "prop-types": "15.6.2" } }, "react-is": { @@ -9057,10 +11330,10 @@ "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2" } }, "react-select": { @@ -9068,9 +11341,9 @@ "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz", "integrity": "sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==", "requires": { - "classnames": "^2.2.4", - "prop-types": "^15.5.8", - "react-input-autosize": "^2.1.2" + "classnames": "2.2.6", + "prop-types": "15.6.2", + "react-input-autosize": "2.2.1" } }, "react-test-renderer": { @@ -9079,10 +11352,20 @@ "integrity": "sha512-vdTPnRMDbxfv4wL4lzN4EkVGXyYs7LE2uImOsqh1FKiP6L5o1oJl8nore5sFi9vxrP9PK3l4rgb/fZ4PVUaWSA==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0", - "react-is": "^16.4.2" + "fbjs": "0.8.17", + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "react-is": "16.4.2" + } + }, + "read-chunk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", + "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", + "dev": true, + "requires": { + "pify": "3.0.0", + "safe-buffer": "5.1.2" } }, "read-pkg": { @@ -9091,9 +11374,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" }, "dependencies": { "path-type": { @@ -9102,9 +11385,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -9121,8 +11404,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -9131,8 +11414,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -9141,7 +11424,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } } } @@ -9152,13 +11435,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -9167,10 +11450,39 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + } + }, + "recast": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.5.tgz", + "integrity": "sha512-nkAYNqarh73cMWRKFiPQ8I9dOLFvFk6SnG8u/LUlOYfArDOD/EjsVRAs860TlBLrpxqAXHGET/AUAVjdEymL5w==", + "dev": true, + "requires": { + "ast-types": "0.11.5", + "esprima": "4.0.1", + "private": "0.1.8", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.1.7" } }, "redent": { @@ -9179,8 +11491,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, "redis": { @@ -9190,9 +11502,9 @@ "dev": true, "optional": true, "requires": { - "double-ended-queue": "^2.1.0-0", - "redis-commands": "^1.2.0", - "redis-parser": "^2.6.0" + "double-ended-queue": "2.1.0-0", + "redis-commands": "1.3.5", + "redis-parser": "2.6.0" } }, "redis-commands": { @@ -9221,14 +11533,34 @@ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, "regex-not": { "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": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -9237,9 +11569,9 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "regjsgen": { @@ -9254,7 +11586,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { @@ -9266,16 +11598,16 @@ } }, "remap-istanbul": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.9.6.tgz", - "integrity": "sha512-l0WDBsVjaTzP8m3glERJO6bjlAFUahcgfcgvcX+owZw7dKeDLT3CVRpS7UO4L9LfGcMiNsqk223HopwVxlh8Hg==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.11.1.tgz", + "integrity": "sha512-Itv3XvYjD6G+9xDzAeFohx4GUwbFjfqFt0UXlC826jHR18E49fEiEGqZUxUASwMq4z7wwUv2H9/XF2d6qj0iaQ==", "dev": true, "requires": { - "amdefine": "^1.0.0", - "gulp-util": "3.0.7", + "amdefine": "1.0.1", "istanbul": "0.4.5", - "minimatch": "^3.0.3", - "source-map": "^0.6.1", + "minimatch": "3.0.4", + "plugin-error": "0.1.2", + "source-map": "0.6.1", "through2": "2.0.1" }, "dependencies": { @@ -9287,16 +11619,16 @@ }, "readable-stream": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" } }, "source-map": { @@ -9317,8 +11649,8 @@ "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", "dev": true, "requires": { - "readable-stream": "~2.0.0", - "xtend": "~4.0.0" + "readable-stream": "2.0.6", + "xtend": "4.0.1" } } } @@ -9347,7 +11679,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "replace-ext": { @@ -9362,28 +11694,28 @@ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" + "aws-sign2": "0.6.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "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.19", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" }, "dependencies": { "performance-now": { @@ -9401,10 +11733,10 @@ "dev": true, "optional": true, "requires": { - "extend": "^3.0.0", - "lodash": "^4.15.0", - "request": "^2.74.0", - "when": "^3.7.7" + "extend": "3.0.2", + "lodash": "4.17.5", + "request": "2.81.0", + "when": "3.7.8" } }, "require-directory": { @@ -9437,7 +11769,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-dir": { @@ -9446,8 +11778,8 @@ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" } }, "resolve-from": { @@ -9462,14 +11794,23 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "1.0.1" + } + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -9491,7 +11832,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -9500,7 +11841,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "ripemd160": { @@ -9509,8 +11850,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "rst-selector-parser": { @@ -9519,8 +11860,8 @@ "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", "dev": true, "requires": { - "lodash.flattendeep": "^4.4.0", - "nearley": "^2.7.10" + "lodash.flattendeep": "4.4.0", + "nearley": "2.15.0" } }, "run-async": { @@ -9529,7 +11870,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "run-queue": { @@ -9538,7 +11879,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "^1.1.1" + "aproba": "1.2.0" } }, "rx-lite": { @@ -9553,7 +11894,16 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" + } + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" } }, "safe-buffer": { @@ -9574,7 +11924,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -9589,10 +11939,10 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" + "glob": "7.1.2", + "lodash": "4.17.5", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" }, "dependencies": { "camelcase": { @@ -9607,9 +11957,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "y18n": { @@ -9624,19 +11974,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" } } } @@ -9647,12 +11997,12 @@ "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", "dev": true, "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0", - "semver": "^5.5.0" + "clone-deep": "2.0.2", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "neo-async": "2.5.1", + "pify": "3.0.0", + "semver": "5.5.0" } }, "sax": { @@ -9667,18 +12017,24 @@ "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.5.2", + "ajv-keywords": "3.2.0" } }, + "scoped-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", + "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=", + "dev": true + }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" + "js-base64": "2.4.8", + "source-map": "0.4.4" }, "dependencies": { "source-map": { @@ -9687,7 +12043,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -9704,19 +12060,19 @@ "integrity": "sha512-2VXqkcpd+RNJZwCp8UMmqubeSkLvscraRZtg2qdkXwoNNmx5Hu6uaOBy45VJNG6PiUJNZtBZQpnOUfNN2aD1EA==", "dev": true, "requires": { - "async": "^2.1.4", - "commander": "^2.9.0", - "cross-spawn": "^6.0.0", - "debug": "^3.0.0", - "lodash": "^4.17.4", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", + "async": "2.6.1", + "commander": "2.17.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "lodash": "4.17.5", + "minimist": "1.2.0", + "mkdirp": "0.5.1", "progress": "2.0.0", "request": "2.87.0", "tar-stream": "1.6.1", - "urijs": "^1.18.4", - "which": "^1.2.12", - "yauzl": "^2.5.0" + "urijs": "1.19.1", + "which": "1.3.1", + "yauzl": "2.10.0" }, "dependencies": { "ajv": { @@ -9725,10 +12081,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "assert-plus": { @@ -9749,11 +12105,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "debug": { @@ -9777,9 +12133,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.19" } }, "har-schema": { @@ -9794,8 +12150,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "http-signature": { @@ -9804,9 +12160,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "json-schema-traverse": { @@ -9833,26 +12189,26 @@ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "~0.7.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.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.19", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } } } @@ -9879,18 +12235,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "mime": { @@ -9919,13 +12275,13 @@ "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", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.19", + "parseurl": "1.3.2" } }, "serve-static": { @@ -9934,9 +12290,9 @@ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -9946,7 +12302,7 @@ "integrity": "sha512-VgDEkZ3pA0HajsRaWtl5w6bLxAXx0Y+4dm7YeTcIxVmvC9YXvstex38HOBDuYETeDS5fUlBy/47gC0QYBrG0nw==", "dev": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "set-blocking": { @@ -9967,10 +12323,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -9979,7 +12335,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10002,8 +12358,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "shallow-clone": { @@ -10012,9 +12368,9 @@ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" }, "dependencies": { "kind-of": { @@ -10031,7 +12387,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -10040,6 +12396,17 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shelljs": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", + "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -10060,9 +12427,9 @@ "dev": true, "optional": true, "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "decompress-response": "3.3.0", + "once": "1.4.0", + "simple-concat": "1.0.0" } }, "slack-node": { @@ -10072,7 +12439,7 @@ "dev": true, "optional": true, "requires": { - "requestretry": "^1.2.2" + "requestretry": "1.13.0" } }, "slash": { @@ -10081,6 +12448,18 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, "smart-buffer": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", @@ -10104,14 +12483,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "define-property": { @@ -10120,7 +12499,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -10129,7 +12508,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10140,9 +12519,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -10151,7 +12530,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -10160,7 +12539,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -10169,7 +12548,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -10178,9 +12557,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -10191,7 +12570,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -10200,7 +12579,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10211,7 +12590,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "socket.io": { @@ -10220,11 +12599,11 @@ "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", "dev": true, "requires": { - "debug": "~2.6.6", - "engine.io": "~3.1.0", - "socket.io-adapter": "~1.1.0", + "debug": "2.6.9", + "engine.io": "3.1.5", + "socket.io-adapter": "1.1.1", "socket.io-client": "2.0.4", - "socket.io-parser": "~3.1.1" + "socket.io-parser": "3.1.3" } }, "socket.io-adapter": { @@ -10243,14 +12622,14 @@ "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", + "debug": "2.6.9", + "engine.io-client": "3.1.6", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", + "socket.io-parser": "3.1.3", "to-array": "0.1.4" } }, @@ -10261,8 +12640,8 @@ "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "~3.1.0", - "has-binary2": "~1.0.2", + "debug": "3.1.0", + "has-binary2": "1.0.3", "isarray": "2.0.1" }, "dependencies": { @@ -10289,8 +12668,8 @@ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "faye-websocket": "0.10.0", + "uuid": "3.3.2" } }, "sockjs-client": { @@ -10299,12 +12678,12 @@ "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", "dev": true, "requires": { - "debug": "^2.6.6", + "debug": "2.6.9", "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.4.3" }, "dependencies": { "faye-websocket": { @@ -10313,7 +12692,7 @@ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } } } @@ -10325,8 +12704,8 @@ "dev": true, "optional": true, "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" + "ip": "1.1.5", + "smart-buffer": "1.1.15" } }, "socks-proxy-agent": { @@ -10336,8 +12715,8 @@ "dev": true, "optional": true, "requires": { - "agent-base": "~4.2.0", - "socks": "~2.2.0" + "agent-base": "4.2.1", + "socks": "2.2.1" }, "dependencies": { "smart-buffer": { @@ -10354,12 +12733,21 @@ "dev": true, "optional": true, "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.0.1" + "ip": "1.1.5", + "smart-buffer": "4.0.1" } } } }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -10378,9 +12766,9 @@ "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", "dev": true, "requires": { - "async": "^2.5.0", - "loader-utils": "~0.2.2", - "source-map": "~0.6.1" + "async": "2.6.1", + "loader-utils": "0.2.17", + "source-map": "0.6.1" }, "dependencies": { "loader-utils": { @@ -10389,10 +12777,10 @@ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" } }, "source-map": { @@ -10409,11 +12797,20 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" } }, "source-map-url": { @@ -10428,14 +12825,24 @@ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "dev": true }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "os-shim": "0.1.3" + } + }, "spdx-correct": { "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-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -10450,8 +12857,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -10466,12 +12873,12 @@ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "dev": true, "requires": { - "debug": "^2.6.8", - "handle-thing": "^1.2.5", - "http-deceiver": "^1.2.7", - "safe-buffer": "^5.0.1", - "select-hose": "^2.0.0", - "spdy-transport": "^2.0.18" + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.2", + "select-hose": "2.0.0", + "spdy-transport": "2.1.0" } }, "spdy-transport": { @@ -10480,13 +12887,13 @@ "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", "dev": true, "requires": { - "debug": "^2.6.8", - "detect-node": "^2.0.3", - "hpack.js": "^2.1.6", - "obuf": "^1.1.1", - "readable-stream": "^2.2.9", - "safe-buffer": "^5.0.1", - "wbuf": "^1.7.2" + "debug": "2.6.9", + "detect-node": "2.0.3", + "hpack.js": "2.1.6", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2", + "wbuf": "1.7.3" } }, "split-string": { @@ -10495,7 +12902,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -10510,15 +12917,15 @@ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" }, "dependencies": { "assert-plus": { @@ -10535,7 +12942,7 @@ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "static-extend": { @@ -10544,8 +12951,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -10554,7 +12961,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -10571,7 +12978,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" } }, "stream-browserify": { @@ -10580,8 +12987,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "stream-buffers": { @@ -10596,8 +13003,8 @@ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" } }, "stream-http": { @@ -10606,11 +13013,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "stream-shift": { @@ -10625,10 +13032,10 @@ "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "requires": { - "date-format": "^1.2.0", - "debug": "^3.1.0", - "mkdirp": "^0.5.1", - "readable-stream": "^2.3.0" + "date-format": "1.2.0", + "debug": "3.1.0", + "mkdirp": "0.5.1", + "readable-stream": "2.3.6" }, "dependencies": { "debug": { @@ -10642,6 +13049,12 @@ } } }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -10654,9 +13067,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -10665,7 +13078,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "stringstream": { @@ -10680,7 +13093,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -10689,7 +13102,17 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" + } + }, + "strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", + "dev": true, + "requires": { + "first-chunk-stream": "2.0.0", + "strip-bom": "2.0.0" } }, "strip-eof": { @@ -10704,7 +13127,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -10720,8 +13143,8 @@ "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5" + "loader-utils": "1.1.0", + "schema-utils": "0.4.7" } }, "supports-color": { @@ -10730,6 +13153,12 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, "tapable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", @@ -10742,9 +13171,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" } }, "tar-fs": { @@ -10754,10 +13183,10 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" + "chownr": "1.0.1", + "mkdirp": "0.5.1", + "pump": "1.0.3", + "tar-stream": "1.6.1" }, "dependencies": { "pump": { @@ -10767,8 +13196,8 @@ "dev": true, "optional": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } } } @@ -10779,15 +13208,45 @@ "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.1.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.0", - "xtend": "^4.0.0" + "bl": "1.2.2", + "buffer-alloc": "1.2.0", + "end-of-stream": "1.4.1", + "fs-constants": "1.0.0", + "readable-stream": "2.3.6", + "to-buffer": "1.1.1", + "xtend": "4.0.1" + } + }, + "temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" + }, + "dependencies": { + "rimraf": { + "version": "2.2.8", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + } } }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "textextensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", + "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -10800,8 +13259,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "thunkify": { @@ -10823,13 +13282,19 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "^1.0.4" + "setimmediate": "1.0.5" } }, "timespan": { @@ -10845,12 +13310,12 @@ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, "requires": { - "body": "^5.1.0", - "debug": "^3.1.0", - "faye-websocket": "~0.10.0", - "livereload-js": "^2.3.0", - "object-assign": "^4.1.0", - "qs": "^6.4.0" + "body": "5.1.0", + "debug": "3.1.0", + "faye-websocket": "0.10.0", + "livereload-js": "2.3.0", + "object-assign": "4.1.1", + "qs": "6.4.0" }, "dependencies": { "debug": { @@ -10870,7 +13335,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-array": { @@ -10891,13 +13356,19 @@ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "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.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -10906,7 +13377,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10917,10 +13388,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -10929,8 +13400,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -10939,7 +13410,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" }, "dependencies": { "punycode": { @@ -10956,13 +13427,19 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, "true-case-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", "dev": true, "requires": { - "glob": "^6.0.4" + "glob": "6.0.4" }, "dependencies": { "glob": { @@ -10971,11 +13448,11 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -10992,11 +13469,11 @@ "integrity": "sha512-Z3Y1a7A0KZZ1s/mAZkt74l1NAF7Y5xUhD1V9VB8/1eUlUOk8Qa/oo46tO2Uu5kQ3wXypOlbv77lLQySjXEDcdw==", "dev": true, "requires": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.0.2", - "micromatch": "^3.1.4", - "semver": "^5.0.1" + "chalk": "2.4.1", + "enhanced-resolve": "4.1.0", + "loader-utils": "1.1.0", + "micromatch": "3.1.10", + "semver": "5.5.0" }, "dependencies": { "ansi-styles": { @@ -11005,7 +13482,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -11014,9 +13491,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -11025,7 +13502,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -11042,18 +13519,18 @@ "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", "dev": true, "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.27.2" + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.1", + "commander": "2.17.1", + "diff": "3.5.0", + "glob": "7.1.2", + "js-yaml": "3.12.0", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0", + "tslib": "1.9.3", + "tsutils": "2.29.0" }, "dependencies": { "ansi-styles": { @@ -11062,7 +13539,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -11071,9 +13548,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "resolve": { @@ -11082,7 +13559,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } }, "supports-color": { @@ -11091,7 +13568,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -11119,7 +13596,7 @@ "integrity": "sha1-AWAXNymzvxOGKN0UoVN+AIUdgUo=", "dev": true, "requires": { - "tslib": "^1.7.1" + "tslib": "1.9.0" } } } @@ -11137,7 +13614,7 @@ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { - "tslib": "^1.8.1" + "tslib": "1.9.3" } }, "tty-browserify": { @@ -11152,7 +13629,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -11168,7 +13645,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-is": { @@ -11178,7 +13655,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "2.1.19" } }, "typedarray": { @@ -11206,9 +13683,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" } }, "uglify-to-browserify": { @@ -11224,14 +13701,14 @@ "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==", "dev": true, "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.7", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.1.0", + "worker-farm": "1.6.0" }, "dependencies": { "commander": { @@ -11252,8 +13729,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "commander": "2.13.0", + "source-map": "0.6.1" } } } @@ -11276,8 +13753,8 @@ "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=", "dev": true, "requires": { - "sprintf-js": "^1.0.3", - "util-deprecate": "^1.0.2" + "sprintf-js": "1.0.3", + "util-deprecate": "1.0.2" } }, "union-value": { @@ -11286,10 +13763,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -11298,7 +13775,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -11307,10 +13784,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -11321,7 +13798,7 @@ "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "^2.0.0" + "unique-slug": "2.0.0" } }, "unique-slug": { @@ -11330,7 +13807,7 @@ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "imurmurhash": "^0.1.4" + "imurmurhash": "0.1.4" } }, "unpipe": { @@ -11345,8 +13822,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -11355,9 +13832,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -11385,7 +13862,7 @@ "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", "dev": true, "requires": { - "os-homedir": "^1.0.0" + "os-homedir": "1.0.2" } }, "upath": { @@ -11400,7 +13877,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "urijs": { @@ -11445,10 +13922,25 @@ "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", "dev": true, "requires": { - "querystringify": "^2.0.0", - "requires-port": "^1.0.0" + "querystringify": "2.0.0", + "requires-port": "1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "2.0.0" } }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -11461,8 +13953,8 @@ "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", "dev": true, "requires": { - "lru-cache": "2.2.x", - "tmp": "0.0.x" + "lru-cache": "2.2.4", + "tmp": "0.0.33" }, "dependencies": { "lru-cache": { @@ -11507,14 +13999,20 @@ "dev": true, "optional": true }, + "v8-compile-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", + "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "vary": { @@ -11529,9 +14027,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" }, "dependencies": { "assert-plus": { @@ -11548,11 +14046,44 @@ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "dev": true, "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", + "clone": "1.0.4", + "clone-stats": "0.0.1", "replace-ext": "0.0.1" } }, + "vinyl-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", + "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0", + "strip-bom-stream": "2.0.0", + "vinyl": "1.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -11580,9 +14111,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" } }, "wbuf": { @@ -11591,7 +14122,7 @@ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "1.0.1" } }, "wdio-dot-reporter": { @@ -11607,8 +14138,26 @@ "dev": true, "requires": { "babel-runtime": "6.26.0", - "jasmine": "^3.0.0", + "jasmine": "3.2.0", "wdio-sync": "0.7.1" + }, + "dependencies": { + "jasmine": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.2.0.tgz", + "integrity": "sha512-qv6TZ32r+slrQz8fbx2EhGbD9zlJo3NwPrpLK1nE8inILtZO9Fap52pyHk7mNTh4tG50a+1+tOiWVT3jO5I0Sg==", + "dev": true, + "requires": { + "glob": "7.1.2", + "jasmine-core": "3.2.1" + } + }, + "jasmine-core": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.2.1.tgz", + "integrity": "sha512-pa9tbBWgU0EE4SWgc85T4sa886ufuQdsgruQANhECYjwqgV4z7Vw/499aCaP8ZH79JDS4vhm8doDG9HO4+e4sA==", + "dev": true + } } }, "wdio-selenium-standalone-service": { @@ -11617,8 +14166,8 @@ "integrity": "sha512-PnpY6r8DcMwU2ZVk5y1d8vKhqOq6bXJILy/g5O5ncMpFaxIZcLkFA1u/11XBJwgzWXgUAXPPnIchkb+/t1dbXA==", "dev": true, "requires": { - "fs-extra": "^0.30.0", - "selenium-standalone": "^6.13.0" + "fs-extra": "0.30.0", + "selenium-standalone": "6.15.1" }, "dependencies": { "fs-extra": { @@ -11627,11 +14176,11 @@ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" } } } @@ -11642,9 +14191,9 @@ "integrity": "sha512-MqvgTow8hFwhFT47q67JwyJyeynKodGRQCxF7ijKPGfsaG1NLssbXYc0JhiL7SiAyxnQxII0UxzTCd3I6sEdkg==", "dev": true, "requires": { - "babel-runtime": "~6.26.0", - "chalk": "^2.3.0", - "humanize-duration": "~3.15.0" + "babel-runtime": "6.26.0", + "chalk": "2.4.1", + "humanize-duration": "3.15.1" }, "dependencies": { "ansi-styles": { @@ -11653,7 +14202,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -11662,9 +14211,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -11673,7 +14222,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -11685,8 +14234,8 @@ "dev": true, "requires": { "babel-runtime": "6.26.0", - "fibers": "~2.0.0", - "object.assign": "^4.0.3" + "fibers": "2.0.2", + "object.assign": "4.1.0" } }, "webdriverio": { @@ -11695,27 +14244,27 @@ "integrity": "sha1-Yk70ylafPJpejpsRMCtEMe2h+4o=", "dev": true, "requires": { - "archiver": "~2.1.0", - "babel-runtime": "^6.26.0", - "css-parse": "^2.0.0", - "css-value": "~0.0.1", - "deepmerge": "~2.0.1", - "ejs": "~2.5.6", - "gaze": "~1.1.2", - "glob": "~7.1.1", - "inquirer": "~3.3.0", - "json-stringify-safe": "~5.0.1", - "mkdirp": "~0.5.1", - "npm-install-package": "~2.1.0", - "optimist": "~0.6.1", - "q": "~1.5.0", - "request": "^2.83.0", - "rgb2hex": "~0.1.4", - "safe-buffer": "~5.1.1", - "supports-color": "~5.0.0", - "url": "~0.11.0", - "wdio-dot-reporter": "~0.0.8", - "wgxpath": "~1.0.0" + "archiver": "2.1.1", + "babel-runtime": "6.26.0", + "css-parse": "2.0.0", + "css-value": "0.0.1", + "deepmerge": "2.0.1", + "ejs": "2.5.9", + "gaze": "1.1.3", + "glob": "7.1.2", + "inquirer": "3.3.0", + "json-stringify-safe": "5.0.1", + "mkdirp": "0.5.1", + "npm-install-package": "2.1.0", + "optimist": "0.6.1", + "q": "1.5.1", + "request": "2.87.0", + "rgb2hex": "0.1.9", + "safe-buffer": "5.1.2", + "supports-color": "5.0.1", + "url": "0.11.0", + "wdio-dot-reporter": "0.0.9", + "wgxpath": "1.0.0" }, "dependencies": { "ajv": { @@ -11724,10 +14273,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "archiver": { @@ -11736,14 +14285,14 @@ "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", "dev": true, "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" + "archiver-utils": "1.3.0", + "async": "2.6.1", + "buffer-crc32": "0.2.13", + "glob": "7.1.2", + "lodash": "4.17.5", + "readable-stream": "2.3.6", + "tar-stream": "1.6.1", + "zip-stream": "1.2.0" } }, "assert-plus": { @@ -11770,9 +14319,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.19" } }, "har-schema": { @@ -11787,8 +14336,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has-flag": { @@ -11803,9 +14352,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "json-schema-traverse": { @@ -11826,129 +14375,573 @@ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "~0.7.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.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.19", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "supports-color": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", + "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "webpack": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", + "integrity": "sha512-i5cHYHonzSc1zBuwB5MSzW4v9cScZFbprkHK8ZgzPDCRkQXGGpYzPmJhbus5bOrZ0tXTcQp+xyImRSvKb0b+Kw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.13", + "@webassemblyjs/helper-module-context": "1.5.13", + "@webassemblyjs/wasm-edit": "1.5.13", + "@webassemblyjs/wasm-opt": "1.5.13", + "@webassemblyjs/wasm-parser": "1.5.13", + "acorn": "5.7.1", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "chrome-trace-event": "1.0.0", + "enhanced-resolve": "4.1.0", + "eslint-scope": "4.0.0", + "json-parse-better-errors": "1.0.2", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.1", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.7", + "tapable": "1.0.0", + "uglifyjs-webpack-plugin": "1.2.7", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0" + } + }, + "webpack-addons": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", + "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", + "dev": true, + "requires": { + "jscodeshift": "0.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "ast-types": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", + "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "chalk": { + "version": "0.4.0", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" + } + }, + "colors": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", + "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "jscodeshift": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", + "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", + "dev": true, + "requires": { + "async": "1.5.2", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-1": "6.24.1", + "babel-register": "6.26.0", + "babylon": "6.18.0", + "colors": "1.3.2", + "flow-parser": "0.81.0", + "lodash": "4.17.5", + "micromatch": "2.3.11", + "node-dir": "0.1.8", + "nomnom": "1.8.1", + "recast": "0.12.9", + "temp": "0.8.3", + "write-file-atomic": "1.3.4" + } + }, + "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" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "0.4.0", + "underscore": "1.6.0" + } + }, + "recast": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", + "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", + "dev": true, + "requires": { + "ast-types": "0.10.1", + "core-js": "2.5.7", + "esprima": "4.0.1", + "private": "0.1.8", + "source-map": "0.6.1" + } + }, + "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 + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "webpack-bundle-analyzer": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", + "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", + "dev": true, + "requires": { + "acorn": "5.7.1", + "bfj-node4": "5.3.1", + "chalk": "2.4.1", + "commander": "2.17.1", + "ejs": "2.5.9", + "express": "4.16.3", + "filesize": "3.6.1", + "gzip-size": "4.1.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "opener": "1.5.1", + "ws": "4.1.0" + }, + "dependencies": { + "ansi-styles": { + "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.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2" + } + } + } + }, + "webpack-cli": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.5.tgz", + "integrity": "sha512-CiWQR+1JS77rmyiO6y1q8Kt/O+e8nUUC9YfJ25JtSmzDwbqJV7vIsh3+QKRHVTbTCa0DaVh8iY1LBiagUIDB3g==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "diff": "3.5.0", + "enhanced-resolve": "4.1.0", + "envinfo": "5.10.0", + "glob-all": "3.1.0", + "global-modules": "1.0.0", + "got": "8.3.2", + "import-local": "1.0.0", + "inquirer": "5.2.0", + "interpret": "1.1.0", + "jscodeshift": "0.5.1", + "listr": "0.14.2", + "loader-utils": "1.1.0", + "lodash": "4.17.11", + "log-symbols": "2.2.0", + "mkdirp": "0.5.1", + "p-each-series": "1.0.0", + "p-lazy": "1.0.0", + "prettier": "1.14.2", + "supports-color": "5.5.0", + "v8-compile-cache": "2.0.2", + "webpack-addons": "1.1.5", + "yargs": "11.1.0", + "yeoman-environment": "2.3.3", + "yeoman-generator": "2.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "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.2" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "inquirer": { + "version": "5.2.0", + "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.11", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "5.5.12", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, - "supports-color": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", - "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "has-flag": "^2.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } - } - } - }, - "webpack": { - "version": "4.16.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", - "integrity": "sha512-i5cHYHonzSc1zBuwB5MSzW4v9cScZFbprkHK8ZgzPDCRkQXGGpYzPmJhbus5bOrZ0tXTcQp+xyImRSvKb0b+Kw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/wasm-edit": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.0.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.0.1" - } - }, - "webpack-bundle-analyzer": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", - "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", - "dev": true, - "requires": { - "acorn": "^5.3.0", - "bfj-node4": "^5.2.0", - "chalk": "^2.3.0", - "commander": "^2.13.0", - "ejs": "^2.5.7", - "express": "^4.16.2", - "filesize": "^3.5.11", - "gzip-size": "^4.1.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "opener": "^1.4.3", - "ws": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "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==", + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "color-convert": "^1.9.0" + "ansi-regex": "3.0.0" } }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "has-flag": "3.0.0" } }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } }, - "ws": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", - "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0" + "camelcase": "4.1.0" } } } @@ -11959,13 +14952,13 @@ "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", "dev": true, "requires": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^2.0.2", - "webpack-log": "^1.0.1" + "loud-rejection": "1.6.0", + "memory-fs": "0.4.1", + "mime": "2.3.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "url-join": "2.0.5", + "webpack-log": "1.2.0" }, "dependencies": { "mime": { @@ -11983,32 +14976,32 @@ "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "~0.18.0", - "import-local": "^1.0.0", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "2.0.4", + "compression": "1.7.3", + "connect-history-api-fallback": "1.5.0", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.3", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.18.0", + "import-local": "1.0.0", "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.7.2", + "ip": "1.1.5", + "killable": "1.0.0", + "loglevel": "1.6.1", + "opn": "5.3.0", + "portfinder": "1.0.16", + "selfsigned": "1.10.3", + "serve-index": "1.9.1", "sockjs": "0.3.19", "sockjs-client": "1.1.5", - "spdy": "^3.4.1", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "5.4.0", "webpack-dev-middleware": "3.1.3", - "webpack-log": "^1.1.2", + "webpack-log": "1.2.0", "yargs": "11.0.0" }, "dependencies": { @@ -12030,9 +15023,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { "strip-ansi": { @@ -12041,7 +15034,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12073,9 +15066,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "string-width": { @@ -12084,8 +15077,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "strip-ansi": { @@ -12094,7 +15087,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12105,7 +15098,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "url-join": { @@ -12120,13 +15113,13 @@ "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", "dev": true, "requires": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^4.0.0", - "webpack-log": "^1.0.1" + "loud-rejection": "1.6.0", + "memory-fs": "0.4.1", + "mime": "2.3.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "url-join": "4.0.0", + "webpack-log": "1.2.0" } }, "which-module": { @@ -12147,18 +15140,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } }, "yargs-parser": { @@ -12167,7 +15160,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -12178,10 +15171,10 @@ "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" + "chalk": "2.4.1", + "log-symbols": "2.2.0", + "loglevelnext": "1.0.5", + "uuid": "3.3.2" }, "dependencies": { "ansi-styles": { @@ -12190,7 +15183,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -12199,9 +15192,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -12210,7 +15203,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -12221,7 +15214,7 @@ "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", "dev": true, "requires": { - "lodash": "^4.17.5" + "lodash": "4.17.5" } }, "webpack-sources": { @@ -12230,8 +15223,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "source-list-map": "2.0.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -12248,8 +15241,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" + "http-parser-js": "0.4.13", + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { @@ -12289,7 +15282,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12311,7 +15304,7 @@ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "window-size": { @@ -12340,7 +15333,7 @@ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "~0.1.7" + "errno": "0.1.7" } }, "wrap-ansi": { @@ -12349,8 +15342,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -12359,15 +15352,26 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } }, "xml2js": { @@ -12376,8 +15380,8 @@ "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "dev": true, "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "sax": "1.2.4", + "xmlbuilder": "9.0.7" } }, "xmlbuilder": { @@ -12424,9 +15428,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" }, "dependencies": { @@ -12445,7 +15449,7 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" }, "dependencies": { "camelcase": { @@ -12462,8 +15466,8 @@ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "buffer-crc32": "0.2.13", + "fd-slicer": "1.1.0" } }, "yeast": { @@ -12472,16 +15476,361 @@ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true }, + "yeoman-environment": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.3.tgz", + "integrity": "sha512-HBpXdNw8V66EwqIFt01rNhSgX33BOzgVb9CxpIvESvCI4ELeOSniB6gV6RXwrBur8kmHZCIAkYQYpib7Qxx8FQ==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.2.5", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "globby": "8.0.1", + "grouped-queue": "0.3.3", + "inquirer": "6.2.0", + "is-scoped": "1.0.0", + "lodash": "4.17.11", + "log-symbols": "2.2.0", + "mem-fs": "1.1.3", + "strip-ansi": "4.0.0", + "text-table": "0.2.0", + "untildify": "3.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "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.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "dev": true, + "requires": { + "chardet": "0.7.0", + "iconv-lite": "0.4.24", + "tmp": "0.0.33" + } + }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "inquirer": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "3.0.3", + "figures": "2.0.0", + "lodash": "4.17.11", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "6.3.2", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "rxjs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.2.tgz", + "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", + "dev": true, + "requires": { + "tslib": "1.9.3" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "untildify": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", + "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", + "dev": true + } + } + }, + "yeoman-generator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz", + "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", + "dev": true, + "requires": { + "async": "2.6.1", + "chalk": "2.4.1", + "cli-table": "0.3.1", + "cross-spawn": "6.0.5", + "dargs": "5.1.0", + "dateformat": "3.0.3", + "debug": "3.2.5", + "detect-conflict": "1.0.1", + "error": "7.0.2", + "find-up": "2.1.0", + "github-username": "4.1.0", + "istextorbinary": "2.2.1", + "lodash": "4.17.11", + "make-dir": "1.3.0", + "mem-fs-editor": "4.0.3", + "minimist": "1.2.0", + "pretty-bytes": "4.0.2", + "read-chunk": "2.1.0", + "read-pkg-up": "3.0.0", + "rimraf": "2.6.2", + "run-async": "2.3.0", + "shelljs": "0.8.2", + "text-table": "0.2.0", + "through2": "2.0.3", + "yeoman-environment": "2.3.3" + }, + "dependencies": { + "ansi-styles": { + "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.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", "dev": true, "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "archiver-utils": "1.3.0", + "compress-commons": "1.2.2", + "lodash": "4.17.5", + "readable-stream": "2.3.6" } } } diff --git a/package.json b/package.json index 240309e..2f7c90f 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,10 @@ "deployApp": "node ./node_modules/mendix-widget-build-script/dist/DeployMxApp.js", "deployAndTest": "npm run deploy && npm run test:e2e" }, + "pre-commit": [ + "emit", + "lint" + ], "repository": { "type": "git", "url": "https://github.com/mendixlabs/dropdown-type-ahead.git" @@ -63,10 +67,14 @@ "grunt-file-append": "0.0.7", "grunt-newer": "^1.3.0", "grunt-webpack": "^3.1.1", + "istanbul": "^0.4.3", + "remap-istanbul": "^0.11.1", + "istanbul-instrumenter-loader": "^3.0.1", "jasmine": "^3.1.0", - "karma": "^2.0.5", + "karma": "^2.0.3", "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", + "karma-spec-reporter": "0.0.32", "karma-jasmine": "^1.1.2", "karma-jasmine3-html-reporter": "^0.2.3", "karma-remap-istanbul": "^0.6.0", @@ -84,6 +92,7 @@ "style-loader": "^0.21.0", "ts-loader": "^4.4.2", "tslint": "^5.11.0", + "pre-commit": "^1.2.2", "tslint-eslint-rules": "^5.3.1", "typescript": "^2.9.2", "wdio-dot-reporter": "0.0.9", @@ -92,10 +101,11 @@ "wdio-spec-reporter": "^0.1.3", "webdriverio": "^4.10.0", "webpack": "^4.16.5", + "webpack-cli": "^2.1.2", "webpack-bundle-analyzer": "^2.11.3", "webpack-dev-server": "^3.1.5", "webpack-merge": "^4.1.3", - "webworkify-webpack": "^2.1.2" + "webworkify-webpack": "^2.1.3" }, "dependencies": { "@types/react-select": "^1.3.0", diff --git a/src/components/DropdownTypeahead.ts b/src/components/DropdownTypeahead.ts index 7a22cd9..b04b535 100644 --- a/src/components/DropdownTypeahead.ts +++ b/src/components/DropdownTypeahead.ts @@ -11,8 +11,8 @@ import "react-select/dist/react-select.css"; export interface DropdownTypeaheadProps { style?: object; labelWidth: number; - data: ReferenceOption[]; - asyncData: any; + data?: ReferenceOption[]; + asyncData?: any; value: string; label: string; loaded: boolean; @@ -21,9 +21,9 @@ export interface DropdownTypeaheadProps { isClearable: boolean; isReadOnly: boolean; selectType: "normal" | "asynchronous"; - selectedValue: ReferenceOption; + selectedValue: ReferenceOption | null; handleOnchange: (selectedOption: ReferenceOption | any) => void; - className: string; + className?: string; readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; alertMessage: string; diff --git a/src/components/DropdownTypeaheadContainer.ts b/src/components/DropdownTypeaheadContainer.ts index 1a2c2af..a3c1caa 100644 --- a/src/components/DropdownTypeaheadContainer.ts +++ b/src/components/DropdownTypeaheadContainer.ts @@ -143,12 +143,16 @@ export default class DropdownTypeaheadContainer extends Component { + const renderAlert = (props: AlertProps, message: ReactChild) => shallow(createElement(Alert, props, message)); + const alertMessage = "This is an error"; + + it("renders structure correctly", () => { + const alert = renderAlert({}, alertMessage); + + expect(alert).toBeElement( + createElement("div", { className: "alert alert-danger" }, alertMessage) + ); + }); + + it("renders no structure when the alert message is not specified", () => { + const alert = renderAlert({}, ""); + + expect(alert).toBeElement(null); + }); + + it("renders with the specified class", () => { + const alert = renderAlert({ className: "widget-color-picker-alert" }, alertMessage); + + expect(alert).toHaveClass("widget-color-picker-alert"); + }); + + it("with no bootstrap style specified renders with the class alert-danger", () => { + const alert = renderAlert({}, alertMessage); + + expect(alert).toHaveClass("alert-danger"); + }); + + it("renders with the matching class for the specified bootstrap style", () => { + const alert = renderAlert({ bootstrapStyle: "default" }, alertMessage); + + expect(alert).toHaveClass("alert-default"); + + alert.setProps({ bootstrapStyle: "primary" }); + expect(alert).toHaveClass("alert-primary"); + + alert.setProps({ bootstrapStyle: "info" }); + expect(alert).toHaveClass("alert-info"); + + alert.setProps({ bootstrapStyle: "success" }); + expect(alert).toHaveClass("alert-success"); + + alert.setProps({ bootstrapStyle: "warning" }); + expect(alert).toHaveClass("alert-warning"); + + alert.setProps({ bootstrapStyle: "danger" }); + expect(alert).toHaveClass("alert-danger"); + }); +}); diff --git a/src/components/__tests__/DropdownTypeahead.spec.ts b/src/components/__tests__/DropdownTypeahead.spec.ts new file mode 100644 index 0000000..81a0572 --- /dev/null +++ b/src/components/__tests__/DropdownTypeahead.spec.ts @@ -0,0 +1,96 @@ +import { shallow } from "enzyme"; +import { createElement } from "react"; + +import Select from "react-select"; +import { Label } from "../Label"; +import { DropdownTypeahead, DropdownTypeaheadProps } from "../DropdownTypeahead"; +import { Alert } from "../Alert"; + +describe("DropdownTypeahead", () => { + const render = (props: DropdownTypeaheadProps) => shallow(createElement(DropdownTypeahead, props)); + const TypeAheadProps: DropdownTypeaheadProps = { + emptyCaption: "Select city", + labelWidth: 3, + data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], + value: "Kampala", + label: "City", + loaded: false, + showLabel: true, + isClearable: true, + isReadOnly: false, + selectType: "normal", + selectedValue: { value: "Kampala" , label: "kampalaId" } || null, + handleOnchange: jasmine.createSpy("onClick"), + readOnlyStyle: "control", + labelOrientation: "horizontal", + alertMessage: "No text" + }; + + it("renders the structure correctly", () => { + const DropdownTypeAheadComponent = render(TypeAheadProps); + + expect(DropdownTypeAheadComponent).toBeElement( + createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, + createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, + createElement(Select, { + clearable: true, + noResultsText: "No options", + disabled: false, + value: { value: "Kampala" , label: "kampalaId" }, + onChange: jasmine.any(Function) as any, + clearValueText: "", + options: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ] + }), + createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) + ) + ); + }); + + it("with no label caption renders the structure correctly", () => { + const DropdownTypeAheadComponent = render(TypeAheadProps); + + DropdownTypeAheadComponent.setProps({ label: "", showLabel: false }); + expect(DropdownTypeAheadComponent).toBeElement( + createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, + createElement(Select, { + clearable: true, + noResultsText: "No options", + disabled: false, + value: { value: "Kampala" , label: "kampalaId" }, + onChange: jasmine.any(Function) as any, + clearValueText: "", + options: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ] + }), + createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) + ); + }); + + describe("with readOnlyStyle as 'text'", () => { + it("renders with the structure with a selected value", () => { + const DropdownTypeAheadComponent = render(TypeAheadProps); + DropdownTypeAheadComponent.setProps({ readOnlyStyle: "text" }); + + expect(DropdownTypeAheadComponent).toBeElement( + createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, + createElement("p", { className: "form-control-static" }, "kampalaId")) + ); + }); + + it("renders with the structure with a no value", () => { + const DropdownTypeAheadComponent = render(TypeAheadProps); + DropdownTypeAheadComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); + + expect(DropdownTypeAheadComponent).toBeElement( + createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, + createElement("p", { className: "form-control-static" }, "")) + ); + }); + }); + + it("that is still loading renders with the structure", () => { + const DropdownTypeAheadComponent = render(TypeAheadProps); + + DropdownTypeAheadComponent.setProps({ loaded: true }); + expect(DropdownTypeAheadComponent).toBeElement(createElement("div", {})); + }); +}); diff --git a/src/components/__tests__/Label.spec.ts b/src/components/__tests__/Label.spec.ts new file mode 100644 index 0000000..8d7dff3 --- /dev/null +++ b/src/components/__tests__/Label.spec.ts @@ -0,0 +1,53 @@ +import { shallow } from "enzyme"; +import { createElement } from "react"; + +import { Label, LabelProps } from "../Label"; + +describe("Label", () => { + const renderLabel = (props: Partial) => shallow(createElement(Label, props as LabelProps)); + const label = "Label"; + + it("renders the structure correctly", () => { + const labelComponent = renderLabel({ label, orientation: "horizontal" }); + + expect(labelComponent).toBeElement( + createElement("div", { className: "form-group" }, + createElement("label", { className: "control-label col-sm-6" }, label), + createElement("div", { className: `col-sm-6` }) + ) + ); + }); + + it("with orientation as vertical renders with the structure", () => { + const labelComponent = renderLabel({ label, orientation: "vertical" }); + + expect(labelComponent).toBeElement( + createElement("div", { className: "form-group" }, + createElement("label", { className: "control-label" }, label), + createElement("div", { className: "" }) + ) + ); + }); + + it("renders a label with the specified weight class", () => { + const labelComponent = renderLabel({ label, orientation: "horizontal", weight: 3 }); + const colorLabel = labelComponent.childAt(0); + + expect(colorLabel).toHaveClass("col-sm-3"); + }); + + it("renders the labeled element's wrapper with the calculated weight class", () => { + const weight = 3; + const labelComponent = renderLabel({ label, orientation: "horizontal", weight }); + const childrenWrapper = labelComponent.childAt(1); + + expect(childrenWrapper).toHaveClass(`col-sm-${12 - weight}`); + }); + + it("renders a label with calculated weight when specified value is greater than 11", () => { + const labelComponent = renderLabel({ label, orientation: "horizontal", weight: 20 }); + const colorLabel = labelComponent.childAt(0); + + expect(colorLabel).toHaveClass("col-sm-3"); + }); +}); diff --git a/src/ui/DropdownTypeahead.scss b/src/ui/DropdownTypeahead.scss index e7b4a77..7af7e8e 100644 --- a/src/ui/DropdownTypeahead.scss +++ b/src/ui/DropdownTypeahead.scss @@ -9,6 +9,10 @@ background: #fff; } +.Select { + display: -webkit-box; +} + Select.has-value.is-focused.is-open > .Select-control { border-color: #0595DB !important; box-shadow: unset !important; @@ -23,7 +27,6 @@ } .Select-menu-outer { - // margin-top: 0px !important; border-color: #0595DB !important; box-shadow: none !important; } @@ -60,4 +63,4 @@ .widget-dropdown-type-ahead-alert { margin-top: 4px !important; -} \ No newline at end of file +} diff --git a/tests/test-index.js b/tests/test-index.js index a9c0908..f5e9be1 100644 --- a/tests/test-index.js +++ b/tests/test-index.js @@ -1,9 +1,8 @@ require("./matchers"); -require("babel-polyfill"); import Enzyme from "enzyme"; import Adapter from "enzyme-adapter-react-16"; Enzyme.configure({ adapter: new Adapter() }); -const testsContext = require.context("../src", true, /\.spec$/); +var testsContext = require.context("../src", true, /\.spec$/); testsContext.keys().forEach(testsContext); From 3895bba49a384c53bf1139fd84517370828c20d1 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 20 Sep 2018 13:16:50 +0300 Subject: [PATCH 49/89] Process feedback from PM --- .gitignore | 1 - Gruntfile.js | 2 +- README.md | 4 +- development.md | 4 +- package-lock.json | 5698 +++++++++++++-------------- package.json | 4 +- src/components/DropdownTypeahead.ts | 13 +- tsconfig.json | 5 +- tslint.json | 11 +- webpack.config.js | 4 +- 10 files changed, 2870 insertions(+), 2876 deletions(-) diff --git a/.gitignore b/.gitignore index fe9ff7d..965f4a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ dist/ localSettings.js node_modules/ -.vscode diff --git a/Gruntfile.js b/Gruntfile.js index 6fbd75b..30a7747 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -18,7 +18,7 @@ module.exports = function(grunt) { watch: { updateWidgetFiles: { files: [ "./src/**/*" ], - tasks: [ "webpack:develop", "file_append", "compress:dist", "copy" ], + tasks: [ "webpack:develop", "file_append", "compress", "copy" ], options: { debounceDelay: 250 } diff --git a/README.md b/README.md index b15428b..d784c37 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Dropdown TypeAhead Reference -An input widget that can be used to display and edit associations +# Dropdown Typeahead +An input widget used to display and edit associations ## Features * Allow the user to search for matching options diff --git a/development.md b/development.md index ec2eac3..c149d36 100644 --- a/development.md +++ b/development.md @@ -14,8 +14,8 @@ Create a folder named `dist` in the project root. Create a Mendix test project in the dist folder and rename its root folder to `dist/MxTestProject`. Changes to the widget code shall be automatically pushed to this test project. - Or get the test project from [https://github.com/mendixlabs/dropdown-type-ahead/releases] - (https://github.com/mendixlabs/dropdown-type-ahead/releases) + Or get the test project from [https://github.com/mendixlabs/dropdown-type-ahead/releases/latest] + (https://github.com/mendixlabs/dropdown-type-ahead/releases/latest) To automatically compile, bundle and push code changes to the running test project, run: > grunt diff --git a/package-lock.json b/package-lock.json index 6b08a2a..abb1893 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,8 +10,8 @@ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "dev": true, "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -26,7 +26,7 @@ "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", "dev": true, "requires": { - "any-observable": "0.3.0" + "any-observable": "^0.3.0" } }, "@sindresorhus/is": { @@ -77,8 +77,8 @@ "integrity": "sha512-TwzKKiX5sGh/WweucxPXb8zjMLlLekGtBQw0ihk1HSj14zZuioG3Gql3jbxxb1YDRLbT4WQyzWG/h4Y7eCdw1g==", "dev": true, "requires": { - "@types/cheerio": "0.22.8", - "@types/react": "16.4.8" + "@types/cheerio": "*", + "@types/react": "*" } }, "@types/jasmine": { @@ -93,8 +93,8 @@ "integrity": "sha512-Q76dNhOudqVLHlYrFnirH7IaB30/7OPkhzg6WmtpcDYd8XIljcUIJVwg9m5VeS1nVNLd88FCpjggpMLvZV8d/w==", "dev": true, "requires": { - "@types/bluebird": "3.5.23", - "@types/node": "9.6.7" + "@types/bluebird": "*", + "@types/node": "*" } }, "@types/node": { @@ -108,7 +108,7 @@ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.4.tgz", "integrity": "sha512-RnC6YeQDmDas7DToCbRWNntB9XpIR+sqg1zUqcCUxOJTBwGeSAPfTQaXqzyNND82FIBNY67r17FedDyaKRcHBQ==", "requires": { - "@types/react": "16.4.8" + "@types/react": "*" } }, "@types/react": { @@ -116,8 +116,8 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.8.tgz", "integrity": "sha512-i1bQXfUF2gItMpG9u9epR02DHLZEpXHON0I6z89vFvbOfGRMyMP1h6VxHTa9TpSJhXrYQjNhwTtLGJdvQA7kcA==", "requires": { - "@types/prop-types": "15.5.4", - "csstype": "2.5.6" + "@types/prop-types": "*", + "csstype": "^2.2.0" } }, "@types/react-dom": { @@ -126,8 +126,8 @@ "integrity": "sha512-vaq4vMaJOaNgFff1t3LnHYr6vRa09vRspMkmLdXtFZmO1fwDI2snP+dpOkwrtlU8UC8qsqemCu4RmVM2OLq/fA==", "dev": true, "requires": { - "@types/node": "9.6.7", - "@types/react": "16.4.8" + "@types/node": "*", + "@types/react": "*" } }, "@types/react-select": { @@ -135,7 +135,7 @@ "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.3.0.tgz", "integrity": "sha512-a9XMXDxYTCTFAHGdQ86hWlhdFWtcXCRGN3iXONB7w1vNcO9+J4CvAUsYgWNekIcMMNvpKK/dIrsVaTLSERnwig==", "requires": { - "@types/react": "16.4.8" + "@types/react": "*" } }, "@types/webdriverio": { @@ -144,7 +144,7 @@ "integrity": "sha512-YjPQfSodE6iY/ACU0/kUk6Ca2tqK7zBF/h8rypqA9+gz3a2gmSL7zyntOkum0HhdYwCmlppUGgsXK+roYa9MoA==", "dev": true, "requires": { - "@types/node": "9.6.7" + "@types/node": "*" } }, "@webassemblyjs/ast": { @@ -156,8 +156,8 @@ "@webassemblyjs/helper-module-context": "1.5.13", "@webassemblyjs/helper-wasm-bytecode": "1.5.13", "@webassemblyjs/wast-parser": "1.5.13", - "debug": "3.1.0", - "mamacro": "0.0.3" + "debug": "^3.1.0", + "mamacro": "^0.0.3" }, "dependencies": { "debug": { @@ -189,7 +189,7 @@ "integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==", "dev": true, "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -224,8 +224,8 @@ "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", "dev": true, "requires": { - "debug": "3.1.0", - "mamacro": "0.0.3" + "debug": "^3.1.0", + "mamacro": "^0.0.3" }, "dependencies": { "debug": { @@ -255,7 +255,7 @@ "@webassemblyjs/helper-buffer": "1.5.13", "@webassemblyjs/helper-wasm-bytecode": "1.5.13", "@webassemblyjs/wasm-gen": "1.5.13", - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -275,7 +275,7 @@ "integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==", "dev": true, "requires": { - "ieee754": "1.1.12" + "ieee754": "^1.1.11" } }, "@webassemblyjs/leb128": { @@ -315,7 +315,7 @@ "@webassemblyjs/wasm-opt": "1.5.13", "@webassemblyjs/wasm-parser": "1.5.13", "@webassemblyjs/wast-printer": "1.5.13", - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -352,7 +352,7 @@ "@webassemblyjs/helper-buffer": "1.5.13", "@webassemblyjs/wasm-gen": "1.5.13", "@webassemblyjs/wasm-parser": "1.5.13", - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -391,8 +391,8 @@ "@webassemblyjs/helper-api-error": "1.5.13", "@webassemblyjs/helper-code-frame": "1.5.13", "@webassemblyjs/helper-fsm": "1.5.13", - "long": "3.2.0", - "mamacro": "0.0.3" + "long": "^3.2.0", + "mamacro": "^0.0.3" } }, "@webassemblyjs/wast-printer": { @@ -403,7 +403,7 @@ "requires": { "@webassemblyjs/ast": "1.5.13", "@webassemblyjs/wast-parser": "1.5.13", - "long": "3.2.0" + "long": "^3.2.0" } }, "abbrev": { @@ -418,7 +418,7 @@ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "2.1.19", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -434,7 +434,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.0" } }, "addressparser": { @@ -456,7 +456,7 @@ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "dev": true, "requires": { - "es6-promisify": "5.0.0" + "es6-promisify": "^5.0.0" } }, "ajv": { @@ -465,10 +465,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ajv-keywords": { @@ -483,9 +483,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -494,7 +494,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -512,11 +512,11 @@ "dev": true, "optional": true, "requires": { - "bitsyntax": "0.0.4", - "bluebird": "3.5.1", + "bitsyntax": "~0.0.4", + "bluebird": "^3.4.6", "buffer-more-ints": "0.0.2", - "readable-stream": "1.1.14", - "safe-buffer": "5.1.2" + "readable-stream": "1.x >=1.1.9", + "safe-buffer": "^5.0.1" }, "dependencies": { "isarray": { @@ -533,10 +533,10 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -617,8 +617,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, "aproba": { @@ -633,15 +633,15 @@ "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", "dev": true, "requires": { - "archiver-utils": "1.3.0", - "async": "2.6.1", - "buffer-crc32": "0.2.13", - "glob": "7.1.2", - "lodash": "4.17.5", - "readable-stream": "2.3.6", - "tar-stream": "1.6.1", - "walkdir": "0.0.11", - "zip-stream": "1.2.0" + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "walkdir": "^0.0.11", + "zip-stream": "^1.1.0" } }, "archiver-utils": { @@ -650,12 +650,12 @@ "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", "dev": true, "requires": { - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lazystream": "1.0.0", - "lodash": "4.17.5", - "normalize-path": "2.1.1", - "readable-stream": "2.3.6" + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" } }, "are-we-there-yet": { @@ -664,8 +664,8 @@ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "argparse": { @@ -674,7 +674,7 @@ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -719,8 +719,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-slice": { @@ -735,7 +735,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -756,9 +756,9 @@ "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1" + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1" } }, "arraybuffer.slice": { @@ -785,7 +785,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "asn1.js": { @@ -794,9 +794,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -849,7 +849,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" }, "dependencies": { "lodash": { @@ -919,7 +919,7 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9" + "debug": "^2.2.0" } } } @@ -930,9 +930,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -947,11 +947,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "has-ansi": { @@ -960,7 +960,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-ansi": { @@ -969,7 +969,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -988,25 +988,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.6.0", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, "babel-generator": { @@ -1015,14 +1015,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-helper-bindify-decorators": { @@ -1031,9 +1031,9 @@ "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-builder-binary-assignment-operator-visitor": { @@ -1042,9 +1042,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -1053,10 +1053,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-define-map": { @@ -1065,10 +1065,10 @@ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-explode-assignable-expression": { @@ -1077,9 +1077,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-class": { @@ -1088,10 +1088,10 @@ "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", "dev": true, "requires": { - "babel-helper-bindify-decorators": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -1100,11 +1100,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -1113,8 +1113,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -1123,8 +1123,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-optimise-call-expression": { @@ -1133,8 +1133,8 @@ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -1143,9 +1143,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -1154,11 +1154,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-replace-supers": { @@ -1167,12 +1167,12 @@ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -1181,8 +1181,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -1191,7 +1191,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -1200,7 +1200,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-syntax-async-functions": { @@ -1275,9 +1275,9 @@ "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-generators": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-async-to-generator": { @@ -1286,9 +1286,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-class-constructor-call": { @@ -1297,9 +1297,9 @@ "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", "dev": true, "requires": { - "babel-plugin-syntax-class-constructor-call": "6.18.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-syntax-class-constructor-call": "^6.18.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-class-properties": { @@ -1308,10 +1308,10 @@ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-decorators": { @@ -1320,11 +1320,11 @@ "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", "dev": true, "requires": { - "babel-helper-explode-class": "6.24.1", - "babel-plugin-syntax-decorators": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -1333,7 +1333,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -1342,7 +1342,7 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -1351,11 +1351,11 @@ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-plugin-transform-es2015-classes": { @@ -1364,15 +1364,15 @@ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -1381,8 +1381,8 @@ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-destructuring": { @@ -1391,7 +1391,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -1400,8 +1400,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-for-of": { @@ -1410,7 +1410,7 @@ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -1419,9 +1419,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-literals": { @@ -1430,7 +1430,7 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -1439,9 +1439,9 @@ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -1450,10 +1450,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -1462,9 +1462,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -1473,9 +1473,9 @@ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-object-super": { @@ -1484,8 +1484,8 @@ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -1494,12 +1494,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -1508,8 +1508,8 @@ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -1518,7 +1518,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1527,9 +1527,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-template-literals": { @@ -1538,7 +1538,7 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -1547,7 +1547,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -1556,9 +1556,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" }, "dependencies": { "regexpu-core": { @@ -1567,9 +1567,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } } } @@ -1580,9 +1580,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-export-extensions": { @@ -1591,8 +1591,8 @@ "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", "dev": true, "requires": { - "babel-plugin-syntax-export-extensions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-export-extensions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-flow-strip-types": { @@ -1601,8 +1601,8 @@ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "dev": true, "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -1611,8 +1611,8 @@ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" } }, "babel-plugin-transform-regenerator": { @@ -1621,7 +1621,7 @@ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "0.10.1" + "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-strict-mode": { @@ -1630,8 +1630,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-preset-es2015": { @@ -1640,30 +1640,30 @@ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" } }, "babel-preset-stage-1": { @@ -1672,9 +1672,9 @@ "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", "dev": true, "requires": { - "babel-plugin-transform-class-constructor-call": "6.24.1", - "babel-plugin-transform-export-extensions": "6.22.0", - "babel-preset-stage-2": "6.24.1" + "babel-plugin-transform-class-constructor-call": "^6.24.1", + "babel-plugin-transform-export-extensions": "^6.22.0", + "babel-preset-stage-2": "^6.24.1" } }, "babel-preset-stage-2": { @@ -1683,10 +1683,10 @@ "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", "dev": true, "requires": { - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-decorators": "6.24.1", - "babel-preset-stage-3": "6.24.1" + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" } }, "babel-preset-stage-3": { @@ -1695,11 +1695,11 @@ "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", "dev": true, "requires": { - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-generator-functions": "6.24.1", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-object-rest-spread": "6.26.0" + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" } }, "babel-register": { @@ -1708,13 +1708,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" } }, "babel-runtime": { @@ -1723,8 +1723,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -1733,11 +1733,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -1746,15 +1746,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.5" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -1763,10 +1763,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1793,13 +1793,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -1808,7 +1808,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -1817,7 +1817,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -1826,7 +1826,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -1835,9 +1835,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -1873,7 +1873,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "beeper": { @@ -1897,9 +1897,9 @@ "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", "dev": true, "requires": { - "bluebird": "3.5.1", - "check-types": "7.4.0", - "tryer": "1.0.1" + "bluebird": "^3.5.1", + "check-types": "^7.3.0", + "tryer": "^1.0.0" } }, "big.js": { @@ -1936,8 +1936,8 @@ "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { - "readable-stream": "2.3.6", - "safe-buffer": "5.1.2" + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" } }, "blob": { @@ -1952,7 +1952,7 @@ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "bluebird": { @@ -1973,10 +1973,10 @@ "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", "dev": true, "requires": { - "continuable-cache": "0.3.1", - "error": "7.0.2", - "raw-body": "1.1.7", - "safe-json-parse": "1.0.1" + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" } }, "body-parser": { @@ -1986,15 +1986,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", + "depd": "~1.1.2", + "http-errors": "~1.6.3", "iconv-lite": "0.4.23", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.2", "raw-body": "2.3.3", - "type-is": "1.6.16" + "type-is": "~1.6.16" }, "dependencies": { "bytes": { @@ -2029,12 +2029,12 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" }, "dependencies": { "array-flatten": { @@ -2057,7 +2057,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "bower-config": { @@ -2066,11 +2066,11 @@ "integrity": "sha1-hf2d82fCuNu9DKpMXyutQM2Ewsw=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "mout": "1.1.0", - "optimist": "0.6.1", - "osenv": "0.1.5", - "untildify": "2.1.0" + "graceful-fs": "^4.1.3", + "mout": "^1.0.0", + "optimist": "^0.6.1", + "osenv": "^0.1.3", + "untildify": "^2.1.0" } }, "brace-expansion": { @@ -2079,7 +2079,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -2089,16 +2089,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -2107,7 +2107,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2124,12 +2124,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { @@ -2138,9 +2138,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "1.2.0", - "browserify-des": "1.0.2", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -2149,10 +2149,10 @@ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "browserify-rsa": { @@ -2161,8 +2161,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -2171,13 +2171,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.1" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -2186,7 +2186,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "buffer": { @@ -2195,8 +2195,8 @@ "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", "dev": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.12" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "buffer-alloc": { @@ -2205,8 +2205,8 @@ "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { - "buffer-alloc-unsafe": "1.1.0", - "buffer-fill": "1.0.0" + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" } }, "buffer-alloc-unsafe": { @@ -2300,19 +2300,19 @@ "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { - "bluebird": "3.5.1", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.3", - "mississippi": "2.0.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "5.3.0", - "unique-filename": "1.1.0", - "y18n": "4.0.0" + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" } }, "cache-base": { @@ -2321,15 +2321,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -2379,8 +2379,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caseless": { @@ -2396,8 +2396,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -2406,11 +2406,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "chardet": { @@ -2425,12 +2425,12 @@ "integrity": "sha512-GDrbGzzJ6Gc6tQh87HBMGhrJ4UWIlR9MKJwgvlrJyj/gWvTYYb2jQetKbajt/EYK5Y8/4g7gH2LEvq8GdUWTag==", "dev": true, "requires": { - "bower-config": "1.4.1", - "chalk": "2.4.1", - "findup-sync": "2.0.0", - "lodash.camelcase": "4.3.0", - "minimist": "1.2.0", - "semver": "5.5.0" + "bower-config": "^1.4.0", + "chalk": "^2.1.0", + "findup-sync": "^2.0.0", + "lodash.camelcase": "^4.3.0", + "minimist": "^1.2.0", + "semver": "^5.4.1" }, "dependencies": { "ansi-styles": { @@ -2439,7 +2439,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -2448,9 +2448,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "minimist": { @@ -2465,7 +2465,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -2482,12 +2482,12 @@ "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "dev": true, "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.9.2", - "lodash": "4.17.5", - "parse5": "3.0.3" + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" } }, "chokidar": { @@ -2496,19 +2496,19 @@ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "fsevents": "1.2.4", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" }, "dependencies": { "is-glob": { @@ -2517,7 +2517,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } } } @@ -2534,7 +2534,7 @@ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" } }, "cipher-base": { @@ -2543,8 +2543,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "circular-json": { @@ -2559,10 +2559,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -2571,7 +2571,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -2587,7 +2587,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-table": { @@ -2614,7 +2614,7 @@ "dev": true, "requires": { "slice-ansi": "0.0.4", - "string-width": "1.0.2" + "string-width": "^1.0.1" } }, "cli-width": { @@ -2630,8 +2630,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -2662,10 +2662,10 @@ "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", "dev": true, "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "6.0.2", - "shallow-clone": "1.0.0" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" } }, "clone-response": { @@ -2674,7 +2674,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.1" + "mimic-response": "^1.0.0" } }, "clone-stats": { @@ -2689,9 +2689,9 @@ "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", "dev": true, "requires": { - "inherits": "2.0.3", - "process-nextick-args": "2.0.0", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" } }, "co": { @@ -2718,8 +2718,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -2755,7 +2755,7 @@ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.5.0" } }, "combined-stream": { @@ -2764,7 +2764,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -2803,10 +2803,10 @@ "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "dev": true, "requires": { - "buffer-crc32": "0.2.13", - "crc32-stream": "2.0.0", - "normalize-path": "2.1.1", - "readable-stream": "2.3.6" + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" } }, "compressible": { @@ -2815,7 +2815,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.35.0" + "mime-db": ">= 1.34.0 < 2" } }, "compression": { @@ -2824,13 +2824,13 @@ "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "2.0.14", + "compressible": "~2.0.14", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.2", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "bytes": { @@ -2853,10 +2853,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "connect": { @@ -2867,7 +2867,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -2883,7 +2883,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "console-control-strings": { @@ -2922,7 +2922,7 @@ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.1" } }, "cookie": { @@ -2943,12 +2943,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "1.2.0", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, "copy-descriptor": { @@ -2963,14 +2963,14 @@ "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", "dev": true, "requires": { - "cacache": "10.0.4", - "find-cache-dir": "1.0.0", - "globby": "7.1.1", - "is-glob": "4.0.0", - "loader-utils": "1.1.0", - "minimatch": "3.0.4", - "p-limit": "1.3.0", - "serialize-javascript": "1.5.0" + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" }, "dependencies": { "is-glob": { @@ -2979,7 +2979,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } } } @@ -3002,7 +3002,7 @@ "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", "dev": true, "requires": { - "buffer": "5.2.0" + "buffer": "^5.1.0" } }, "crc32-stream": { @@ -3011,8 +3011,8 @@ "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", "dev": true, "requires": { - "crc": "3.8.0", - "readable-stream": "2.3.6" + "crc": "^3.4.4", + "readable-stream": "^2.0.0" } }, "create-ecdh": { @@ -3021,8 +3021,8 @@ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-hash": { @@ -3031,11 +3031,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "md5.js": "1.3.4", - "ripemd160": "2.0.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, "create-hmac": { @@ -3044,12 +3044,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "inherits": "2.0.3", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-spawn": { @@ -3058,8 +3058,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "cryptiles": { @@ -3068,7 +3068,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "crypto-browserify": { @@ -3077,17 +3077,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.1", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.3", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "diffie-hellman": "5.0.3", - "inherits": "2.0.3", - "pbkdf2": "3.0.16", - "public-encrypt": "4.0.2", - "randombytes": "2.0.6", - "randomfill": "1.0.4" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "css": { @@ -3096,10 +3096,10 @@ "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "source-map": "0.1.43", - "source-map-resolve": "0.5.2", - "urix": "0.1.0" + "inherits": "^2.0.1", + "source-map": "^0.1.38", + "source-map-resolve": "^0.5.1", + "urix": "^0.1.0" }, "dependencies": { "source-map": { @@ -3108,7 +3108,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -3119,18 +3119,18 @@ "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "postcss": "6.0.23", - "postcss-modules-extract-imports": "1.2.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" } }, "css-parse": { @@ -3139,7 +3139,7 @@ "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", "dev": true, "requires": { - "css": "2.2.3" + "css": "^2.0.0" } }, "css-select": { @@ -3148,10 +3148,10 @@ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -3160,9 +3160,9 @@ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "dev": true, "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" } }, "css-value": { @@ -3194,7 +3194,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "custom-event": { @@ -3215,7 +3215,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dargs": { @@ -3230,7 +3230,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -3272,8 +3272,8 @@ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", "dev": true, "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "get-stdin": "^4.0.1", + "meow": "^3.3.0" } }, "debug": { @@ -3303,7 +3303,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.1" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -3324,7 +3324,7 @@ "integrity": "sha512-Y9mu+rplGcNZ7veer+5rqcdI9w3aPb7/WyE/nYnsuPevaE2z5YuC2u7/Gz/hIKsa0zo8sE8gKoBimSNsO/sr+A==", "dev": true, "requires": { - "lodash.isplainobject": "4.0.6" + "lodash.isplainobject": "^4.0.6" } }, "deep-is": { @@ -3345,8 +3345,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -3355,8 +3355,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3365,7 +3365,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3374,7 +3374,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3383,9 +3383,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3397,9 +3397,9 @@ "dev": true, "optional": true, "requires": { - "ast-types": "0.11.5", - "escodegen": "1.11.0", - "esprima": "3.1.3" + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" }, "dependencies": { "esprima": { @@ -3417,12 +3417,12 @@ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -3431,11 +3431,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -3472,8 +3472,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -3500,7 +3500,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-libc": { @@ -3534,9 +3534,9 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "dir-glob": { @@ -3545,8 +3545,8 @@ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "dev": true, "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "discontinuous-range": { @@ -3567,8 +3567,8 @@ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.2" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { @@ -3577,7 +3577,7 @@ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "doctrine": { @@ -3586,7 +3586,7 @@ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { - "esutils": "1.1.6", + "esutils": "^1.1.6", "isarray": "0.0.1" }, "dependencies": { @@ -3610,10 +3610,10 @@ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, "requires": { - "custom-event": "1.0.1", - "ent": "2.2.0", - "extend": "3.0.2", - "void-elements": "2.0.1" + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, "dom-serializer": { @@ -3622,8 +3622,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -3652,7 +3652,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -3661,8 +3661,8 @@ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "double-ended-queue": { @@ -3684,7 +3684,7 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "1.1.14" + "readable-stream": "~1.1.9" }, "dependencies": { "isarray": { @@ -3699,10 +3699,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -3725,10 +3725,10 @@ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "ecc-jsbn": { @@ -3738,8 +3738,8 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "editions": { @@ -3772,13 +3772,13 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.5", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "emojis-list": { @@ -3799,7 +3799,7 @@ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { - "iconv-lite": "0.4.23" + "iconv-lite": "~0.4.13" } }, "end-of-stream": { @@ -3808,7 +3808,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "engine.io": { @@ -3817,13 +3817,13 @@ "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.4", "base64id": "1.0.0", "cookie": "0.3.1", - "debug": "3.1.0", - "engine.io-parser": "2.1.2", - "uws": "9.14.0", - "ws": "3.3.3" + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "uws": "~9.14.0", + "ws": "~3.3.1" }, "dependencies": { "debug": { @@ -3845,14 +3845,14 @@ "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "3.1.0", - "engine.io-parser": "2.1.2", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "3.3.3", - "xmlhttprequest-ssl": "1.5.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" }, "dependencies": { @@ -3874,10 +3874,10 @@ "dev": true, "requires": { "after": "0.8.2", - "arraybuffer.slice": "0.0.7", + "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.4", - "has-binary2": "1.0.3" + "has-binary2": "~1.0.2" } }, "enhanced-resolve": { @@ -3886,9 +3886,9 @@ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "tapable": "1.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" } }, "ent": { @@ -3915,23 +3915,23 @@ "integrity": "sha512-WWmNC5JmHtA5SctwJ7nyDidyyfo8WoHI0T116iKHkXaElQKdsaCzz5I/wIT66g3yXRCgL/74LsQ3XAotkjFXPg==", "dev": true, "requires": { - "array.prototype.flat": "1.2.1", - "cheerio": "1.0.0-rc.2", - "function.prototype.name": "1.1.0", - "has": "1.0.3", - "is-boolean-object": "1.0.0", - "is-callable": "1.1.4", - "is-number-object": "1.0.3", - "is-string": "1.0.4", - "is-subset": "0.1.1", - "lodash": "4.17.5", - "object-inspect": "1.6.0", - "object-is": "1.0.1", - "object.assign": "4.1.0", - "object.entries": "1.0.4", - "object.values": "1.0.4", - "raf": "3.4.0", - "rst-selector-parser": "2.2.3" + "array.prototype.flat": "^1.2.1", + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.1.0", + "has": "^1.0.3", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.4", + "is-number-object": "^1.0.3", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash": "^4.17.4", + "object-inspect": "^1.6.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3" } }, "enzyme-adapter-react-16": { @@ -3940,14 +3940,14 @@ "integrity": "sha512-UgBra+xZFVFbU5Tw7Inw0bPrNJhM2ru4vCoO7preX6sOicXuDbOH927QJx4pk6m6vatd8jnPXTF6/GCjzytJTg==", "dev": true, "requires": { - "enzyme-adapter-utils": "1.5.0", - "function.prototype.name": "1.1.0", - "object.assign": "4.1.0", - "object.values": "1.0.4", - "prop-types": "15.6.2", - "react-is": "16.4.2", - "react-reconciler": "0.7.0", - "react-test-renderer": "16.4.2" + "enzyme-adapter-utils": "^1.5.0", + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "object.values": "^1.0.4", + "prop-types": "^15.6.2", + "react-is": "^16.4.2", + "react-reconciler": "^0.7.0", + "react-test-renderer": "^16.0.0-0" } }, "enzyme-adapter-utils": { @@ -3956,9 +3956,9 @@ "integrity": "sha512-cLUaPYU8GEzAHi/1hiO+ylz4QiQWI8eb9SysAk8Tbul2O918dRf4cfD4s2BjijtwSvhapkOsPW9XRix1EXlJ1Q==", "dev": true, "requires": { - "function.prototype.name": "1.1.0", - "object.assign": "4.1.0", - "prop-types": "15.6.2" + "function.prototype.name": "^1.1.0", + "object.assign": "^4.1.0", + "prop-types": "^15.6.2" } }, "errno": { @@ -3967,7 +3967,7 @@ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error": { @@ -3976,8 +3976,8 @@ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", "dev": true, "requires": { - "string-template": "0.2.1", - "xtend": "4.0.1" + "string-template": "~0.2.1", + "xtend": "~4.0.0" } }, "error-ex": { @@ -3986,7 +3986,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -3995,11 +3995,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -4008,9 +4008,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -4019,9 +4019,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-iterator": { @@ -4030,9 +4030,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-promise": { @@ -4047,7 +4047,7 @@ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { - "es6-promise": "4.2.4" + "es6-promise": "^4.0.3" } }, "es6-symbol": { @@ -4056,8 +4056,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "escape-html": { @@ -4079,11 +4079,11 @@ "dev": true, "optional": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4108,8 +4108,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "esprima": { @@ -4124,7 +4124,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4169,7 +4169,7 @@ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "dev": true, "requires": { - "original": "1.0.2" + "original": ">=0.0.5" } }, "evp_bytestokey": { @@ -4178,8 +4178,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "execa": { @@ -4188,13 +4188,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -4203,9 +4203,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -4228,9 +4228,9 @@ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", "dev": true, "requires": { - "array-slice": "0.2.3", - "array-unique": "0.2.1", - "braces": "0.1.5" + "array-slice": "^0.2.3", + "array-unique": "^0.2.1", + "braces": "^0.1.2" }, "dependencies": { "array-unique": { @@ -4245,7 +4245,7 @@ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", "dev": true, "requires": { - "expand-range": "0.1.1" + "expand-range": "^0.1.0" } } } @@ -4256,13 +4256,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -4271,7 +4271,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4280,7 +4280,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4291,8 +4291,8 @@ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "requires": { - "is-number": "0.1.1", - "repeat-string": "0.2.2" + "is-number": "^0.1.1", + "repeat-string": "^0.2.2" }, "dependencies": { "is-number": { @@ -4322,7 +4322,7 @@ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } }, "express": { @@ -4331,36 +4331,36 @@ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.4", + "proxy-addr": "~2.0.3", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", + "statuses": "~1.4.0", + "type-is": "~1.6.16", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "body-parser": { @@ -4370,15 +4370,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.16" + "type-is": "~1.6.15" } }, "bytes": { @@ -4394,12 +4394,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" } }, "iconv-lite": { @@ -4441,7 +4441,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.4.0" + "statuses": ">= 1.3.1 < 2" } }, "setprototypeof": { @@ -4478,8 +4478,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4488,7 +4488,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4499,9 +4499,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -4510,14 +4510,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -4526,7 +4526,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -4535,7 +4535,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -4544,7 +4544,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4553,7 +4553,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4562,9 +4562,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4575,10 +4575,10 @@ "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==", "dev": true, "requires": { - "async": "2.6.1", - "loader-utils": "1.1.0", - "schema-utils": "0.4.7", - "webpack-sources": "1.1.0" + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5", + "webpack-sources": "^1.1.0" } }, "extsprintf": { @@ -4593,9 +4593,9 @@ "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "dev": true, "requires": { - "ansi-gray": "0.1.1", - "color-support": "1.1.3", - "time-stamp": "1.1.0" + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" } }, "fast-deep-equal": { @@ -4610,12 +4610,12 @@ "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "dev": true, "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.2", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" }, "dependencies": { "is-glob": { @@ -4624,7 +4624,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } } } @@ -4653,7 +4653,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "fbjs": { @@ -4662,13 +4662,13 @@ "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "dev": true, "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" }, "dependencies": { "core-js": { @@ -4685,7 +4685,7 @@ "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { - "pend": "1.2.0" + "pend": "~1.2.0" } }, "fibers": { @@ -4700,7 +4700,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-sync-cmp": { @@ -4734,10 +4734,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -4746,7 +4746,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4758,12 +4758,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" }, "dependencies": { "statuses": { @@ -4780,9 +4780,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4791,7 +4791,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "findup-sync": { @@ -4800,10 +4800,10 @@ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "dev": true, "requires": { - "detect-file": "1.0.0", - "is-glob": "3.1.0", - "micromatch": "3.1.10", - "resolve-dir": "1.0.1" + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" } }, "first-chunk-stream": { @@ -4812,7 +4812,7 @@ "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.2" } }, "flow-parser": { @@ -4827,8 +4827,8 @@ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" } }, "follow-redirects": { @@ -4837,7 +4837,7 @@ "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", "dev": true, "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -4863,7 +4863,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -4884,9 +4884,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "forwarded": { @@ -4901,7 +4901,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fresh": { @@ -4916,8 +4916,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-access": { @@ -4926,7 +4926,7 @@ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", "dev": true, "requires": { - "null-check": "1.0.0" + "null-check": "^1.0.0" } }, "fs-constants": { @@ -4941,9 +4941,9 @@ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, "fs-write-stream-atomic": { @@ -4952,10 +4952,10 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "2.3.6" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, "fs.realpath": { @@ -4971,8 +4971,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -4998,8 +4998,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -5012,7 +5012,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5076,7 +5076,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5091,14 +5091,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -5107,12 +5107,12 @@ "dev": true, "optional": 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" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -5127,7 +5127,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -5136,7 +5136,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -5145,8 +5145,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5165,7 +5165,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5179,7 +5179,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5192,8 +5192,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -5202,7 +5202,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5225,9 +5225,9 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -5236,16 +5236,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -5254,8 +5254,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -5270,8 +5270,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -5280,10 +5280,10 @@ "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" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -5302,7 +5302,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5323,8 +5323,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -5345,10 +5345,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -5365,13 +5365,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -5380,7 +5380,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -5423,9 +5423,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -5434,7 +5434,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -5442,7 +5442,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5457,13 +5457,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -5478,7 +5478,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -5499,10 +5499,10 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "ftp": { @@ -5512,7 +5512,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "1.1.14", + "readable-stream": "1.1.x", "xregexp": "2.0.0" }, "dependencies": { @@ -5530,10 +5530,10 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -5557,9 +5557,9 @@ "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", "dev": true, "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "is-callable": "1.1.4" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "is-callable": "^1.1.3" } }, "gauge": { @@ -5568,14 +5568,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "gaze": { @@ -5584,7 +5584,7 @@ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "1.2.1" + "globule": "^1.0.0" } }, "generate-function": { @@ -5601,7 +5601,7 @@ "dev": true, "optional": true, "requires": { - "is-property": "1.0.2" + "is-property": "^1.0.0" } }, "get-caller-file": { @@ -5629,12 +5629,12 @@ "dev": true, "optional": true, "requires": { - "data-uri-to-buffer": "1.2.0", - "debug": "2.6.9", - "extend": "3.0.2", - "file-uri-to-path": "1.0.0", - "ftp": "0.3.10", - "readable-stream": "2.3.6" + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "3", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" } }, "get-value": { @@ -5655,7 +5655,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -5672,8 +5672,8 @@ "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", "dev": true, "requires": { - "got": "7.1.0", - "is-plain-obj": "1.1.0" + "got": "^7.0.0", + "is-plain-obj": "^1.1.0" }, "dependencies": { "got": { @@ -5682,20 +5682,20 @@ "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "dev": true, "requires": { - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-plain-obj": "1.1.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "p-cancelable": "0.3.0", - "p-timeout": "1.2.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "1.0.0", - "url-to-options": "1.0.1" + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" } }, "p-cancelable": { @@ -5710,7 +5710,7 @@ "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "prepend-http": { @@ -5725,7 +5725,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } } } @@ -5743,7 +5743,7 @@ "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", "dev": true, "requires": { - "gh-got": "6.0.0" + "gh-got": "^6.0.0" } }, "glob": { @@ -5752,12 +5752,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "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" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-all": { @@ -5766,8 +5766,8 @@ "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", "dev": true, "requires": { - "glob": "7.1.2", - "yargs": "1.2.6" + "glob": "^7.0.5", + "yargs": "~1.2.6" }, "dependencies": { "minimist": { @@ -5782,7 +5782,7 @@ "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", "dev": true, "requires": { - "minimist": "0.1.0" + "minimist": "^0.1.0" } } } @@ -5793,8 +5793,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5803,7 +5803,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5818,7 +5818,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5829,8 +5829,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, "glob-to-regexp": { @@ -5845,9 +5845,9 @@ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { - "global-prefix": "1.0.2", - "is-windows": "1.0.2", - "resolve-dir": "1.0.1" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" } }, "global-prefix": { @@ -5856,11 +5856,11 @@ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { - "expand-tilde": "2.0.2", - "homedir-polyfill": "1.0.1", - "ini": "1.3.5", - "is-windows": "1.0.2", - "which": "1.3.1" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, "globals": { @@ -5875,12 +5875,12 @@ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "dev": true, "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "globule": { @@ -5889,9 +5889,9 @@ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.10", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" }, "dependencies": { "lodash": { @@ -5908,7 +5908,7 @@ "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", "dev": true, "requires": { - "sparkles": "1.0.1" + "sparkles": "^1.0.0" } }, "got": { @@ -5917,23 +5917,23 @@ "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.1", - "p-cancelable": "0.4.1", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" } }, "graceful-fs": { @@ -5948,7 +5948,7 @@ "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.17.2" } }, "grunt": { @@ -5957,23 +5957,23 @@ "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", "dev": true, "requires": { - "coffeescript": "1.10.0", - "dateformat": "1.0.12", - "eventemitter2": "0.4.14", - "exit": "0.1.2", - "findup-sync": "0.3.0", - "glob": "7.0.6", - "grunt-cli": "1.2.0", - "grunt-known-options": "1.1.0", - "grunt-legacy-log": "2.0.0", - "grunt-legacy-util": "1.1.1", - "iconv-lite": "0.4.23", - "js-yaml": "3.5.5", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "coffeescript": "~1.10.0", + "dateformat": "~1.0.12", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.3.0", + "glob": "~7.0.0", + "grunt-cli": "~1.2.0", + "grunt-known-options": "~1.1.0", + "grunt-legacy-log": "~2.0.0", + "grunt-legacy-util": "~1.1.1", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.5.2", + "minimatch": "~3.0.2", + "mkdirp": "~0.5.1", + "nopt": "~3.0.6", + "path-is-absolute": "~1.0.0", + "rimraf": "~2.6.2" }, "dependencies": { "esprima": { @@ -5988,7 +5988,7 @@ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", "dev": true, "requires": { - "glob": "5.0.15" + "glob": "~5.0.0" }, "dependencies": { "glob": { @@ -5997,11 +5997,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -6012,12 +6012,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "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" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "grunt-cli": { @@ -6026,10 +6026,10 @@ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", "dev": true, "requires": { - "findup-sync": "0.3.0", - "grunt-known-options": "1.1.0", - "nopt": "3.0.6", - "resolve": "1.1.7" + "findup-sync": "~0.3.0", + "grunt-known-options": "~1.1.0", + "nopt": "~3.0.6", + "resolve": "~1.1.0" } }, "js-yaml": { @@ -6038,8 +6038,8 @@ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" + "argparse": "^1.0.2", + "esprima": "^2.6.0" } }, "nopt": { @@ -6048,7 +6048,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } } } @@ -6059,8 +6059,8 @@ "integrity": "sha1-UYiVh8V+gn3enN9pt1CuCy+IHFA=", "dev": true, "requires": { - "check-dependencies": "1.1.0", - "lodash.clonedeep": "4.5.0" + "check-dependencies": "^1.0.1", + "lodash.clonedeep": "^4.5.0" } }, "grunt-contrib-clean": { @@ -6069,8 +6069,8 @@ "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", "dev": true, "requires": { - "async": "1.5.2", - "rimraf": "2.6.2" + "async": "^1.5.2", + "rimraf": "^2.5.1" }, "dependencies": { "async": { @@ -6087,12 +6087,12 @@ "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=", "dev": true, "requires": { - "archiver": "1.3.0", - "chalk": "1.1.3", - "iltorb": "1.3.10", - "lodash": "4.17.5", - "pretty-bytes": "4.0.2", - "stream-buffers": "2.2.0" + "archiver": "^1.3.0", + "chalk": "^1.1.1", + "iltorb": "^1.0.13", + "lodash": "^4.7.0", + "pretty-bytes": "^4.0.2", + "stream-buffers": "^2.1.0" } }, "grunt-contrib-copy": { @@ -6101,8 +6101,8 @@ "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", "dev": true, "requires": { - "chalk": "1.1.3", - "file-sync-cmp": "0.1.1" + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" } }, "grunt-contrib-watch": { @@ -6111,10 +6111,10 @@ "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", "dev": true, "requires": { - "async": "2.6.1", - "gaze": "1.1.3", - "lodash": "4.17.10", - "tiny-lr": "1.1.1" + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" }, "dependencies": { "lodash": { @@ -6143,10 +6143,10 @@ "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", "dev": true, "requires": { - "colors": "1.1.2", - "grunt-legacy-log-utils": "2.0.1", - "hooker": "0.2.3", - "lodash": "4.17.5" + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.5" }, "dependencies": { "colors": { @@ -6163,8 +6163,8 @@ "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", "dev": true, "requires": { - "chalk": "2.4.1", - "lodash": "4.17.10" + "chalk": "~2.4.1", + "lodash": "~4.17.10" }, "dependencies": { "ansi-styles": { @@ -6173,7 +6173,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6182,9 +6182,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "lodash": { @@ -6199,7 +6199,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6210,13 +6210,13 @@ "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", "dev": true, "requires": { - "async": "1.5.2", - "exit": "0.1.2", - "getobject": "0.1.0", - "hooker": "0.2.3", - "lodash": "4.17.10", - "underscore.string": "3.3.4", - "which": "1.3.1" + "async": "~1.5.2", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.10", + "underscore.string": "~3.3.4", + "which": "~1.3.0" }, "dependencies": { "async": { @@ -6239,8 +6239,8 @@ "integrity": "sha1-g8y3od2ny9irI7BZAk6+YUrS80I=", "dev": true, "requires": { - "async": "1.5.2", - "rimraf": "2.6.2" + "async": "^1.5.2", + "rimraf": "^2.5.2" }, "dependencies": { "async": { @@ -6257,8 +6257,8 @@ "integrity": "sha512-Ngixl4W/mNJYyghyXJ+JzJ7pUaVRcVKgvC+74ePXPglAEodc9jMlBrGszZAzmspCuvo5dkhbBIcuBHn+Wv1pOQ==", "dev": true, "requires": { - "deep-for-each": "2.0.3", - "lodash": "4.17.5" + "deep-for-each": "^2.0.2", + "lodash": "^4.7.0" } }, "gulp-util": { @@ -6267,24 +6267,24 @@ "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "1.0.12", - "fancy-log": "1.3.2", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" + "through2": "^2.0.0", + "vinyl": "^0.5.0" }, "dependencies": { "minimist": { @@ -6307,7 +6307,7 @@ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "dev": true, "requires": { - "glogg": "1.0.1" + "glogg": "^1.0.0" } }, "gzip-size": { @@ -6316,8 +6316,8 @@ "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", "dev": true, "requires": { - "duplexer": "0.1.1", - "pify": "3.0.0" + "duplexer": "^0.1.1", + "pify": "^3.0.0" } }, "handle-thing": { @@ -6332,10 +6332,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -6350,7 +6350,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6367,8 +6367,8 @@ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" }, "dependencies": { "ajv": { @@ -6377,8 +6377,8 @@ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } } } @@ -6389,7 +6389,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -6398,7 +6398,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-binary2": { @@ -6442,7 +6442,7 @@ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", "dev": true, "requires": { - "sparkles": "1.0.1" + "sparkles": "^1.0.0" } }, "has-symbol-support-x": { @@ -6463,7 +6463,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-unicode": { @@ -6478,9 +6478,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6489,8 +6489,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6499,7 +6499,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6510,8 +6510,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { @@ -6520,8 +6520,8 @@ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, "hawk": { @@ -6530,10 +6530,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hipchat-notifier": { @@ -6543,8 +6543,8 @@ "dev": true, "optional": true, "requires": { - "lodash": "4.17.5", - "request": "2.81.0" + "lodash": "^4.0.0", + "request": "^2.0.0" } }, "hmac-drbg": { @@ -6553,9 +6553,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.5", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { @@ -6570,8 +6570,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "homedir-polyfill": { @@ -6580,7 +6580,7 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, "hooker": { @@ -6601,10 +6601,10 @@ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { - "inherits": "2.0.3", - "obuf": "1.1.2", - "readable-stream": "2.3.6", - "wbuf": "1.7.3" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, "html-entities": { @@ -6619,12 +6619,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.5.1", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6645,10 +6645,10 @@ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "statuses": ">= 1.4.0 < 2" } }, "http-parser-js": { @@ -6663,9 +6663,9 @@ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "3.1.0", - "follow-redirects": "1.5.2", - "requires-port": "1.0.0" + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-proxy-agent": { @@ -6674,7 +6674,7 @@ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "requires": { - "agent-base": "4.2.1", + "agent-base": "4", "debug": "3.1.0" }, "dependencies": { @@ -6695,10 +6695,10 @@ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { - "http-proxy": "1.17.0", - "is-glob": "4.0.0", - "lodash": "4.17.5", - "micromatch": "3.1.10" + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" }, "dependencies": { "is-glob": { @@ -6707,7 +6707,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } } } @@ -6718,9 +6718,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "httpntlm": { @@ -6729,8 +6729,8 @@ "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", "dev": true, "requires": { - "httpreq": "0.4.24", - "underscore": "1.7.0" + "httpreq": ">=0.4.22", + "underscore": "~1.7.0" }, "dependencies": { "underscore": { @@ -6759,8 +6759,8 @@ "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", "dev": true, "requires": { - "agent-base": "4.2.1", - "debug": "3.1.0" + "agent-base": "^4.1.0", + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -6786,7 +6786,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "icss-replace-symbols": { @@ -6801,7 +6801,7 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "6.0.23" + "postcss": "^6.0.1" } }, "ieee754": { @@ -6829,10 +6829,10 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "0.2.0", - "nan": "2.10.0", - "node-gyp": "3.7.0", - "prebuild-install": "2.5.3" + "detect-libc": "^0.2.0", + "nan": "^2.6.2", + "node-gyp": "^3.6.2", + "prebuild-install": "^2.3.0" } }, "import-local": { @@ -6841,8 +6841,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6863,7 +6863,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexof": { @@ -6885,8 +6885,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6907,20 +6907,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.5", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -6935,7 +6935,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6944,9 +6944,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "is-fullwidth-code-point": { @@ -6961,8 +6961,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -6971,7 +6971,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -6980,7 +6980,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6991,7 +6991,7 @@ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "meow": "3.7.0" + "meow": "^3.3.0" } }, "interpret": { @@ -7006,8 +7006,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -7016,7 +7016,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -7043,7 +7043,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7052,7 +7052,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7069,7 +7069,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-boolean-object": { @@ -7090,7 +7090,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -7105,7 +7105,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7114,7 +7114,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7131,9 +7131,9 @@ "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" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -7156,7 +7156,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -7177,7 +7177,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -7186,7 +7186,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -7195,7 +7195,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } }, "is-my-ip-valid": { @@ -7212,11 +7212,11 @@ "dev": true, "optional": true, "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" } }, "is-number": { @@ -7225,7 +7225,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7234,7 +7234,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7257,7 +7257,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" }, "dependencies": { "symbol-observable": { @@ -7280,7 +7280,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -7289,7 +7289,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -7304,7 +7304,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -7338,7 +7338,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-retry-allowed": { @@ -7353,7 +7353,7 @@ "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", "dev": true, "requires": { - "scoped-regex": "1.0.0" + "scoped-regex": "^1.0.0" } }, "is-stream": { @@ -7416,7 +7416,7 @@ "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", "dev": true, "requires": { - "buffer-alloc": "1.2.0" + "buffer-alloc": "^1.2.0" } }, "isexe": { @@ -7437,8 +7437,8 @@ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "dev": true, "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -7453,20 +7453,20 @@ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", "dev": true, "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.8.1", - "esprima": "2.7.3", - "glob": "5.0.15", - "handlebars": "4.0.11", - "js-yaml": "3.12.0", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.3.1", - "wordwrap": "1.0.0" + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" }, "dependencies": { "abbrev": { @@ -7487,11 +7487,11 @@ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" } }, "esprima": { @@ -7512,11 +7512,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-flag": { @@ -7531,7 +7531,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.0.9" + "abbrev": "1" } }, "source-map": { @@ -7541,7 +7541,7 @@ "dev": true, "optional": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } }, "supports-color": { @@ -7550,7 +7550,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } }, "wordwrap": { @@ -7567,10 +7567,10 @@ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", "dev": true, "requires": { - "convert-source-map": "1.6.0", - "istanbul-lib-instrument": "1.10.2", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "convert-source-map": "^1.5.0", + "istanbul-lib-instrument": "^1.7.3", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0" }, "dependencies": { "ajv": { @@ -7579,10 +7579,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "fast-deep-equal": { @@ -7603,7 +7603,7 @@ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "dev": true, "requires": { - "ajv": "5.5.2" + "ajv": "^5.0.0" } } } @@ -7620,13 +7620,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.1", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" } }, "istextorbinary": { @@ -7635,9 +7635,9 @@ "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", "dev": true, "requires": { - "binaryextensions": "2.1.1", - "editions": "1.3.4", - "textextensions": "2.2.0" + "binaryextensions": "2", + "editions": "^1.3.3", + "textextensions": "2" } }, "isurl": { @@ -7646,8 +7646,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jasmine": { @@ -7656,8 +7656,8 @@ "integrity": "sha512-qv6TZ32r+slrQz8fbx2EhGbD9zlJo3NwPrpLK1nE8inILtZO9Fap52pyHk7mNTh4tG50a+1+tOiWVT3jO5I0Sg==", "dev": true, "requires": { - "glob": "7.1.2", - "jasmine-core": "3.2.1" + "glob": "^7.0.6", + "jasmine-core": "~3.2.0" } }, "jasmine-core": { @@ -7683,8 +7683,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -7700,21 +7700,21 @@ "integrity": "sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q==", "dev": true, "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-preset-es2015": "6.24.1", - "babel-preset-stage-1": "6.24.1", - "babel-register": "6.26.0", - "babylon": "7.0.0-beta.47", - "colors": "1.3.2", - "flow-parser": "0.81.0", - "lodash": "4.17.5", - "micromatch": "2.3.11", - "neo-async": "2.5.1", + "babel-plugin-transform-flow-strip-types": "^6.8.0", + "babel-preset-es2015": "^6.9.0", + "babel-preset-stage-1": "^6.5.0", + "babel-register": "^6.9.0", + "babylon": "^7.0.0-beta.47", + "colors": "^1.1.2", + "flow-parser": "^0.*", + "lodash": "^4.13.1", + "micromatch": "^2.3.7", + "neo-async": "^2.5.0", "node-dir": "0.1.8", - "nomnom": "1.8.1", - "recast": "0.15.5", - "temp": "0.8.3", - "write-file-atomic": "1.3.4" + "nomnom": "^1.8.1", + "recast": "^0.15.0", + "temp": "^0.8.1", + "write-file-atomic": "^1.2.0" }, "dependencies": { "ansi-styles": { @@ -7729,7 +7729,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -7750,9 +7750,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "chalk": { @@ -7761,9 +7761,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "colors": { @@ -7778,7 +7778,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -7787,7 +7787,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "extglob": { @@ -7796,7 +7796,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "fill-range": { @@ -7805,11 +7805,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-extglob": { @@ -7824,7 +7824,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -7833,7 +7833,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -7851,7 +7851,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -7860,19 +7860,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "nomnom": { @@ -7881,8 +7881,8 @@ "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", "dev": true, "requires": { - "chalk": "0.4.0", - "underscore": "1.6.0" + "chalk": "~0.4.0", + "underscore": "~1.6.0" } }, "strip-ansi": { @@ -7935,7 +7935,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -7962,7 +7962,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -8004,31 +8004,31 @@ "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", "dev": true, "requires": { - "bluebird": "3.5.1", - "body-parser": "1.18.3", - "chokidar": "2.0.4", - "colors": "1.3.1", - "combine-lists": "1.0.1", - "connect": "3.6.6", - "core-js": "2.5.7", - "di": "0.0.1", - "dom-serialize": "2.2.1", - "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "http-proxy": "1.17.0", - "isbinaryfile": "3.0.3", - "lodash": "4.17.5", - "log4js": "2.11.0", - "mime": "1.6.0", - "minimatch": "3.0.4", - "optimist": "0.6.1", - "qjobs": "1.2.0", - "range-parser": "1.2.0", - "rimraf": "2.6.2", - "safe-buffer": "5.1.2", + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "chokidar": "^2.0.3", + "colors": "^1.1.0", + "combine-lists": "^1.0.0", + "connect": "^3.6.0", + "core-js": "^2.2.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "expand-braces": "^0.1.1", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^4.17.4", + "log4js": "^2.5.3", + "mime": "^1.3.4", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", "socket.io": "2.0.4", - "source-map": "0.6.1", + "source-map": "^0.6.1", "tmp": "0.0.33", "useragent": "2.2.1" }, @@ -8053,8 +8053,8 @@ "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", "dev": true, "requires": { - "fs-access": "1.0.1", - "which": "1.3.1" + "fs-access": "^1.0.0", + "which": "^1.2.1" } }, "karma-coverage": { @@ -8063,11 +8063,11 @@ "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==", "dev": true, "requires": { - "dateformat": "1.0.12", - "istanbul": "0.4.5", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "source-map": "0.5.7" + "dateformat": "^1.0.6", + "istanbul": "^0.4.0", + "lodash": "^4.17.0", + "minimatch": "^3.0.0", + "source-map": "^0.5.1" } }, "karma-jasmine": { @@ -8082,7 +8082,7 @@ "integrity": "sha512-Wg9xagm6y+FYOIX1sa9Dvr0zVTusteQ2L/SAX+TOGO15Iyo2eAINIxOa52MGnPr0WoXF9oWIqUipQ6wlf2V5zA==", "dev": true, "requires": { - "karma-jasmine": "1.1.2" + "karma-jasmine": "^1.0.2" } }, "karma-remap-istanbul": { @@ -8091,8 +8091,8 @@ "integrity": "sha1-l/O3cAZSVPm0ck8tm+SjouG69vw=", "dev": true, "requires": { - "istanbul": "0.4.5", - "remap-istanbul": "0.9.6" + "istanbul": "^0.4.3", + "remap-istanbul": "^0.9.0" }, "dependencies": { "process-nextick-args": { @@ -8107,12 +8107,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "remap-istanbul": { @@ -8121,11 +8121,11 @@ "integrity": "sha512-l0WDBsVjaTzP8m3glERJO6bjlAFUahcgfcgvcX+owZw7dKeDLT3CVRpS7UO4L9LfGcMiNsqk223HopwVxlh8Hg==", "dev": true, "requires": { - "amdefine": "1.0.1", + "amdefine": "^1.0.0", "gulp-util": "3.0.7", "istanbul": "0.4.5", - "minimatch": "3.0.4", - "source-map": "0.6.1", + "minimatch": "^3.0.3", + "source-map": "^0.6.1", "through2": "2.0.1" } }, @@ -8147,8 +8147,8 @@ "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", "dev": true, "requires": { - "readable-stream": "2.0.6", - "xtend": "4.0.1" + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" } } } @@ -8159,7 +8159,7 @@ "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.2" } }, "karma-spec-reporter": { @@ -8168,7 +8168,7 @@ "integrity": "sha1-LpxyB+pyZ3EmAln4K+y1QyCeRAo=", "dev": true, "requires": { - "colors": "1.3.2" + "colors": "^1.1.2" }, "dependencies": { "colors": { @@ -8185,12 +8185,12 @@ "integrity": "sha512-Ja1o9LLoqWaJyUNhTKaXjWiEH9y7a9H3mzP8pYB30SBsgoF5KBS/65NeHFd+QPuT9ITrym8xFt8BZeGbcOfujA==", "dev": true, "requires": { - "async": "2.6.1", - "babel-runtime": "6.26.0", - "loader-utils": "1.1.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "webpack-dev-middleware": "2.0.6" + "async": "^2.0.0", + "babel-runtime": "^6.0.0", + "loader-utils": "^1.0.0", + "lodash": "^4.0.0", + "source-map": "^0.5.6", + "webpack-dev-middleware": "^2.0.6" } }, "keyv": { @@ -8220,7 +8220,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "lazy-cache": { @@ -8236,7 +8236,7 @@ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.5" } }, "lcid": { @@ -8245,7 +8245,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -8254,8 +8254,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "libbase64": { @@ -8295,15 +8295,15 @@ "integrity": "sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw==", "dev": true, "requires": { - "@samverschueren/stream-to-observable": "0.3.0", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "is-stream": "1.1.0", - "listr-silent-renderer": "1.1.1", - "listr-update-renderer": "0.4.0", - "listr-verbose-renderer": "0.4.1", - "p-map": "1.2.0", - "rxjs": "6.3.2" + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.4.0", + "listr-verbose-renderer": "^0.4.0", + "p-map": "^1.1.1", + "rxjs": "^6.1.0" }, "dependencies": { "rxjs": { @@ -8312,7 +8312,7 @@ "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" } } } @@ -8329,14 +8329,14 @@ "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", "dev": true, "requires": { - "chalk": "1.1.3", - "cli-truncate": "0.2.1", - "elegant-spinner": "1.0.1", - "figures": "1.7.0", - "indent-string": "3.2.0", - "log-symbols": "1.0.2", - "log-update": "1.0.2", - "strip-ansi": "3.0.1" + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "strip-ansi": "^3.0.1" }, "dependencies": { "figures": { @@ -8345,8 +8345,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "indent-string": { @@ -8361,7 +8361,7 @@ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "^1.0.0" } } } @@ -8372,10 +8372,10 @@ "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", "dev": true, "requires": { - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "date-fns": "1.29.0", - "figures": "1.7.0" + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" }, "dependencies": { "cli-cursor": { @@ -8384,7 +8384,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "figures": { @@ -8393,8 +8393,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "onetime": { @@ -8409,8 +8409,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } } } @@ -8427,11 +8427,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { "parse-json": { @@ -8440,7 +8440,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pify": { @@ -8463,9 +8463,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "locate-path": { @@ -8474,8 +8474,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -8568,7 +8568,7 @@ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "dev": true, "requires": { - "lodash._root": "3.0.1" + "lodash._root": "^3.0.0" } }, "lodash.flattendeep": { @@ -8601,9 +8601,9 @@ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "dev": true, "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" } }, "lodash.mergewith": { @@ -8630,15 +8630,15 @@ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" } }, "lodash.templatesettings": { @@ -8647,8 +8647,8 @@ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" } }, "log-symbols": { @@ -8657,7 +8657,7 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "2.4.1" + "chalk": "^2.0.1" }, "dependencies": { "ansi-styles": { @@ -8666,7 +8666,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8675,9 +8675,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -8686,7 +8686,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -8697,8 +8697,8 @@ "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "cli-cursor": "1.0.2" + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" }, "dependencies": { "ansi-escapes": { @@ -8713,7 +8713,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "onetime": { @@ -8728,8 +8728,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } } } @@ -8740,18 +8740,18 @@ "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", "dev": true, "requires": { - "amqplib": "0.5.2", - "axios": "0.15.3", - "circular-json": "0.5.5", - "date-format": "1.2.0", - "debug": "3.1.0", - "hipchat-notifier": "1.1.0", - "loggly": "1.1.1", - "mailgun-js": "0.18.1", - "nodemailer": "2.7.2", - "redis": "2.8.0", - "semver": "5.5.0", - "slack-node": "0.2.0", + "amqplib": "^0.5.2", + "axios": "^0.15.3", + "circular-json": "^0.5.4", + "date-format": "^1.2.0", + "debug": "^3.1.0", + "hipchat-notifier": "^1.1.0", + "loggly": "^1.1.0", + "mailgun-js": "^0.18.0", + "nodemailer": "^2.5.0", + "redis": "^2.7.1", + "semver": "^5.5.0", + "slack-node": "~0.2.0", "streamroller": "0.7.0" }, "dependencies": { @@ -8773,9 +8773,9 @@ "dev": true, "optional": true, "requires": { - "json-stringify-safe": "5.0.1", - "request": "2.75.0", - "timespan": "2.3.0" + "json-stringify-safe": "5.0.x", + "request": "2.75.x", + "timespan": "2.3.x" }, "dependencies": { "bl": { @@ -8785,7 +8785,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "2.0.6" + "readable-stream": "~2.0.5" } }, "caseless": { @@ -8802,9 +8802,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" } }, "har-validator": { @@ -8814,10 +8814,10 @@ "dev": true, "optional": true, "requires": { - "chalk": "1.1.3", - "commander": "2.17.1", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" } }, "node-uuid": { @@ -8848,12 +8848,12 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "request": { @@ -8863,27 +8863,27 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.8.0", - "bl": "1.1.2", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.0.0", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "node-uuid": "1.4.8", - "oauth-sign": "0.8.2", - "qs": "6.2.3", - "stringstream": "0.0.6", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.4.3" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.0.0", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1" } }, "string_decoder": { @@ -8914,8 +8914,8 @@ "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", "dev": true, "requires": { - "es6-symbol": "3.1.1", - "object.assign": "4.1.0" + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" } }, "long": { @@ -8935,7 +8935,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "loud-rejection": { @@ -8944,8 +8944,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -8960,8 +8960,8 @@ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "mailcomposer": { @@ -8982,15 +8982,15 @@ "dev": true, "optional": true, "requires": { - "async": "2.6.1", - "debug": "3.1.0", - "form-data": "2.3.2", - "inflection": "1.12.0", - "is-stream": "1.1.0", - "path-proxy": "1.0.0", - "promisify-call": "2.0.4", - "proxy-agent": "3.0.1", - "tsscmp": "1.0.6" + "async": "~2.6.0", + "debug": "~3.1.0", + "form-data": "~2.3.0", + "inflection": "~1.12.0", + "is-stream": "^1.1.0", + "path-proxy": "~1.0.0", + "promisify-call": "^2.0.2", + "proxy-agent": "~3.0.0", + "tsscmp": "~1.0.0" }, "dependencies": { "debug": { @@ -9010,9 +9010,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "mime-types": "^2.1.12" } } } @@ -9023,7 +9023,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "mamacro": { @@ -9050,7 +9050,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "math-random": { @@ -9065,8 +9065,8 @@ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "media-typer": { @@ -9081,7 +9081,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "mem-fs": { @@ -9090,9 +9090,9 @@ "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", "dev": true, "requires": { - "through2": "2.0.3", - "vinyl": "1.2.0", - "vinyl-file": "2.0.0" + "through2": "^2.0.0", + "vinyl": "^1.1.0", + "vinyl-file": "^2.0.0" }, "dependencies": { "vinyl": { @@ -9101,8 +9101,8 @@ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, "requires": { - "clone": "1.0.4", - "clone-stats": "0.0.1", + "clone": "^1.0.0", + "clone-stats": "^0.0.1", "replace-ext": "0.0.1" } } @@ -9114,17 +9114,17 @@ "integrity": "sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==", "dev": true, "requires": { - "commondir": "1.0.1", - "deep-extend": "0.6.0", - "ejs": "2.5.9", - "glob": "7.1.2", - "globby": "7.1.1", - "isbinaryfile": "3.0.3", - "mkdirp": "0.5.1", - "multimatch": "2.1.0", - "rimraf": "2.6.2", - "through2": "2.0.3", - "vinyl": "2.2.0" + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^2.5.9", + "glob": "^7.0.3", + "globby": "^7.1.1", + "isbinaryfile": "^3.0.2", + "mkdirp": "^0.5.0", + "multimatch": "^2.0.0", + "rimraf": "^2.2.8", + "through2": "^2.0.0", + "vinyl": "^2.0.1" }, "dependencies": { "clone": { @@ -9151,12 +9151,12 @@ "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", "dev": true, "requires": { - "clone": "2.1.2", - "clone-buffer": "1.0.0", - "clone-stats": "1.0.0", - "cloneable-readable": "1.1.2", - "remove-trailing-separator": "1.1.0", - "replace-ext": "1.0.0" + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" } } } @@ -9167,8 +9167,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.6" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, "mendix-client": { @@ -9178,7 +9178,7 @@ "dev": true, "requires": { "@types/big.js": "0.0.31", - "@types/dojo": "1.9.40" + "@types/dojo": "^1.9.34" } }, "mendix-widget-build-script": { @@ -9187,9 +9187,9 @@ "integrity": "sha512-gWql2Ud1qYdpqDUsey0HzHIbC3m5j9sGD5W+OgLxiYxxWz/l9DcEEWn9BCj7o6yui5kQk+nWv6xDvWmz3Lr68Q==", "dev": true, "requires": { - "archiver": "2.1.1", - "node-svn-ultimate": "1.1.0", - "request": "2.81.0" + "archiver": "^2.0.0", + "node-svn-ultimate": "^1.1.0", + "request": "^2.81.0" }, "dependencies": { "archiver": { @@ -9198,14 +9198,14 @@ "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", "dev": true, "requires": { - "archiver-utils": "1.3.0", - "async": "2.6.1", - "buffer-crc32": "0.2.13", - "glob": "7.1.2", - "lodash": "4.17.5", - "readable-stream": "2.3.6", - "tar-stream": "1.6.1", - "zip-stream": "1.2.0" + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^1.2.0" } } } @@ -9216,16 +9216,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "minimist": { @@ -9260,19 +9260,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "miller-rabin": { @@ -9281,8 +9281,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { @@ -9303,7 +9303,7 @@ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "1.35.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -9336,7 +9336,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -9351,16 +9351,16 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "duplexify": "3.6.0", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.3", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "2.0.1", - "pumpify": "1.5.1", - "stream-each": "1.2.3", - "through2": "2.0.3" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" } }, "mixin-deep": { @@ -9369,8 +9369,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -9379,7 +9379,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -9390,8 +9390,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" }, "dependencies": { "for-in": { @@ -9437,12 +9437,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "1.2.0", - "copy-concurrently": "1.0.5", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, "ms": { @@ -9457,8 +9457,8 @@ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.2" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { @@ -9473,10 +9473,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "multipipe": { @@ -9507,17 +9507,17 @@ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "nearley": { @@ -9526,11 +9526,11 @@ "integrity": "sha512-ZjzdO+yBtMrRrBbr+BJ35ECla6PGCAb/6hqpBQe7bmhEJabQ4rpVdj4sadP1Z1jQGyaDmm1GciQWsGVxIZ3uJA==", "dev": true, "requires": { - "moo": "0.4.3", - "nomnom": "1.6.2", - "railroad-diagrams": "1.0.0", + "moo": "^0.4.3", + "nomnom": "~1.6.2", + "railroad-diagrams": "^1.0.0", "randexp": "0.4.6", - "semver": "5.5.0" + "semver": "^5.4.1" } }, "negotiator": { @@ -9571,7 +9571,7 @@ "dev": true, "optional": true, "requires": { - "semver": "5.5.0" + "semver": "^5.4.1" } }, "node-dir": { @@ -9586,8 +9586,8 @@ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "dev": true, "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-forge": { @@ -9602,18 +9602,18 @@ "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", "dev": true, "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.5", - "request": "2.81.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.1" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": ">=2.9.0 <2.82.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { "nopt": { @@ -9622,7 +9622,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "semver": { @@ -9639,28 +9639,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.6", - "stream-browserify": "2.0.1", - "stream-http": "2.8.3", - "string_decoder": "1.1.1", - "timers-browserify": "2.0.10", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.4", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -9670,9 +9670,9 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.12", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "punycode": { @@ -9689,25 +9689,25 @@ "integrity": "sha1-XmP+a9DyrjrJ1sFO3oYg4ri9tDc=", "dev": true, "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.3", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.1", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.10.0", - "node-gyp": "3.7.0", - "npmlog": "4.1.2", + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.3.1", + "npmlog": "^4.0.0", "request": "2.87.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0", - "true-case-path": "1.0.2" + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" }, "dependencies": { "ajv": { @@ -9716,10 +9716,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "assert-plus": { @@ -9746,9 +9746,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "mime-types": "^2.1.12" } }, "har-schema": { @@ -9763,8 +9763,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "http-signature": { @@ -9773,9 +9773,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "json-schema-traverse": { @@ -9802,26 +9802,26 @@ "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } } } @@ -9832,10 +9832,10 @@ "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", "dev": true, "requires": { - "fs-extra": "1.0.0", - "semver": "5.5.0", - "uuid": "3.3.2", - "xml2js": "0.4.19" + "fs-extra": "^1.0.0", + "semver": "^5.3.0", + "uuid": "^3.0.0", + "xml2js": "^0.4.17" } }, "nodemailer": { @@ -9861,8 +9861,8 @@ "dev": true, "optional": true, "requires": { - "ip": "1.1.5", - "smart-buffer": "1.1.15" + "ip": "^1.1.2", + "smart-buffer": "^1.0.4" } } } @@ -9929,8 +9929,8 @@ "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=", "dev": true, "requires": { - "colors": "0.5.1", - "underscore": "1.4.4" + "colors": "0.5.x", + "underscore": "~1.4.4" } }, "noop-logger": { @@ -9946,10 +9946,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.4" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -9958,7 +9958,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -9967,9 +9967,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" } }, "npm-install-package": { @@ -9984,7 +9984,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -9993,10 +9993,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "nth-check": { @@ -10005,7 +10005,7 @@ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "dev": true, "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "null-check": { @@ -10043,9 +10043,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -10054,7 +10054,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -10063,7 +10063,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10092,7 +10092,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.assign": { @@ -10101,10 +10101,10 @@ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "object-keys": "1.0.12" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, "object.entries": { @@ -10113,10 +10113,10 @@ "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has": "1.0.3" + "define-properties": "^1.1.2", + "es-abstract": "^1.6.1", + "function-bind": "^1.1.0", + "has": "^1.0.1" } }, "object.omit": { @@ -10125,8 +10125,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" }, "dependencies": { "for-own": { @@ -10135,7 +10135,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } } } @@ -10146,7 +10146,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "object.values": { @@ -10155,10 +10155,10 @@ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has": "1.0.3" + "define-properties": "^1.1.2", + "es-abstract": "^1.6.1", + "function-bind": "^1.1.0", + "has": "^1.0.1" } }, "obuf": { @@ -10188,7 +10188,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -10197,7 +10197,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opener": { @@ -10212,7 +10212,7 @@ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "optimist": { @@ -10221,8 +10221,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "optionator": { @@ -10231,12 +10231,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -10253,7 +10253,7 @@ "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, "requires": { - "url-parse": "1.4.3" + "url-parse": "^1.4.3" } }, "os-browserify": { @@ -10274,7 +10274,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-shim": { @@ -10295,8 +10295,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "p-cancelable": { @@ -10311,7 +10311,7 @@ "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", "dev": true, "requires": { - "p-reduce": "1.0.0" + "p-reduce": "^1.0.0" } }, "p-finally": { @@ -10338,7 +10338,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -10347,7 +10347,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -10368,7 +10368,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -10384,14 +10384,14 @@ "dev": true, "optional": true, "requires": { - "agent-base": "4.2.1", - "debug": "3.1.0", - "get-uri": "2.0.2", - "http-proxy-agent": "2.1.0", - "https-proxy-agent": "2.2.1", - "pac-resolver": "3.0.0", - "raw-body": "2.3.3", - "socks-proxy-agent": "3.0.1" + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^3.0.0" }, "dependencies": { "bytes": { @@ -10431,8 +10431,8 @@ "dev": true, "optional": true, "requires": { - "agent-base": "4.2.1", - "socks": "1.1.10" + "agent-base": "^4.1.0", + "socks": "^1.1.10" } } } @@ -10444,11 +10444,11 @@ "dev": true, "optional": true, "requires": { - "co": "4.6.0", - "degenerator": "1.0.4", - "ip": "1.1.5", - "netmask": "1.0.6", - "thunkify": "2.1.2" + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" } }, "pako": { @@ -10463,9 +10463,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, "parse-asn1": { @@ -10474,11 +10474,11 @@ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.16" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-glob": { @@ -10487,10 +10487,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -10505,7 +10505,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10516,8 +10516,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "parse-passwd": { @@ -10532,7 +10532,7 @@ "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "9.6.7" + "@types/node": "*" } }, "parseqs": { @@ -10541,7 +10541,7 @@ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseuri": { @@ -10550,7 +10550,7 @@ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseurl": { @@ -10614,7 +10614,7 @@ "dev": true, "optional": true, "requires": { - "inflection": "1.3.8" + "inflection": "~1.3.0" }, "dependencies": { "inflection": { @@ -10638,7 +10638,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "pbkdf2": { @@ -10647,11 +10647,11 @@ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "pend": { @@ -10684,7 +10684,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -10693,7 +10693,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plugin-error": { @@ -10702,11 +10702,11 @@ "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "dev": true, "requires": { - "ansi-cyan": "0.1.1", - "ansi-red": "0.1.1", - "arr-diff": "1.1.0", - "arr-union": "2.1.0", - "extend-shallow": "1.1.4" + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" }, "dependencies": { "arr-diff": { @@ -10715,8 +10715,8 @@ "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-slice": "0.2.3" + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" } }, "arr-union": { @@ -10731,7 +10731,7 @@ "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "dev": true, "requires": { - "kind-of": "1.1.0" + "kind-of": "^1.1.0" } }, "kind-of": { @@ -10748,9 +10748,9 @@ "integrity": "sha512-icBXCFQxzlK2PMepOM0QeEdPPFSLAaXXeuKOv5AClJlMy1oVCBrkDGJ12IZYesI/BF8mpeVco3vRCmgeBb4+hw==", "dev": true, "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "dependencies": { "async": { @@ -10773,9 +10773,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.5.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "ansi-styles": { @@ -10784,7 +10784,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -10793,9 +10793,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "source-map": { @@ -10810,7 +10810,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -10821,7 +10821,7 @@ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "postcss": "6.0.23" + "postcss": "^6.0.1" } }, "postcss-modules-local-by-default": { @@ -10830,8 +10830,8 @@ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.23" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-scope": { @@ -10840,8 +10840,8 @@ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.23" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-values": { @@ -10850,8 +10850,8 @@ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.23" + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" } }, "postcss-value-parser": { @@ -10866,9 +10866,9 @@ "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "spawn-sync": "1.0.15", - "which": "1.2.14" + "cross-spawn": "^5.0.1", + "spawn-sync": "^1.0.15", + "which": "1.2.x" }, "dependencies": { "cross-spawn": { @@ -10877,9 +10877,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.2.14" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "which": { @@ -10888,7 +10888,7 @@ "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } } } @@ -10900,21 +10900,21 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "expand-template": "1.1.1", + "detect-libc": "^1.0.3", + "expand-template": "^1.0.2", "github-from-package": "0.0.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "node-abi": "2.4.3", - "noop-logger": "0.1.1", - "npmlog": "4.1.2", - "os-homedir": "1.0.2", - "pump": "2.0.1", - "rc": "1.2.8", - "simple-get": "2.8.1", - "tar-fs": "1.16.3", - "tunnel-agent": "0.6.0", - "which-pm-runs": "1.0.0" + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-abi": "^2.2.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.1.6", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" }, "dependencies": { "detect-libc": { @@ -10993,7 +10993,7 @@ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dev": true, "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "promise-inflight": { @@ -11009,7 +11009,7 @@ "dev": true, "optional": true, "requires": { - "with-callback": "1.0.2" + "with-callback": "^1.0.2" } }, "prop-types": { @@ -11017,8 +11017,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "proxy-addr": { @@ -11027,7 +11027,7 @@ "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "dev": true, "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.8.0" } }, @@ -11038,14 +11038,14 @@ "dev": true, "optional": true, "requires": { - "agent-base": "4.2.1", - "debug": "3.1.0", - "http-proxy-agent": "2.1.0", - "https-proxy-agent": "2.2.1", - "lru-cache": "4.1.3", - "pac-proxy-agent": "2.0.2", - "proxy-from-env": "1.0.0", - "socks-proxy-agent": "4.0.1" + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "pac-proxy-agent": "^2.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" }, "dependencies": { "debug": { @@ -11085,11 +11085,11 @@ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "pump": { @@ -11098,8 +11098,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -11108,9 +11108,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -11143,9 +11143,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "querystring": { @@ -11172,7 +11172,7 @@ "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "dev": true, "requires": { - "performance-now": "2.1.0" + "performance-now": "^2.1.0" } }, "railroad-diagrams": { @@ -11188,7 +11188,7 @@ "dev": true, "requires": { "discontinuous-range": "1.0.0", - "ret": "0.1.15" + "ret": "~0.1.10" } }, "randomatic": { @@ -11197,9 +11197,9 @@ "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -11216,7 +11216,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -11225,8 +11225,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -11241,8 +11241,8 @@ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "dev": true, "requires": { - "bytes": "1.0.0", - "string_decoder": "0.10.31" + "bytes": "1", + "string_decoder": "0.10" }, "dependencies": { "string_decoder": { @@ -11266,10 +11266,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -11287,10 +11287,10 @@ "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==", "dev": true, "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-dom": { @@ -11299,10 +11299,10 @@ "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==", "dev": true, "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-fastclick": { @@ -11315,7 +11315,7 @@ "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", "integrity": "sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA==", "requires": { - "prop-types": "15.6.2" + "prop-types": "^15.5.8" } }, "react-is": { @@ -11330,10 +11330,10 @@ "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", "dev": true, "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-select": { @@ -11341,9 +11341,9 @@ "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz", "integrity": "sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==", "requires": { - "classnames": "2.2.6", - "prop-types": "15.6.2", - "react-input-autosize": "2.2.1" + "classnames": "^2.2.4", + "prop-types": "^15.5.8", + "react-input-autosize": "^2.1.2" } }, "react-test-renderer": { @@ -11352,10 +11352,10 @@ "integrity": "sha512-vdTPnRMDbxfv4wL4lzN4EkVGXyYs7LE2uImOsqh1FKiP6L5o1oJl8nore5sFi9vxrP9PK3l4rgb/fZ4PVUaWSA==", "dev": true, "requires": { - "fbjs": "0.8.17", - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "react-is": "16.4.2" + "fbjs": "^0.8.16", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0", + "react-is": "^16.4.2" } }, "read-chunk": { @@ -11364,8 +11364,8 @@ "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", "dev": true, "requires": { - "pify": "3.0.0", - "safe-buffer": "5.1.2" + "pify": "^3.0.0", + "safe-buffer": "^5.1.1" } }, "read-pkg": { @@ -11374,9 +11374,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" }, "dependencies": { "path-type": { @@ -11385,9 +11385,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -11404,8 +11404,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -11414,8 +11414,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -11424,7 +11424,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -11435,13 +11435,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -11450,10 +11450,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "recast": { @@ -11463,9 +11463,9 @@ "dev": true, "requires": { "ast-types": "0.11.5", - "esprima": "4.0.1", - "private": "0.1.8", - "source-map": "0.6.1" + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -11482,7 +11482,7 @@ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "resolve": "1.1.7" + "resolve": "^1.1.6" } }, "redent": { @@ -11491,8 +11491,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "redis": { @@ -11502,9 +11502,9 @@ "dev": true, "optional": true, "requires": { - "double-ended-queue": "2.1.0-0", - "redis-commands": "1.3.5", - "redis-parser": "2.6.0" + "double-ended-queue": "^2.1.0-0", + "redis-commands": "^1.2.0", + "redis-parser": "^2.6.0" } }, "redis-commands": { @@ -11539,9 +11539,9 @@ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "regex-cache": { @@ -11550,7 +11550,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11559,8 +11559,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpu-core": { @@ -11569,9 +11569,9 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "regjsgen": { @@ -11586,7 +11586,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -11603,11 +11603,11 @@ "integrity": "sha512-Itv3XvYjD6G+9xDzAeFohx4GUwbFjfqFt0UXlC826jHR18E49fEiEGqZUxUASwMq4z7wwUv2H9/XF2d6qj0iaQ==", "dev": true, "requires": { - "amdefine": "1.0.1", + "amdefine": "^1.0.0", "istanbul": "0.4.5", - "minimatch": "3.0.4", - "plugin-error": "0.1.2", - "source-map": "0.6.1", + "minimatch": "^3.0.3", + "plugin-error": "^0.1.2", + "source-map": "^0.6.1", "through2": "2.0.1" }, "dependencies": { @@ -11623,12 +11623,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "source-map": { @@ -11649,8 +11649,8 @@ "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", "dev": true, "requires": { - "readable-stream": "2.0.6", - "xtend": "4.0.1" + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" } } } @@ -11679,7 +11679,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "replace-ext": { @@ -11694,28 +11694,28 @@ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "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.19", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.2", - "stringstream": "0.0.6", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" }, "dependencies": { "performance-now": { @@ -11733,10 +11733,10 @@ "dev": true, "optional": true, "requires": { - "extend": "3.0.2", - "lodash": "4.17.5", - "request": "2.81.0", - "when": "3.7.8" + "extend": "^3.0.0", + "lodash": "^4.15.0", + "request": "^2.74.0", + "when": "^3.7.7" } }, "require-directory": { @@ -11769,7 +11769,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-dir": { @@ -11778,8 +11778,8 @@ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "expand-tilde": "2.0.2", - "global-modules": "1.0.0" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, "resolve-from": { @@ -11800,7 +11800,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -11809,8 +11809,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -11832,7 +11832,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -11841,7 +11841,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { @@ -11850,8 +11850,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "rst-selector-parser": { @@ -11860,8 +11860,8 @@ "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", "dev": true, "requires": { - "lodash.flattendeep": "4.4.0", - "nearley": "2.15.0" + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" } }, "run-async": { @@ -11870,7 +11870,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "run-queue": { @@ -11879,7 +11879,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "1.2.0" + "aproba": "^1.1.1" } }, "rx-lite": { @@ -11894,7 +11894,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "rxjs": { @@ -11924,7 +11924,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -11939,10 +11939,10 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.5", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" }, "dependencies": { "camelcase": { @@ -11957,9 +11957,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "y18n": { @@ -11974,19 +11974,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" } } } @@ -11997,12 +11997,12 @@ "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", "dev": true, "requires": { - "clone-deep": "2.0.2", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "neo-async": "2.5.1", - "pify": "3.0.0", - "semver": "5.5.0" + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0", + "semver": "^5.5.0" } }, "sax": { @@ -12017,8 +12017,8 @@ "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { - "ajv": "6.5.2", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, "scoped-regex": { @@ -12033,8 +12033,8 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "2.4.8", - "source-map": "0.4.4" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { "source-map": { @@ -12043,7 +12043,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -12060,19 +12060,19 @@ "integrity": "sha512-2VXqkcpd+RNJZwCp8UMmqubeSkLvscraRZtg2qdkXwoNNmx5Hu6uaOBy45VJNG6PiUJNZtBZQpnOUfNN2aD1EA==", "dev": true, "requires": { - "async": "2.6.1", - "commander": "2.17.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "lodash": "4.17.5", - "minimist": "1.2.0", - "mkdirp": "0.5.1", + "async": "^2.1.4", + "commander": "^2.9.0", + "cross-spawn": "^6.0.0", + "debug": "^3.0.0", + "lodash": "^4.17.4", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", "progress": "2.0.0", "request": "2.87.0", "tar-stream": "1.6.1", - "urijs": "1.19.1", - "which": "1.3.1", - "yauzl": "2.10.0" + "urijs": "^1.18.4", + "which": "^1.2.12", + "yauzl": "^2.5.0" }, "dependencies": { "ajv": { @@ -12081,10 +12081,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "assert-plus": { @@ -12105,11 +12105,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "debug": { @@ -12133,9 +12133,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "mime-types": "^2.1.12" } }, "har-schema": { @@ -12150,8 +12150,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "http-signature": { @@ -12160,9 +12160,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "json-schema-traverse": { @@ -12189,26 +12189,26 @@ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } } } @@ -12235,18 +12235,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { "mime": { @@ -12275,13 +12275,13 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.3", - "mime-types": "2.1.19", - "parseurl": "1.3.2" + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" } }, "serve-static": { @@ -12290,9 +12290,9 @@ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -12302,7 +12302,7 @@ "integrity": "sha512-VgDEkZ3pA0HajsRaWtl5w6bLxAXx0Y+4dm7YeTcIxVmvC9YXvstex38HOBDuYETeDS5fUlBy/47gC0QYBrG0nw==", "dev": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "set-blocking": { @@ -12323,10 +12323,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -12335,7 +12335,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12358,8 +12358,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shallow-clone": { @@ -12368,9 +12368,9 @@ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "0.1.1", - "kind-of": "5.1.0", - "mixin-object": "2.0.1" + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" }, "dependencies": { "kind-of": { @@ -12387,7 +12387,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -12402,9 +12402,9 @@ "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", "dev": true, "requires": { - "glob": "7.1.2", - "interpret": "1.1.0", - "rechoir": "0.6.2" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" } }, "signal-exit": { @@ -12427,9 +12427,9 @@ "dev": true, "optional": true, "requires": { - "decompress-response": "3.3.0", - "once": "1.4.0", - "simple-concat": "1.0.0" + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, "slack-node": { @@ -12439,7 +12439,7 @@ "dev": true, "optional": true, "requires": { - "requestretry": "1.13.0" + "requestretry": "^1.2.2" } }, "slash": { @@ -12483,14 +12483,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -12499,7 +12499,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -12508,7 +12508,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12519,9 +12519,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -12530,7 +12530,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -12539,7 +12539,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12548,7 +12548,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12557,9 +12557,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -12570,7 +12570,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -12579,7 +12579,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12590,7 +12590,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "socket.io": { @@ -12599,11 +12599,11 @@ "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", "dev": true, "requires": { - "debug": "2.6.9", - "engine.io": "3.1.5", - "socket.io-adapter": "1.1.1", + "debug": "~2.6.6", + "engine.io": "~3.1.0", + "socket.io-adapter": "~1.1.0", "socket.io-client": "2.0.4", - "socket.io-parser": "3.1.3" + "socket.io-parser": "~3.1.1" } }, "socket.io-adapter": { @@ -12622,14 +12622,14 @@ "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "2.6.9", - "engine.io-client": "3.1.6", + "debug": "~2.6.4", + "engine.io-client": "~3.1.0", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "3.1.3", + "socket.io-parser": "~3.1.1", "to-array": "0.1.4" } }, @@ -12640,8 +12640,8 @@ "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "3.1.0", - "has-binary2": "1.0.3", + "debug": "~3.1.0", + "has-binary2": "~1.0.2", "isarray": "2.0.1" }, "dependencies": { @@ -12668,8 +12668,8 @@ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, "requires": { - "faye-websocket": "0.10.0", - "uuid": "3.3.2" + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" } }, "sockjs-client": { @@ -12678,12 +12678,12 @@ "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", "dev": true, "requires": { - "debug": "2.6.9", + "debug": "^2.6.6", "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.4.3" + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" }, "dependencies": { "faye-websocket": { @@ -12692,7 +12692,7 @@ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } } } @@ -12704,8 +12704,8 @@ "dev": true, "optional": true, "requires": { - "ip": "1.1.5", - "smart-buffer": "1.1.15" + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" } }, "socks-proxy-agent": { @@ -12715,8 +12715,8 @@ "dev": true, "optional": true, "requires": { - "agent-base": "4.2.1", - "socks": "2.2.1" + "agent-base": "~4.2.0", + "socks": "~2.2.0" }, "dependencies": { "smart-buffer": { @@ -12733,8 +12733,8 @@ "dev": true, "optional": true, "requires": { - "ip": "1.1.5", - "smart-buffer": "4.0.1" + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" } } } @@ -12745,7 +12745,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-list-map": { @@ -12766,9 +12766,9 @@ "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", "dev": true, "requires": { - "async": "2.6.1", - "loader-utils": "0.2.17", - "source-map": "0.6.1" + "async": "^2.5.0", + "loader-utils": "~0.2.2", + "source-map": "~0.6.1" }, "dependencies": { "loader-utils": { @@ -12777,10 +12777,10 @@ "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" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } }, "source-map": { @@ -12797,11 +12797,11 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -12810,7 +12810,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "source-map-url": { @@ -12831,8 +12831,8 @@ "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "requires": { - "concat-stream": "1.6.2", - "os-shim": "0.1.3" + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" } }, "spdx-correct": { @@ -12841,8 +12841,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -12857,8 +12857,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -12873,12 +12873,12 @@ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "dev": true, "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.2", - "select-hose": "2.0.0", - "spdy-transport": "2.1.0" + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" } }, "spdy-transport": { @@ -12887,13 +12887,13 @@ "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", "dev": true, "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.2", - "readable-stream": "2.3.6", - "safe-buffer": "5.1.2", - "wbuf": "1.7.3" + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" } }, "split-string": { @@ -12902,7 +12902,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -12917,15 +12917,15 @@ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -12942,7 +12942,7 @@ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "static-extend": { @@ -12951,8 +12951,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -12961,7 +12961,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -12978,7 +12978,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.1" } }, "stream-browserify": { @@ -12987,8 +12987,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-buffers": { @@ -13003,8 +13003,8 @@ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "stream-shift": "1.0.0" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, "stream-http": { @@ -13013,11 +13013,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "stream-shift": { @@ -13032,10 +13032,10 @@ "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "requires": { - "date-format": "1.2.0", - "debug": "3.1.0", - "mkdirp": "0.5.1", - "readable-stream": "2.3.6" + "date-format": "^1.2.0", + "debug": "^3.1.0", + "mkdirp": "^0.5.1", + "readable-stream": "^2.3.0" }, "dependencies": { "debug": { @@ -13067,9 +13067,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -13078,7 +13078,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -13093,7 +13093,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -13102,7 +13102,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-bom-stream": { @@ -13111,8 +13111,8 @@ "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", "dev": true, "requires": { - "first-chunk-stream": "2.0.0", - "strip-bom": "2.0.0" + "first-chunk-stream": "^2.0.0", + "strip-bom": "^2.0.0" } }, "strip-eof": { @@ -13127,7 +13127,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -13143,8 +13143,8 @@ "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.7" + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" } }, "supports-color": { @@ -13171,9 +13171,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "tar-fs": { @@ -13183,10 +13183,10 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "mkdirp": "0.5.1", - "pump": "1.0.3", - "tar-stream": "1.6.1" + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" }, "dependencies": { "pump": { @@ -13196,8 +13196,8 @@ "dev": true, "optional": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } } } @@ -13208,13 +13208,13 @@ "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { - "bl": "1.2.2", - "buffer-alloc": "1.2.0", - "end-of-stream": "1.4.1", - "fs-constants": "1.0.0", - "readable-stream": "2.3.6", - "to-buffer": "1.1.1", - "xtend": "4.0.1" + "bl": "^1.0.0", + "buffer-alloc": "^1.1.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.0", + "xtend": "^4.0.0" } }, "temp": { @@ -13223,8 +13223,8 @@ "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "dev": true, "requires": { - "os-tmpdir": "1.0.2", - "rimraf": "2.2.8" + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" }, "dependencies": { "rimraf": { @@ -13259,8 +13259,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "thunkify": { @@ -13294,7 +13294,7 @@ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "timespan": { @@ -13310,12 +13310,12 @@ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, "requires": { - "body": "5.1.0", - "debug": "3.1.0", - "faye-websocket": "0.10.0", - "livereload-js": "2.3.0", - "object-assign": "4.1.1", - "qs": "6.4.0" + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" }, "dependencies": { "debug": { @@ -13335,7 +13335,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-array": { @@ -13368,7 +13368,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -13377,7 +13377,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -13388,10 +13388,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -13400,8 +13400,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -13410,7 +13410,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" }, "dependencies": { "punycode": { @@ -13439,7 +13439,7 @@ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", "dev": true, "requires": { - "glob": "6.0.4" + "glob": "^6.0.4" }, "dependencies": { "glob": { @@ -13448,11 +13448,11 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -13469,11 +13469,11 @@ "integrity": "sha512-Z3Y1a7A0KZZ1s/mAZkt74l1NAF7Y5xUhD1V9VB8/1eUlUOk8Qa/oo46tO2Uu5kQ3wXypOlbv77lLQySjXEDcdw==", "dev": true, "requires": { - "chalk": "2.4.1", - "enhanced-resolve": "4.1.0", - "loader-utils": "1.1.0", - "micromatch": "3.1.10", - "semver": "5.5.0" + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^3.1.4", + "semver": "^5.0.1" }, "dependencies": { "ansi-styles": { @@ -13482,7 +13482,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -13491,9 +13491,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -13502,7 +13502,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -13519,18 +13519,18 @@ "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "builtin-modules": "1.1.1", - "chalk": "2.4.1", - "commander": "2.17.1", - "diff": "3.5.0", - "glob": "7.1.2", - "js-yaml": "3.12.0", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0", - "tslib": "1.9.3", - "tsutils": "2.29.0" + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" }, "dependencies": { "ansi-styles": { @@ -13539,7 +13539,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -13548,9 +13548,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "resolve": { @@ -13559,7 +13559,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.5" } }, "supports-color": { @@ -13568,7 +13568,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -13596,7 +13596,7 @@ "integrity": "sha1-AWAXNymzvxOGKN0UoVN+AIUdgUo=", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } } } @@ -13614,7 +13614,7 @@ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.8.1" } }, "tty-browserify": { @@ -13629,7 +13629,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -13645,7 +13645,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-is": { @@ -13655,7 +13655,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.19" + "mime-types": "~2.1.18" } }, "typedarray": { @@ -13665,9 +13665,9 @@ "dev": true }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.0.3.tgz", + "integrity": "sha512-kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg==", "dev": true }, "ua-parser-js": { @@ -13683,9 +13683,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, "uglify-to-browserify": { @@ -13701,14 +13701,14 @@ "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==", "dev": true, "requires": { - "cacache": "10.0.4", - "find-cache-dir": "1.0.0", - "schema-utils": "0.4.7", - "serialize-javascript": "1.5.0", - "source-map": "0.6.1", - "uglify-es": "3.3.9", - "webpack-sources": "1.1.0", - "worker-farm": "1.6.0" + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" }, "dependencies": { "commander": { @@ -13729,8 +13729,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" } } } @@ -13753,8 +13753,8 @@ "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=", "dev": true, "requires": { - "sprintf-js": "1.0.3", - "util-deprecate": "1.0.2" + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" } }, "union-value": { @@ -13763,10 +13763,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -13775,7 +13775,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -13784,10 +13784,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -13798,7 +13798,7 @@ "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "2.0.0" + "unique-slug": "^2.0.0" } }, "unique-slug": { @@ -13807,7 +13807,7 @@ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "imurmurhash": "0.1.4" + "imurmurhash": "^0.1.4" } }, "unpipe": { @@ -13822,8 +13822,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -13832,9 +13832,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -13862,7 +13862,7 @@ "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", "dev": true, "requires": { - "os-homedir": "1.0.2" + "os-homedir": "^1.0.0" } }, "upath": { @@ -13877,7 +13877,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "urijs": { @@ -13922,8 +13922,8 @@ "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", "dev": true, "requires": { - "querystringify": "2.0.0", - "requires-port": "1.0.0" + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" } }, "url-parse-lax": { @@ -13932,7 +13932,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } }, "url-to-options": { @@ -13953,8 +13953,8 @@ "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", "dev": true, "requires": { - "lru-cache": "2.2.4", - "tmp": "0.0.33" + "lru-cache": "2.2.x", + "tmp": "0.0.x" }, "dependencies": { "lru-cache": { @@ -14011,8 +14011,8 @@ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "vary": { @@ -14027,9 +14027,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" }, "dependencies": { "assert-plus": { @@ -14046,8 +14046,8 @@ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "dev": true, "requires": { - "clone": "1.0.4", - "clone-stats": "0.0.1", + "clone": "^1.0.0", + "clone-stats": "^0.0.1", "replace-ext": "0.0.1" } }, @@ -14057,12 +14057,12 @@ "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0", - "strip-bom-stream": "2.0.0", - "vinyl": "1.2.0" + "graceful-fs": "^4.1.2", + "pify": "^2.3.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^2.0.0", + "vinyl": "^1.1.0" }, "dependencies": { "pify": { @@ -14077,8 +14077,8 @@ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, "requires": { - "clone": "1.0.4", - "clone-stats": "0.0.1", + "clone": "^1.0.0", + "clone-stats": "^0.0.1", "replace-ext": "0.0.1" } } @@ -14111,9 +14111,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "2.0.4", - "graceful-fs": "4.1.11", - "neo-async": "2.5.1" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" } }, "wbuf": { @@ -14122,7 +14122,7 @@ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { - "minimalistic-assert": "1.0.1" + "minimalistic-assert": "^1.0.0" } }, "wdio-dot-reporter": { @@ -14138,7 +14138,7 @@ "dev": true, "requires": { "babel-runtime": "6.26.0", - "jasmine": "3.2.0", + "jasmine": "^3.0.0", "wdio-sync": "0.7.1" }, "dependencies": { @@ -14148,8 +14148,8 @@ "integrity": "sha512-qv6TZ32r+slrQz8fbx2EhGbD9zlJo3NwPrpLK1nE8inILtZO9Fap52pyHk7mNTh4tG50a+1+tOiWVT3jO5I0Sg==", "dev": true, "requires": { - "glob": "7.1.2", - "jasmine-core": "3.2.1" + "glob": "^7.0.6", + "jasmine-core": "~3.2.0" } }, "jasmine-core": { @@ -14166,8 +14166,8 @@ "integrity": "sha512-PnpY6r8DcMwU2ZVk5y1d8vKhqOq6bXJILy/g5O5ncMpFaxIZcLkFA1u/11XBJwgzWXgUAXPPnIchkb+/t1dbXA==", "dev": true, "requires": { - "fs-extra": "0.30.0", - "selenium-standalone": "6.15.1" + "fs-extra": "^0.30.0", + "selenium-standalone": "^6.13.0" }, "dependencies": { "fs-extra": { @@ -14176,11 +14176,11 @@ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } } } @@ -14191,9 +14191,9 @@ "integrity": "sha512-MqvgTow8hFwhFT47q67JwyJyeynKodGRQCxF7ijKPGfsaG1NLssbXYc0JhiL7SiAyxnQxII0UxzTCd3I6sEdkg==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "chalk": "2.4.1", - "humanize-duration": "3.15.1" + "babel-runtime": "~6.26.0", + "chalk": "^2.3.0", + "humanize-duration": "~3.15.0" }, "dependencies": { "ansi-styles": { @@ -14202,7 +14202,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -14211,9 +14211,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -14222,7 +14222,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -14234,8 +14234,8 @@ "dev": true, "requires": { "babel-runtime": "6.26.0", - "fibers": "2.0.2", - "object.assign": "4.1.0" + "fibers": "~2.0.0", + "object.assign": "^4.0.3" } }, "webdriverio": { @@ -14244,27 +14244,27 @@ "integrity": "sha1-Yk70ylafPJpejpsRMCtEMe2h+4o=", "dev": true, "requires": { - "archiver": "2.1.1", - "babel-runtime": "6.26.0", - "css-parse": "2.0.0", - "css-value": "0.0.1", - "deepmerge": "2.0.1", - "ejs": "2.5.9", - "gaze": "1.1.3", - "glob": "7.1.2", - "inquirer": "3.3.0", - "json-stringify-safe": "5.0.1", - "mkdirp": "0.5.1", - "npm-install-package": "2.1.0", - "optimist": "0.6.1", - "q": "1.5.1", - "request": "2.87.0", - "rgb2hex": "0.1.9", - "safe-buffer": "5.1.2", - "supports-color": "5.0.1", - "url": "0.11.0", - "wdio-dot-reporter": "0.0.9", - "wgxpath": "1.0.0" + "archiver": "~2.1.0", + "babel-runtime": "^6.26.0", + "css-parse": "^2.0.0", + "css-value": "~0.0.1", + "deepmerge": "~2.0.1", + "ejs": "~2.5.6", + "gaze": "~1.1.2", + "glob": "~7.1.1", + "inquirer": "~3.3.0", + "json-stringify-safe": "~5.0.1", + "mkdirp": "~0.5.1", + "npm-install-package": "~2.1.0", + "optimist": "~0.6.1", + "q": "~1.5.0", + "request": "^2.83.0", + "rgb2hex": "~0.1.4", + "safe-buffer": "~5.1.1", + "supports-color": "~5.0.0", + "url": "~0.11.0", + "wdio-dot-reporter": "~0.0.8", + "wgxpath": "~1.0.0" }, "dependencies": { "ajv": { @@ -14273,10 +14273,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "archiver": { @@ -14285,14 +14285,14 @@ "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", "dev": true, "requires": { - "archiver-utils": "1.3.0", - "async": "2.6.1", - "buffer-crc32": "0.2.13", - "glob": "7.1.2", - "lodash": "4.17.5", - "readable-stream": "2.3.6", - "tar-stream": "1.6.1", - "zip-stream": "1.2.0" + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^1.2.0" } }, "assert-plus": { @@ -14319,9 +14319,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "mime-types": "^2.1.12" } }, "har-schema": { @@ -14336,8 +14336,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has-flag": { @@ -14352,9 +14352,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "json-schema-traverse": { @@ -14375,26 +14375,26 @@ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.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.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "supports-color": { @@ -14403,7 +14403,7 @@ "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -14419,26 +14419,26 @@ "@webassemblyjs/wasm-edit": "1.5.13", "@webassemblyjs/wasm-opt": "1.5.13", "@webassemblyjs/wasm-parser": "1.5.13", - "acorn": "5.7.1", - "acorn-dynamic-import": "3.0.0", - "ajv": "6.5.2", - "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.1.0", - "eslint-scope": "4.0.0", - "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "neo-async": "2.5.1", - "node-libs-browser": "2.1.0", - "schema-utils": "0.4.7", - "tapable": "1.0.0", - "uglifyjs-webpack-plugin": "1.2.7", - "watchpack": "1.6.0", - "webpack-sources": "1.1.0" + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" } }, "webpack-addons": { @@ -14447,7 +14447,7 @@ "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", "dev": true, "requires": { - "jscodeshift": "0.4.1" + "jscodeshift": "^0.4.0" }, "dependencies": { "ansi-styles": { @@ -14462,7 +14462,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -14489,9 +14489,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "chalk": { @@ -14500,9 +14500,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "colors": { @@ -14517,7 +14517,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -14526,7 +14526,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "extglob": { @@ -14535,7 +14535,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "fill-range": { @@ -14544,11 +14544,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-extglob": { @@ -14563,7 +14563,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -14572,7 +14572,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -14590,21 +14590,21 @@ "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", "dev": true, "requires": { - "async": "1.5.2", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-preset-es2015": "6.24.1", - "babel-preset-stage-1": "6.24.1", - "babel-register": "6.26.0", - "babylon": "6.18.0", - "colors": "1.3.2", - "flow-parser": "0.81.0", - "lodash": "4.17.5", - "micromatch": "2.3.11", + "async": "^1.5.0", + "babel-plugin-transform-flow-strip-types": "^6.8.0", + "babel-preset-es2015": "^6.9.0", + "babel-preset-stage-1": "^6.5.0", + "babel-register": "^6.9.0", + "babylon": "^6.17.3", + "colors": "^1.1.2", + "flow-parser": "^0.*", + "lodash": "^4.13.1", + "micromatch": "^2.3.7", "node-dir": "0.1.8", - "nomnom": "1.8.1", - "recast": "0.12.9", - "temp": "0.8.3", - "write-file-atomic": "1.3.4" + "nomnom": "^1.8.1", + "recast": "^0.12.5", + "temp": "^0.8.1", + "write-file-atomic": "^1.2.0" } }, "kind-of": { @@ -14613,7 +14613,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -14622,19 +14622,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "nomnom": { @@ -14643,8 +14643,8 @@ "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", "dev": true, "requires": { - "chalk": "0.4.0", - "underscore": "1.6.0" + "chalk": "~0.4.0", + "underscore": "~1.6.0" } }, "recast": { @@ -14654,10 +14654,10 @@ "dev": true, "requires": { "ast-types": "0.10.1", - "core-js": "2.5.7", - "esprima": "4.0.1", - "private": "0.1.8", - "source-map": "0.6.1" + "core-js": "^2.4.1", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" } }, "source-map": { @@ -14686,18 +14686,18 @@ "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", "dev": true, "requires": { - "acorn": "5.7.1", - "bfj-node4": "5.3.1", - "chalk": "2.4.1", - "commander": "2.17.1", - "ejs": "2.5.9", - "express": "4.16.3", - "filesize": "3.6.1", - "gzip-size": "4.1.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "opener": "1.5.1", - "ws": "4.1.0" + "acorn": "^5.3.0", + "bfj-node4": "^5.2.0", + "chalk": "^2.3.0", + "commander": "^2.13.0", + "ejs": "^2.5.7", + "express": "^4.16.2", + "filesize": "^3.5.11", + "gzip-size": "^4.1.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "opener": "^1.4.3", + "ws": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -14706,7 +14706,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -14715,9 +14715,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -14726,7 +14726,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "ws": { @@ -14735,8 +14735,8 @@ "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", "dev": true, "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0" } } } @@ -14747,32 +14747,32 @@ "integrity": "sha512-CiWQR+1JS77rmyiO6y1q8Kt/O+e8nUUC9YfJ25JtSmzDwbqJV7vIsh3+QKRHVTbTCa0DaVh8iY1LBiagUIDB3g==", "dev": true, "requires": { - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "diff": "3.5.0", - "enhanced-resolve": "4.1.0", - "envinfo": "5.10.0", - "glob-all": "3.1.0", - "global-modules": "1.0.0", - "got": "8.3.2", - "import-local": "1.0.0", - "inquirer": "5.2.0", - "interpret": "1.1.0", - "jscodeshift": "0.5.1", - "listr": "0.14.2", - "loader-utils": "1.1.0", - "lodash": "4.17.11", - "log-symbols": "2.2.0", - "mkdirp": "0.5.1", - "p-each-series": "1.0.0", - "p-lazy": "1.0.0", - "prettier": "1.14.2", - "supports-color": "5.5.0", - "v8-compile-cache": "2.0.2", - "webpack-addons": "1.1.5", - "yargs": "11.1.0", - "yeoman-environment": "2.3.3", - "yeoman-generator": "2.0.5" + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "diff": "^3.5.0", + "enhanced-resolve": "^4.0.0", + "envinfo": "^5.7.0", + "glob-all": "^3.1.0", + "global-modules": "^1.0.0", + "got": "^8.3.1", + "import-local": "^1.0.0", + "inquirer": "^5.2.0", + "interpret": "^1.1.0", + "jscodeshift": "^0.5.0", + "listr": "^0.14.1", + "loader-utils": "^1.1.0", + "lodash": "^4.17.10", + "log-symbols": "^2.2.0", + "mkdirp": "^0.5.1", + "p-each-series": "^1.0.0", + "p-lazy": "^1.0.0", + "prettier": "^1.12.1", + "supports-color": "^5.4.0", + "v8-compile-cache": "^2.0.0", + "webpack-addons": "^1.1.5", + "yargs": "^11.1.0", + "yeoman-environment": "^2.1.1", + "yeoman-generator": "^2.0.5" }, "dependencies": { "ansi-regex": { @@ -14787,7 +14787,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "camelcase": { @@ -14802,9 +14802,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "cliui": { @@ -14813,9 +14813,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "cross-spawn": { @@ -14824,11 +14824,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "inquirer": { @@ -14837,19 +14837,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.11", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.12", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" } }, "is-fullwidth-code-point": { @@ -14870,9 +14870,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "string-width": { @@ -14881,8 +14881,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -14891,7 +14891,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -14900,7 +14900,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "which-module": { @@ -14921,18 +14921,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } }, "yargs-parser": { @@ -14941,7 +14941,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -14952,13 +14952,13 @@ "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", "dev": true, "requires": { - "loud-rejection": "1.6.0", - "memory-fs": "0.4.1", - "mime": "2.3.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "url-join": "2.0.5", - "webpack-log": "1.2.0" + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^2.0.2", + "webpack-log": "^1.0.1" }, "dependencies": { "mime": { @@ -14976,32 +14976,32 @@ "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "2.0.4", - "compression": "1.7.3", - "connect-history-api-fallback": "1.5.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.3", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.18.0", - "import-local": "1.0.0", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.3.0", - "portfinder": "1.0.16", - "selfsigned": "1.10.3", - "serve-index": "1.9.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", "sockjs": "0.3.19", "sockjs-client": "1.1.5", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "5.4.0", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", "webpack-dev-middleware": "3.1.3", - "webpack-log": "1.2.0", + "webpack-log": "^1.1.2", "yargs": "11.0.0" }, "dependencies": { @@ -15023,9 +15023,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { "strip-ansi": { @@ -15034,7 +15034,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -15066,9 +15066,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "string-width": { @@ -15077,8 +15077,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "strip-ansi": { @@ -15087,7 +15087,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -15098,7 +15098,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "url-join": { @@ -15113,13 +15113,13 @@ "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", "dev": true, "requires": { - "loud-rejection": "1.6.0", - "memory-fs": "0.4.1", - "mime": "2.3.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "url-join": "4.0.0", - "webpack-log": "1.2.0" + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" } }, "which-module": { @@ -15140,18 +15140,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } }, "yargs-parser": { @@ -15160,7 +15160,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -15171,10 +15171,10 @@ "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "chalk": "2.4.1", - "log-symbols": "2.2.0", - "loglevelnext": "1.0.5", - "uuid": "3.3.2" + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" }, "dependencies": { "ansi-styles": { @@ -15183,7 +15183,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -15192,9 +15192,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -15203,7 +15203,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -15214,7 +15214,7 @@ "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.17.5" } }, "webpack-sources": { @@ -15223,8 +15223,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -15241,8 +15241,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.13", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -15282,7 +15282,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -15304,7 +15304,7 @@ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "window-size": { @@ -15333,7 +15333,7 @@ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "0.1.7" + "errno": "~0.1.7" } }, "wrap-ansi": { @@ -15342,8 +15342,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -15358,9 +15358,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "ws": { @@ -15369,9 +15369,9 @@ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2", - "ultron": "1.1.1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } }, "xml2js": { @@ -15380,8 +15380,8 @@ "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "dev": true, "requires": { - "sax": "1.2.4", - "xmlbuilder": "9.0.7" + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" } }, "xmlbuilder": { @@ -15428,9 +15428,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" }, "dependencies": { @@ -15449,7 +15449,7 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" }, "dependencies": { "camelcase": { @@ -15466,8 +15466,8 @@ "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { - "buffer-crc32": "0.2.13", - "fd-slicer": "1.1.0" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } }, "yeast": { @@ -15482,21 +15482,21 @@ "integrity": "sha512-HBpXdNw8V66EwqIFt01rNhSgX33BOzgVb9CxpIvESvCI4ELeOSniB6gV6RXwrBur8kmHZCIAkYQYpib7Qxx8FQ==", "dev": true, "requires": { - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.2.5", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "globby": "8.0.1", - "grouped-queue": "0.3.3", - "inquirer": "6.2.0", - "is-scoped": "1.0.0", - "lodash": "4.17.11", - "log-symbols": "2.2.0", - "mem-fs": "1.1.3", - "strip-ansi": "4.0.0", - "text-table": "0.2.0", - "untildify": "3.0.3" + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "diff": "^3.5.0", + "escape-string-regexp": "^1.0.2", + "globby": "^8.0.1", + "grouped-queue": "^0.3.3", + "inquirer": "^6.0.0", + "is-scoped": "^1.0.0", + "lodash": "^4.17.10", + "log-symbols": "^2.2.0", + "mem-fs": "^1.1.0", + "strip-ansi": "^4.0.0", + "text-table": "^0.2.0", + "untildify": "^3.0.3" }, "dependencies": { "ansi-regex": { @@ -15511,7 +15511,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -15520,9 +15520,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -15537,11 +15537,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "debug": { @@ -15550,7 +15550,7 @@ "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "external-editor": { @@ -15559,9 +15559,9 @@ "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", "dev": true, "requires": { - "chardet": "0.7.0", - "iconv-lite": "0.4.24", - "tmp": "0.0.33" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" } }, "globby": { @@ -15570,13 +15570,13 @@ "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "dev": true, "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "iconv-lite": { @@ -15585,7 +15585,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "inquirer": { @@ -15594,19 +15594,19 @@ "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "3.0.3", - "figures": "2.0.0", - "lodash": "4.17.11", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.17.10", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "6.3.2", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" } }, "is-fullwidth-code-point": { @@ -15633,7 +15633,7 @@ "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" } }, "string-width": { @@ -15642,8 +15642,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -15652,7 +15652,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -15661,7 +15661,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "untildify": { @@ -15678,31 +15678,31 @@ "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", "dev": true, "requires": { - "async": "2.6.1", - "chalk": "2.4.1", - "cli-table": "0.3.1", - "cross-spawn": "6.0.5", - "dargs": "5.1.0", - "dateformat": "3.0.3", - "debug": "3.2.5", - "detect-conflict": "1.0.1", - "error": "7.0.2", - "find-up": "2.1.0", - "github-username": "4.1.0", - "istextorbinary": "2.2.1", - "lodash": "4.17.11", - "make-dir": "1.3.0", - "mem-fs-editor": "4.0.3", - "minimist": "1.2.0", - "pretty-bytes": "4.0.2", - "read-chunk": "2.1.0", - "read-pkg-up": "3.0.0", - "rimraf": "2.6.2", - "run-async": "2.3.0", - "shelljs": "0.8.2", - "text-table": "0.2.0", - "through2": "2.0.3", - "yeoman-environment": "2.3.3" + "async": "^2.6.0", + "chalk": "^2.3.0", + "cli-table": "^0.3.1", + "cross-spawn": "^6.0.5", + "dargs": "^5.1.0", + "dateformat": "^3.0.3", + "debug": "^3.1.0", + "detect-conflict": "^1.0.0", + "error": "^7.0.2", + "find-up": "^2.1.0", + "github-username": "^4.0.0", + "istextorbinary": "^2.2.1", + "lodash": "^4.17.10", + "make-dir": "^1.1.0", + "mem-fs-editor": "^4.0.0", + "minimist": "^1.2.0", + "pretty-bytes": "^4.0.2", + "read-chunk": "^2.1.0", + "read-pkg-up": "^3.0.0", + "rimraf": "^2.6.2", + "run-async": "^2.0.0", + "shelljs": "^0.8.0", + "text-table": "^0.2.0", + "through2": "^2.0.0", + "yeoman-environment": "^2.0.5" }, "dependencies": { "ansi-styles": { @@ -15711,7 +15711,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -15720,9 +15720,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "cross-spawn": { @@ -15731,11 +15731,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "dateformat": { @@ -15750,7 +15750,7 @@ "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "load-json-file": { @@ -15759,10 +15759,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "lodash": { @@ -15789,9 +15789,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "4.0.0", - "normalize-package-data": "2.4.0", - "path-type": "3.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, "read-pkg-up": { @@ -15800,8 +15800,8 @@ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "3.0.0" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } }, "strip-bom": { @@ -15816,7 +15816,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -15827,10 +15827,10 @@ "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", "dev": true, "requires": { - "archiver-utils": "1.3.0", - "compress-commons": "1.2.2", - "lodash": "4.17.5", - "readable-stream": "2.3.6" + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" } } } diff --git a/package.json b/package.json index 2f7c90f..1ee3829 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "dropdowntypeahead", "widgetName": "DropdownTypeahead", "version": "1.0.0", - "description": "An input widget that can be used to display and edit associations", + "description": "An input widget used to display and edit associations", "copyright": "Mendix BV", "scripts": { "start": "cross-env NODE_ENV=development grunt", @@ -94,7 +94,7 @@ "tslint": "^5.11.0", "pre-commit": "^1.2.2", "tslint-eslint-rules": "^5.3.1", - "typescript": "^2.9.2", + "typescript": "^3.0.3", "wdio-dot-reporter": "0.0.9", "wdio-jasmine-framework": "^0.3.4", "wdio-selenium-standalone-service": "0.0.10", diff --git a/src/components/DropdownTypeahead.ts b/src/components/DropdownTypeahead.ts index b04b535..69c1f1c 100644 --- a/src/components/DropdownTypeahead.ts +++ b/src/components/DropdownTypeahead.ts @@ -29,15 +29,10 @@ export interface DropdownTypeaheadProps { alertMessage: string; } -export type ReferenceOption = { - value?: string | boolean, - label?: string -}; - -export type MetaData = { - action: string, - removedValue: ReferenceOption -}; +export interface ReferenceOption { + value?: string | boolean; + label?: string; +} export interface AttributeType { name: string; diff --git a/tsconfig.json b/tsconfig.json index 4820744..5405908 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,13 +17,10 @@ "watch": false, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, "noImplicitReturns": true, - "noImplicitThis": true, "noUnusedLocals": true, "noUnusedParameters": true, - "skipLibCheck": true, - "strictNullChecks": true + "skipLibCheck": true }, "exclude": [ "dist/", diff --git a/tslint.json b/tslint.json index 1a52fa7..8a1aa88 100644 --- a/tslint.json +++ b/tslint.json @@ -10,16 +10,15 @@ "check-space" ], "eofline": true, - "interface-over-type-literal": false, "indent": [ true, - "spaces" + "spaces", + 4 ], "member-ordering": [ true, "variables-before-functions" ], - "newline-before-return": true, "no-arg": true, "no-bitwise": true, "no-conditional-assignment": true, @@ -58,6 +57,9 @@ true, "allow-null-check" ], + "typedef": [ + true + ], "typedef-whitespace": [ true, { @@ -146,7 +148,8 @@ "max-line-length": false, "no-submodule-imports": false, "no-implicit-dependencies": false, - "no-namespace": false + "no-namespace": false, + "newline-before-return": true }, "jsRules": { "trailing-comma": [ diff --git a/webpack.config.js b/webpack.config.js index a6a26d9..230e93b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -39,7 +39,7 @@ const widgetConfig = { devtool: "source-map", externals: [ "react", "react-dom" ], plugins: [ - new CopyWebpackPlugin([ { from: "src/**/*.xml" }], { copyUnmodified: true }), + new CopyWebpackPlugin([ { from: "src/**/*.xml" } ], { copyUnmodified: true }), new ExtractTextPlugin({ filename: `./src/com/mendix/widget/custom/${name}/ui/${widgetName}.css` }), new webpack.LoaderOptionsPlugin({ debug: true }) ] @@ -68,4 +68,4 @@ const previewConfig = { plugins: [ new webpack.LoaderOptionsPlugin({ debug: true }) ] }; -module.exports = [ widgetConfig, previewConfig]; +module.exports = [ widgetConfig, previewConfig ]; From fc804a915ac6528a760e37a617011813ebde7fee Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 21 Sep 2018 14:03:13 +0300 Subject: [PATCH 50/89] Update Readme documentation --- README.md | 15 ++++++++++----- assets/dropdown-typeahead-appearance.png | Bin 13246 -> 17246 bytes assets/dropdown-typeahead-data-source.png | Bin 0 -> 16865 bytes assets/dropdown-typeahead-datasource.png | Bin 14949 -> 0 bytes assets/dropdown-typeahead-events.png | Bin 15784 -> 17883 bytes assets/dropdown-typeahead-label.png | Bin 0 -> 15353 bytes assets/dropdown-typeahead-normal-load.gif | Bin 30988 -> 0 bytes assets/dropdown-typeahead-normal-loading.gif | Bin 0 -> 33455 bytes assets/dropdown-typeahead-search.png | Bin 0 -> 13862 bytes .../dropdown-typeahead-selectable-objects.png | Bin 16683 -> 0 bytes assets/dropdown-typeahead-selectable.png | Bin 0 -> 23078 bytes .../__tests__/DropdownTypeahead.spec.ts | 14 +++++++------- 12 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 assets/dropdown-typeahead-data-source.png delete mode 100644 assets/dropdown-typeahead-datasource.png create mode 100644 assets/dropdown-typeahead-label.png delete mode 100644 assets/dropdown-typeahead-normal-load.gif create mode 100644 assets/dropdown-typeahead-normal-loading.gif create mode 100644 assets/dropdown-typeahead-search.png delete mode 100644 assets/dropdown-typeahead-selectable-objects.png create mode 100644 assets/dropdown-typeahead-selectable.png diff --git a/README.md b/README.md index d784c37..bbbfff4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ An input widget used to display and edit associations * Supports on change actions - call a microflow - call a nanoflow -* Supports on press `Tab` or `Enter` keys to auto complete suggested selection +* Supports `Tab` or `Enter` keys to auto complete suggested selection +* Supports `Back space` key to clear selection ## Dependencies Mendix 7.13.1 @@ -21,7 +22,7 @@ Mendix 7.13.1 [https://dropdowntypeahead.mxapps.io]( https://dropdowntypeahead.mxapps.io) ## Usage -![dropdown-typeahead-reference](/assets/dropdown-typeahead-normal-load.gif) +![dropdown-typeahead](/assets/dropdown-typeahead-normal-loading.gif) * Place the widget in data form within the context of an entity * Select entity path and attribute over reference for selectable objects @@ -30,13 +31,17 @@ Mendix 7.13.1 ## Basic configuration For a basic configuration, set up the widget as indicated below:- ### Data source -![dropdown-typeahead-datasource](/assets/dropdown-typeahead-datasource.png) +![dropdown-typeahead-data-source](/assets/dropdown-typeahead-data-source.png) ### Appearance ![dropdown-typeahead-appearance](/assets/dropdown-typeahead-appearance.png) +### Label +![dropdown-typeahead-label](/assets/dropdown-typeahead-label.png) ### Selectable objects -![dropdown-typeahead-selectable-objects](/assets/dropdown-typeahead-selectable-objects.png) +![dropdown-typeahead-selectable-objects](/assets/dropdown-typeahead-selectable.png) +### Search +![dropdown-typeahead-search](/assets/dropdown-typeahead-search.png) ### Events -![dropdown-typeahead-events](/assets/dropdown-typeahead-events.png) +![dropdown-typeahead-events](/assets/dropdown-typeahead-events.png) ## Issues, suggestions and feature requests We are actively maintaining this widget, please report any issues or suggestion for improvement at diff --git a/assets/dropdown-typeahead-appearance.png b/assets/dropdown-typeahead-appearance.png index c6b61f183fa88713ea11ad272f4e1f7fb3aa0e74..8d554b968002b45f3a822db5685514d3a75b9f14 100644 GIT binary patch literal 17246 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 literal 13246 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 P1UheKb*B8(mD~Rfr4IGH diff --git a/assets/dropdown-typeahead-data-source.png b/assets/dropdown-typeahead-data-source.png new file mode 100644 index 0000000000000000000000000000000000000000..dd339a70c0b69d4646b3e569e33f58d80ca82d0b GIT binary patch literal 16865 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 literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-datasource.png b/assets/dropdown-typeahead-datasource.png deleted file mode 100644 index 8519ff7d345f9fb2dab9fa6982992c16b5fd192d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14949 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 diff --git a/assets/dropdown-typeahead-label.png b/assets/dropdown-typeahead-label.png new file mode 100644 index 0000000000000000000000000000000000000000..a20c1ef5b3d19478c10c3a48864ad1ed63215c1e GIT binary patch literal 15353 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 Kt2=t(xBmrp*7j-u literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-normal-load.gif b/assets/dropdown-typeahead-normal-load.gif deleted file mode 100644 index be0bf85fa8239958ff587ff61af2fba8e34652e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30988 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 literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-search.png b/assets/dropdown-typeahead-search.png new file mode 100644 index 0000000000000000000000000000000000000000..d92593e5f0c7ba64b85182faeaa5f9346c36a830 GIT binary patch literal 13862 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 literal 0 HcmV?d00001 diff --git a/assets/dropdown-typeahead-selectable-objects.png b/assets/dropdown-typeahead-selectable-objects.png deleted file mode 100644 index 5f0875150efab0648ba92efebd13cb2cf0fd5f08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16683 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 diff --git a/assets/dropdown-typeahead-selectable.png b/assets/dropdown-typeahead-selectable.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ef30780689cebdf749daf5dd543aa545757e9b GIT binary patch literal 23078 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 bA*j|$y61IWt6C5UNAp829tSF%PG9~X^X8j= literal 0 HcmV?d00001 diff --git a/src/components/__tests__/DropdownTypeahead.spec.ts b/src/components/__tests__/DropdownTypeahead.spec.ts index 81a0572..31b5bbc 100644 --- a/src/components/__tests__/DropdownTypeahead.spec.ts +++ b/src/components/__tests__/DropdownTypeahead.spec.ts @@ -65,6 +65,13 @@ describe("DropdownTypeahead", () => { ); }); + it("that is still loading renders with the structure", () => { + const DropdownTypeAheadComponent = render(TypeAheadProps); + + DropdownTypeAheadComponent.setProps({ loaded: true }); + expect(DropdownTypeAheadComponent).toBeElement(createElement("div", {})); + }); + describe("with readOnlyStyle as 'text'", () => { it("renders with the structure with a selected value", () => { const DropdownTypeAheadComponent = render(TypeAheadProps); @@ -86,11 +93,4 @@ describe("DropdownTypeahead", () => { ); }); }); - - it("that is still loading renders with the structure", () => { - const DropdownTypeAheadComponent = render(TypeAheadProps); - - DropdownTypeAheadComponent.setProps({ loaded: true }); - expect(DropdownTypeAheadComponent).toBeElement(createElement("div", {})); - }); }); From d2c8c1ab2514204c2e2f6558e6f953710d8182fd Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 21 Sep 2018 14:12:46 +0300 Subject: [PATCH 51/89] Add badges to documentation --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bbbfff4..7cb40b8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ +[![Build Status](https://travis-ci.org/mendixlabs/dropdown-type-ahead.svg?branch=master)](https://travis-ci.org/mendixlabs/dropdown-type-ahead) +[![Dependency Status](https://david-dm.org/mendixlabs/dropdown-type-ahead.svg)](https://david-dm.org/mendixlabs/dropdown-type-ahead) +[![Dev Dependency Status](https://david-dm.org/mendixlabs/dropdown-type-ahead.svg#info=devDependencies)](https://david-dm.org/mendixlabs/dropdown-type-ahead#info=devDependencies) +[![codecov](https://codecov.io/gh/mendixlabs/dropdown-type-ahead/branch/master/graph/badge.svg)](https://codecov.io/gh/mendixlabs/dropdown-type-ahead) +![badge](https://img.shields.io/badge/mendix-7.14.1-green.svg) # Dropdown Typeahead An input widget used to display and edit associations @@ -22,7 +27,7 @@ Mendix 7.13.1 [https://dropdowntypeahead.mxapps.io]( https://dropdowntypeahead.mxapps.io) ## Usage -![dropdown-typeahead](/assets/dropdown-typeahead-normal-loading.gif) +![dropdown-type-ahead](/assets/dropdown-typeahead-normal-loading.gif) * Place the widget in data form within the context of an entity * Select entity path and attribute over reference for selectable objects From bfe06f942e557ddcc4b1b03c0296af74478faef9 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 21 Sep 2018 15:55:24 +0300 Subject: [PATCH 52/89] Web Modeler: Add selectType configuration --- package-lock.json | 28 +++++++++++++++++++++------- src/DropdownTypeahead.webmodeler.ts | 5 +++++ 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index abb1893..b425a01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5005,12 +5005,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5025,17 +5027,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -5152,7 +5157,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -5164,6 +5170,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5178,6 +5185,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5185,12 +5193,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -5209,6 +5219,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -5289,7 +5300,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -5301,6 +5313,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -5422,6 +5435,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/src/DropdownTypeahead.webmodeler.ts b/src/DropdownTypeahead.webmodeler.ts index ccf8618..fb0fc57 100644 --- a/src/DropdownTypeahead.webmodeler.ts +++ b/src/DropdownTypeahead.webmodeler.ts @@ -70,5 +70,10 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.entityConstraint = false; } + if (valueMap.selectType !== "asynchronous") { + visibilityMap.searchAttribute = false; + visibilityMap.searchMicroflow = false; + } + return visibilityMap; } From 36a172906e0151bd23b562607fafbd94d80cf3ef Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Wed, 26 Sep 2018 16:57:19 +0300 Subject: [PATCH 53/89] Create dropdown typeahead reference set --- Gruntfile.js | 11 +- .../DropdownTypeahead.webmodeler.ts | 0 .../DropdownTypeahead.xml | 0 .../components/Alert.ts | 0 .../components/DropdownTypeahead.ts | 0 .../components/DropdownTypeaheadContainer.ts | 0 .../components/Label.ts | 0 .../components/__tests__/Alert.spec.ts | 0 .../__tests__/DropdownTypeahead.spec.ts | 0 .../components/__tests__/Label.spec.ts | 0 .../ui/DropdownTypeahead.scss | 0 .../utils/ContainerUtils.ts | 0 src/{ => DropdownTypeahead}/utils/Data.ts | 0 ...ropdownTypeaheadReferenceSet.webmodeler.ts | 79 ++++++ .../DropdownTypeaheadReferenceSet.xml | 189 ++++++++++++++ .../components/Alert.ts | 15 ++ .../DropdownTypeaheadReferenceSet.ts | 108 ++++++++ .../DropdownTypeaheadReferenceSetContainer.ts | 241 ++++++++++++++++++ .../components/Label.ts | 25 ++ .../ui/DropdownTypeaheadReferenceSet.scss | 66 +++++ .../utils/ContainerUtils.ts | 47 ++++ .../utils/Data.ts | 164 ++++++++++++ src/package.xml | 4 +- webpack.config.js | 24 +- 24 files changed, 959 insertions(+), 14 deletions(-) rename src/{ => DropdownTypeahead}/DropdownTypeahead.webmodeler.ts (100%) rename src/{ => DropdownTypeahead}/DropdownTypeahead.xml (100%) rename src/{ => DropdownTypeahead}/components/Alert.ts (100%) rename src/{ => DropdownTypeahead}/components/DropdownTypeahead.ts (100%) rename src/{ => DropdownTypeahead}/components/DropdownTypeaheadContainer.ts (100%) rename src/{ => DropdownTypeahead}/components/Label.ts (100%) rename src/{ => DropdownTypeahead}/components/__tests__/Alert.spec.ts (100%) rename src/{ => DropdownTypeahead}/components/__tests__/DropdownTypeahead.spec.ts (100%) rename src/{ => DropdownTypeahead}/components/__tests__/Label.spec.ts (100%) rename src/{ => DropdownTypeahead}/ui/DropdownTypeahead.scss (100%) rename src/{ => DropdownTypeahead}/utils/ContainerUtils.ts (100%) rename src/{ => DropdownTypeahead}/utils/Data.ts (100%) create mode 100644 src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts create mode 100644 src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml create mode 100644 src/DropdownTypeaheadReferenceSet/components/Alert.ts create mode 100644 src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts create mode 100644 src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts create mode 100644 src/DropdownTypeaheadReferenceSet/components/Label.ts create mode 100644 src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss create mode 100644 src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts create mode 100644 src/DropdownTypeaheadReferenceSet/utils/Data.ts diff --git a/Gruntfile.js b/Gruntfile.js index 30a7747..9d66f0e 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,6 +2,7 @@ const webpack = require("webpack"); const webpackConfig = require("./webpack.config"); const merge = require("webpack-merge"); +const widgetNames = [ "DropdownTypeahead", "DropdownTypeaheadReferenceSet" ]; const webpackConfigRelease = webpackConfig.map(config => merge(config, { devtool: false, @@ -62,10 +63,12 @@ module.exports = function(grunt) { file_append: { addSourceURL: { - files: [ { - append: `\n\n//# sourceURL=${pkg.widgetName}.webmodeler.js\n`, - input: `dist/tmp/src/${pkg.widgetName}.webmodeler.js` - } ] + files: widgetNames.map(widgetName => { + return { + append: `\n\n//# sourceURL=${widgetName}.webmodeler.js\n`, + input: `dist/tmp/src/${widgetName}/${widgetName}.webmodeler.js` + }; + }) } }, diff --git a/src/DropdownTypeahead.webmodeler.ts b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts similarity index 100% rename from src/DropdownTypeahead.webmodeler.ts rename to src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts diff --git a/src/DropdownTypeahead.xml b/src/DropdownTypeahead/DropdownTypeahead.xml similarity index 100% rename from src/DropdownTypeahead.xml rename to src/DropdownTypeahead/DropdownTypeahead.xml diff --git a/src/components/Alert.ts b/src/DropdownTypeahead/components/Alert.ts similarity index 100% rename from src/components/Alert.ts rename to src/DropdownTypeahead/components/Alert.ts diff --git a/src/components/DropdownTypeahead.ts b/src/DropdownTypeahead/components/DropdownTypeahead.ts similarity index 100% rename from src/components/DropdownTypeahead.ts rename to src/DropdownTypeahead/components/DropdownTypeahead.ts diff --git a/src/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts similarity index 100% rename from src/components/DropdownTypeaheadContainer.ts rename to src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts diff --git a/src/components/Label.ts b/src/DropdownTypeahead/components/Label.ts similarity index 100% rename from src/components/Label.ts rename to src/DropdownTypeahead/components/Label.ts diff --git a/src/components/__tests__/Alert.spec.ts b/src/DropdownTypeahead/components/__tests__/Alert.spec.ts similarity index 100% rename from src/components/__tests__/Alert.spec.ts rename to src/DropdownTypeahead/components/__tests__/Alert.spec.ts diff --git a/src/components/__tests__/DropdownTypeahead.spec.ts b/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts similarity index 100% rename from src/components/__tests__/DropdownTypeahead.spec.ts rename to src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts diff --git a/src/components/__tests__/Label.spec.ts b/src/DropdownTypeahead/components/__tests__/Label.spec.ts similarity index 100% rename from src/components/__tests__/Label.spec.ts rename to src/DropdownTypeahead/components/__tests__/Label.spec.ts diff --git a/src/ui/DropdownTypeahead.scss b/src/DropdownTypeahead/ui/DropdownTypeahead.scss similarity index 100% rename from src/ui/DropdownTypeahead.scss rename to src/DropdownTypeahead/ui/DropdownTypeahead.scss diff --git a/src/utils/ContainerUtils.ts b/src/DropdownTypeahead/utils/ContainerUtils.ts similarity index 100% rename from src/utils/ContainerUtils.ts rename to src/DropdownTypeahead/utils/ContainerUtils.ts diff --git a/src/utils/Data.ts b/src/DropdownTypeahead/utils/Data.ts similarity index 100% rename from src/utils/Data.ts rename to src/DropdownTypeahead/utils/Data.ts diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts new file mode 100644 index 0000000..59e57f8 --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts @@ -0,0 +1,79 @@ +import { Component, createElement } from "react"; + +import { parseStyle, validateProps } from "./utils/ContainerUtils"; +import { DropdownTypeahead } from "./components/DropdownTypeaheadReferenceSet"; +import { ContainerProps } from "./components/DropdownTypeaheadReferenceSetContainer"; + +declare function require(name: string): string; + +type VisibilityMap = { + [P in keyof ContainerProps]: boolean; +}; + +// tslint:disable-next-line class-name +export class preview extends Component { + render() { + const selectedValue = { + label: this.props.emptyOptionCaption, + value: "noGuid" + }; + + return createElement(DropdownTypeahead as any, { + alertMessage: validateProps(this.props), + attribute: this.props.attribute, + className: this.props.class, + emptyCaption: this.props.emptyOptionCaption, + isClearable: this.props.isClearable, + selectType: this.props.selectType, + isReadOnly: this.isReadOnly(), + data: [ selectedValue ], + asyncData: (input: string) => this.setAsyncSampleData(input), + label: this.props.labelCaption, + labelOrientation: this.props.labelOrientation, + labelWidth: this.props.labelWidth, + readOnlyStyle: this.props.readOnlyStyle, + selectedValue, + showLabel: this.props.showLabel, + style: parseStyle(this.props.style) + }); + } + + private isReadOnly(): boolean { + return (this.props.editable !== "default") || this.props.readOnly; + } + + private setAsyncSampleData(input: string): Promise<{}> | undefined { + if (!input) { + return Promise.resolve({ options: [ ] }); + } + + return; + } +} + +export function getPreviewCss() { + return ( + require("./ui/DropdownTypeaheadReferenceSet.scss") + require("react-select/dist/react-select.css") + ); +} + +export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: VisibilityMap) { + visibilityMap.microflow = valueMap.source === "microflow"; + visibilityMap.nanoflow = valueMap.source === "nanoflow"; + visibilityMap.entityPath = valueMap.source === "xpath"; + visibilityMap.onChangeMicroflow = valueMap.onChangeEvent === "callMicroflow"; + visibilityMap.onChangeNanoflow = valueMap.onChangeEvent === "callNanoflow"; + + if (valueMap.source !== "xpath") { + visibilityMap.sortAttributes = false; + visibilityMap.sortOrder = false; + visibilityMap.entityConstraint = false; + } + + if (valueMap.selectType !== "asynchronous") { + visibilityMap.searchAttribute = false; + visibilityMap.searchMicroflow = false; + } + + return visibilityMap; +} diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml new file mode 100644 index 0000000..b84078e --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml @@ -0,0 +1,189 @@ + + + Dropdown Typeahead Reference Set + + + + + Entity path + Data source + + + + Attribute + Data source + The attribute from which selectable values will be retrieved + + + + + + + + + + + + Editable + Data source + + + Default + Never + + + + Select type + Appearance + + + Normal loading (synchronous) + Asynchronous loading + + + + Empty option caption + Appearance + Text displayed when no selection is made + + + Read-only style + Appearance + + + Control + Text + + + + Enable clear selection + Appearance + Clears a selected option + + + Show label + Label + + + + Label caption + Label + + + Caption + Bijschrift + + + + Label width + Label + The weight of the label, which must be a value between 0 and 12 + + + Label orientation + Label + + + Horizontal + Vertical + + + + Source + Selectable objects + + + Database + Microflow + Nanoflow + + + + XPath constraint + Selectable objects + + + + Sort options + Selectable objects + + + + Attribute + Attribute + Attribute to sort the + + + + + + + + + + + Sort + Attribute + + + Ascending + Descending + + + + + + Microflow + Selectable objects + Returns a list of data values + + + + Nanoflow + Selectable objects + Returns a list of data values + + + + Search Microflow + Search + Returns a list of filtered data values + + + + Search attribute + Search + + + + + + + + + + + + On change + Events + + + Do nothing + Call a microflow + Call a nanoflow + + + + On change microflow + Events + Microflow executed on change selection + + + + On change nanoflow + Events + Nanoflow executed on change selection + + + + diff --git a/src/DropdownTypeaheadReferenceSet/components/Alert.ts b/src/DropdownTypeaheadReferenceSet/components/Alert.ts new file mode 100644 index 0000000..0953538 --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/components/Alert.ts @@ -0,0 +1,15 @@ +import { SFC, createElement } from "react"; +import * as classNames from "classnames"; + +export interface AlertProps { + bootstrapStyle?: "default" | "primary" | "success" | "info" | "warning" | "danger"; + className?: string; +} + +export const Alert: SFC = ({ bootstrapStyle, className, children }) => + children + ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, children) + : null; + +Alert.displayName = "Alert"; +Alert.defaultProps = { bootstrapStyle: "danger" }; diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts new file mode 100644 index 0000000..97bf0a5 --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -0,0 +1,108 @@ +import { Component, createElement } from "react"; +import Select , { Async } from "react-select"; +import * as classNames from "classnames"; + +import { Alert } from "./Alert"; +import { Label } from "./Label"; + +import "../ui/DropdownTypeaheadReferenceSet.scss"; +import "react-select/dist/react-select.css"; + +export interface DropdownTypeaheadProps { + style?: object; + labelWidth: number; + data?: ReferenceOption[]; + asyncData?: any; + value: string; + label: string; + loaded: boolean; + showLabel: boolean; + emptyCaption: string; + isClearable: boolean; + isReadOnly: boolean; + selectType: "normal" | "asynchronous"; + selectedValue: any; + handleOnchange: (selectedOption: ReferenceOption | any) => void; + className?: string; + readOnlyStyle: "control" | "text"; + labelOrientation: "horizontal" | "vertical"; + alertMessage: string; +} + +export interface ReferenceOption { + value?: string | boolean; + label?: string; +} + +export interface AttributeType { + name: string; + sort: string; +} + +export class DropdownTypeahead extends Component { + render() { + return this.renderForm(); + } + + private renderForm() { + if (!this.props.loaded) { + if (this.props.showLabel && this.props.label.trim() !== "") { + return createElement(Label, { + className: this.props.className, + label: this.props.label, + orientation: this.props.labelOrientation, + style: this.props.style, + weight: this.props.labelWidth + }, this.renderSelector()); + } + + return this.renderSelector(); + } + + return createElement("div", {}); + } + + private renderSelector() { + const commonProps: object = { + clearable: this.props.isClearable, + multi: true, + removeSelected: true, + disabled: this.props.isReadOnly, + onChange: this.props.handleOnchange, + clearValueText: "", + ...this.createSelectorProp() as object + }; + + if (this.props.readOnlyStyle === "control") { + return createElement("div", { + className: classNames("widget-dropdown-type-ahead-wrapper") + }, + this.props.selectType === "normal" ? + createElement(Select, { + options: this.props.data, + noResultsText: "No options", + ...commonProps }) : + createElement(Async, { + valueKey : "value", + labelKey : "label", + loadOptions: (input: string) => this.props.asyncData(input), + ...commonProps }), + createElement(Alert, { + className: "widget-dropdown-type-ahead-alert" + }, this.props.alertMessage) + ); + } else { + return createElement("p", { className: "form-control-static" }, + this.props.selectedValue ? this.props.selectedValue.label : ""); + } + + } + + private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { + if (this.props.selectedValue) { + return { value: this.props.selectedValue }; + } + + return { value: null , placeholder: this.props.emptyCaption }; + } +} diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts new file mode 100644 index 0000000..eb800d9 --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -0,0 +1,241 @@ +import { ChangeEvent, Component, createElement } from "react"; +import * as initializeReactFastclick from "react-fastclick"; + +import { parseStyle, validateProps } from "../utils/ContainerUtils"; +import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; +import { AttributeType, DropdownTypeahead, ReferenceOption } from "./DropdownTypeaheadReferenceSet"; + +interface WrapperProps { + class: string; + mxObject: mendix.lib.MxObject; + mxform: mxui.lib.form._FormBase; + style: string; + readOnly: boolean; + friendlyId: string; +} + +export interface ContainerProps extends WrapperProps { + labelWidth: number; + weight: number; + labelOrientation?: "horizontal" | "vertical"; + attribute: string; + entityPath: string; + entityConstraint: string; + emptyOptionCaption: string; + labelCaption: string; + readOnlyStyle: "control" | "text"; + searchAttribute: string; + searchMicroflow: string; + selectType: "normal" | "asynchronous"; + source: "xpath" | "microflow" | "nanoflow"; + sortOrder: "asc" | "desc"; + showLabel: boolean; + sortAttributes: AttributeType[]; + isClearable: boolean; + nanoflow: Nanoflow; + microflow: string; + onChangeNanoflow: Nanoflow; + onChangeMicroflow: string; + onChangeEvent: "callMicroflow" | "callNanoflow"; + editable: "default" | "never"; +} + +export interface ContainerState { + options: ReferenceOption[]; + selected: any; + isLoading: boolean; +} + +export default class DropdownTypeaheadContainer extends Component { + readonly state: ContainerState = { + options: [], + selected: [], + isLoading: true + }; + + private subscriptionHandles: number[] = []; + private association: string = this.props.entityPath.split("/")[0]; + private readonly handleOnClick: ChangeEvent = this.onChange.bind(this); + + render() { + // const selectedValue = this.getSelectedValue(this.state.selected); + + return createElement(DropdownTypeahead as any, { + alertMessage: validateProps(this.props), + attribute: this.props.attribute, + className: this.props.class, + data: this.state.options, + asyncData: this.setAsyncOptions, + emptyCaption: this.props.emptyOptionCaption, + handleOnchange: this.handleOnClick, + isClearable: this.props.isClearable, + selectType: this.props.selectType, + isReadOnly: this.isReadOnly(), + loaded: this.state.isLoading, + label: this.props.labelCaption, + labelOrientation: this.props.labelOrientation, + labelWidth: this.props.labelWidth, + readOnlyStyle: this.props.readOnlyStyle, + selectedValue: this.state.selected, + showLabel: this.props.showLabel, + style: parseStyle(this.props.style) + }); + } + + componentWillReceiveProps(newProps: ContainerProps) { + if (newProps.mxObject && (newProps.mxObject !== this.props.mxObject)) { + const selected = newProps.mxObject.get(this.association) as string; + this.resetSubscriptions(newProps.mxObject); + this.retrieveOptions(newProps); + this.setState({ selected }); + } else { + this.setState({ selected: "" , isLoading: false }); + } + } + + componentDidMount() { + initializeReactFastclick(); + } + + componentWillUnmount() { + this.subscriptionHandles.forEach(window.mx.data.unsubscribe); + } + + // private getSelectedValue(selectedGuid: string): ReferenceOption | null { + // const selectedOptions = this.state.options.filter(option => option.value === selectedGuid); + // let selected = null; + // if (selectedOptions.length > 0) { + // selected = selectedOptions[0]; + // } + + // return selected; + // } + + private isReadOnly = (): boolean => { + return !this.props.mxObject || (this.props.editable !== "default") || this.props.readOnly; + } + + private resetSubscriptions(mxObject?: mendix.lib.MxObject) { + this.subscriptionHandles.forEach(window.mx.data.unsubscribe); + this.subscriptionHandles = []; + + if (mxObject) { + this.subscriptionHandles.push(window.mx.data.subscribe({ + callback: this.handleSubscriptions, + guid: mxObject.getGuid() + })); + this.subscriptionHandles.push(window.mx.data.subscribe({ + attr: this.association, + callback: this.handleSubscriptions, + guid: mxObject.getGuid() + })); + } + } + + private handleSubscriptions = () => { + const selected = this.props.mxObject.get(this.association) as string; + this.setState({ selected }); + } + + private onChange(recentSelection: ReferenceOption | any) { + if (!this.props.mxObject) { + return; + } + + const selected = recentSelection; + + // if (recentSelection.length === 0) { + // selected = ""; + // this.props.mxObject.addReference(this.association, selected); + // } else { + // recentSelection.forEach((selection: any) => { + // selected = selection.value; + // this.props.mxObject.addReference(this.association, selected); + // if (this.state.selected !== recentSelection) { + this.executeOnChangeEvent(); + // } + // }); + // } + + this.setState({ selected }); + } + + private executeOnChangeEvent = () => { + const { mxform, mxObject, onChangeEvent, onChangeMicroflow, onChangeNanoflow } = this.props; + const context = new mendix.lib.MxContext(); + + context.setContext(mxObject.getEntity(), mxObject.getGuid()); + if (onChangeEvent === "callMicroflow" && onChangeMicroflow) { + window.mx.ui.action(onChangeMicroflow, { + error: error => window.mx.ui.error(`Error while executing microflow ${onChangeMicroflow}: ${error.message}`), // tslint:disable-line max-line-length + origin: mxform, + params: { + applyto: "selection", + guids: [ mxObject.getGuid() ] + } + }); + } else if (onChangeEvent === "callNanoflow" && onChangeNanoflow.nanoflow) { + window.mx.data.callNanoflow({ + context, + error: error => window.mx.ui.error(`Error while executing the onchange nanoflow: ${error.message}`), + nanoflow: onChangeNanoflow, + origin: mxform + }); + } + } + + private retrieveOptions(props: ContainerProps) { + const entity = this.props.entityPath.split("/")[1]; + const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = props; + const attributeReference = `${props.entityPath}${props.attribute}`; + const options: FetchDataOptions = { + attributes: [ attributeReference ], + constraint: entityConstraint, + entity, + guid: mxObject.getGuid(), + microflow, + mxform: this.props.mxform, + nanoflow, + sortAttributes: this.props.sortAttributes, + sortOrder, + source + }; + + fetchData(options) + .then(optionObjects => this.setOptions(optionObjects)) + .catch(mx.ui.error); + } + + private setOptions = (mendixObjects: mendix.lib.MxObject[]) => { + const options: ReferenceOption[] = []; + + if (mendixObjects.length > 0) { + mendixObjects.forEach(mxObject => { + options.push({ + label: mx.parser.formatAttribute(mxObject, this.props.attribute), + value: mxObject.getGuid() + }); + }); + } + + this.setState({ options, isLoading: false }); + } + + private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { + const filteredOptions: ReferenceOption[] = []; + + if (!input && !this.props.mxObject) { + return Promise.resolve({ options: [] }); + } else { + this.props.mxObject.set(this.props.searchAttribute, input); + + return fetchByMicroflow(this.props.searchMicroflow, this.props.mxObject.getGuid()).then((mendixObjects) => { + mendixObjects.forEach(mxObject => { + filteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); + }); + + return { options: filteredOptions, isLoading: false }; + }); + } + } +} diff --git a/src/DropdownTypeaheadReferenceSet/components/Label.ts b/src/DropdownTypeaheadReferenceSet/components/Label.ts new file mode 100644 index 0000000..2917582 --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/components/Label.ts @@ -0,0 +1,25 @@ +import { SFC, createElement } from "react"; +import * as classNames from "classnames"; + +export interface LabelProps { + className?: string; + label: string; + weight: number; + style?: object; + orientation?: "horizontal" | "vertical"; +} + +export const Label: SFC = ({ children, className, label, style, weight, orientation }) => { + weight = (weight > 11 || weight < 1) ? 3 : weight; + const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : ""; + const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : ""; + + return createElement("div", { className: classNames("form-group", className), style }, + createElement("label", { className: `control-label ${labelWeight}` }, label), + createElement("div", { className: `${childrenWeight}` }, children) + ); +}; + +Label.defaultProps = { weight: 6 }; + +Label.displayName = "Label"; diff --git a/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss b/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss new file mode 100644 index 0000000..7af7e8e --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss @@ -0,0 +1,66 @@ +.Select.is-focused:not(.is-open) > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; +} + +.Select.Select-control { + border-color: #0595DB; + box-shadow: unset !important; + background: #fff; +} + +.Select { + display: -webkit-box; +} + + Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } + + .Select-clear-zone { + padding-top: 5px !important; +} + +.Select-clear-zone:hover { + color: inherit !important; +} + +.Select-menu-outer { + border-color: #0595DB !important; + box-shadow: none !important; +} + +.Select.is-focused > .Select-control { + border-color: #0595DB !important; +} + +.Select-option.is-selected { + background-color: #fff !important; +} + +.Select-option.is-focused { + color: #fff !important; + background-color: #0595DB !important ; +} + +.Select-option { + display: default !important; + padding: 6px 10px !important; +} + +[class*="is-disabled"]{ + background-color: #eee !important; + opacity: 1; + + :hover { cursor: not-allowed !important; } +} + +.Select.is-disabled > .Select-control { + background-color: inherit !important; + opacity: 0.9; +} + +.widget-dropdown-type-ahead-alert { + margin-top: 4px !important; +} diff --git a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts new file mode 100644 index 0000000..c55e61f --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts @@ -0,0 +1,47 @@ +import { ContainerProps } from "../components/DropdownTypeaheadReferenceSetContainer"; + +export const parseStyle = (style = ""): { [key: string]: string } => { + try { + return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { + const pair = line.split(":"); + if (pair.length === 2) { + const name = pair[0].trim().replace(/(-.)/g, match => match[1].toUpperCase()); + styleObject[name] = pair[1].trim(); + } + + return styleObject; + }, {}); + } catch (error) { + // tslint:disable-next-line no-console + window.console.log("Failed to parse style", style, error); + } + + return {}; +}; + +export const validateProps = (props: ContainerProps): string => { + const message: string[] = []; + + if (props.onChangeEvent === "callMicroflow" && !props.onChangeMicroflow) { + message.push("On change event is set to 'Call a microflow' but no microflow is selected"); + } else if (props.onChangeEvent === "callNanoflow" && !props.onChangeNanoflow.nanoflow) { + message.push("On change event is set to 'Call a nanoflow' but no nanoflow is selected"); + } + + if (props.labelCaption.trim() === "" && props.showLabel && (props.labelWidth > 11 || props.labelWidth < 1)) { + message.push("Label width should be a value between 0 and 12"); + } + + if (props.labelCaption.trim() === "" && props.showLabel) { + message.push("Show label is enabled but no label is provided"); + } + + if (message.length) { + const widgetName = props.friendlyId.split(".")[2]; + const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; + + return errorMessage; + } + + return message.join(", "); +}; diff --git a/src/DropdownTypeaheadReferenceSet/utils/Data.ts b/src/DropdownTypeaheadReferenceSet/utils/Data.ts new file mode 100644 index 0000000..845efcc --- /dev/null +++ b/src/DropdownTypeaheadReferenceSet/utils/Data.ts @@ -0,0 +1,164 @@ + +type MxObject = mendix.lib.MxObject; +type SortOrder = "asc" | "desc"; + +import { AttributeType } from "../components/DropdownTypeaheadReferenceSet"; +export interface FetchDataOptions { + source: "xpath" | "microflow" | "nanoflow"; + entity: string; + guid: string; + constraint?: string; + sortAttributes: AttributeType[]; + sortOrder?: SortOrder; + attributes?: string[]; + microflow?: string; + nanoflow?: Nanoflow; + mxform?: mxui.lib.form._FormBase; +} + +export interface FetchByXPathOptions { + guid: string; + entity: string; + constraint: string; + sortAttributes: AttributeType[]; + sortOrder?: SortOrder; + attributes?: string[]; + references?: any; +} + +export interface ReferencesSpec { + attributes?: string[]; + amount?: number; + sort?: Array<[ string, SortOrder ]>; + references?: { + [ index: string ]: ReferencesSpec; + }; +} + +export interface FetchedData { + mxObjects?: mendix.lib.MxObject[]; +} + +export interface Nanoflow { + nanoflow: object[]; + paramsSpec: { Progress: string }; +} + +const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => + path.split("/").reduce((referenceSet, part, index, pathParts) => { + let parent = referenceSet; + // Use relations, skip entities sample: "module.relation_X_Y/module.entity_Y/attribute" + // At the moment Mendix support only 1 level deep. + if (index % 2 === 0) { + for (let i = 0; i < index; i += 2) { + if (parent.references) { + parent = parent.references[pathParts[i]]; + } + } + if (pathParts.length - 1 === index) { + // Skip empty attributes + if (part) { + parent.attributes = parent.attributes ? parent.attributes.concat(part) : [ part ]; + } + } else if (!parent.references) { + parent.references = { [part]: {} }; + } else if (!parent.references[part]) { + parent.references[part] = {}; + } + } + + return referenceSet; + }, references); + +export const fetchData = (options: FetchDataOptions): Promise => + new Promise((resolve, reject) => { + const { guid, entity, sortAttributes, sortOrder } = options; + if (entity && guid) { + if (options.source === "xpath") { + const references = getReferences(options.attributes || []); + fetchByXPath({ + attributes: references.attributes, + constraint: options.constraint || "", + entity, + guid, + references: references.references, + sortAttributes, + sortOrder + }) + .then(mxObjects => resolve(mxObjects)) + .catch(message => reject({ message })); + } else if (options.source === "microflow" && options.microflow) { + fetchByMicroflow(options.microflow, guid) + .then(mxObjects => resolve(mxObjects)) + .catch(message => reject({ message })); + } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) { // nanoflow + fetchByNanoflow(options.nanoflow, options.mxform) + .then(mxObjects => resolve(mxObjects)) + .catch(message => reject({ message })); + } else { + reject("entity & guid are required"); + } + } + }); + +export const fetchByXPath = (options: FetchByXPathOptions): Promise => new Promise((resolve, reject) => { + const { guid, entity, constraint, sortAttributes, attributes, references } = options; + + const entityPath = entity.split("/"); + const entityName = entityPath.length > 1 ? entityPath[entityPath.length - 1] : entity; + const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; + + window.mx.data.get({ + callback: resolve, + error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), + filter: { + attributes, + offset: 0, + references, + sort: createSortProps(sortAttributes) + }, + xpath + }); +}); + +export const fetchByMicroflow = (actionname: string, guid: string): Promise => + new Promise((resolve, reject) => { + const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; + window.mx.ui.action(actionname, { + callback: (result) => resolve(result as any), + error: error => reject(`${errorMessage} ${error.message}`), + params: { applyto: "selection", guids: [ guid ] } + }); + }); + +export const fetchByNanoflow = (actionname: Nanoflow, mxform: mxui.lib.form._FormBase): Promise => + new Promise((resolve, reject) => { + const errorMessage = `An error occurred while retrieving data by nanoflow (${actionname}): `; + const context = new mendix.lib.MxContext(); + window.mx.data.callNanoflow({ + callback: (result) => resolve(result as any), + context, + error: error => reject(`${errorMessage} ${error.message}`), + nanoflow: actionname, + origin: mxform + }); + }); + +const getReferences = (attributePaths: string[]): ReferencesSpec => { + let references: ReferencesSpec = { attributes: [] }; + attributePaths.forEach(attribute => { + references = addPathReference(references, attribute); + }); + + return references; +}; + +export const createSortProps = (sortAttributes: AttributeType[]) => { + const combined: any = []; + sortAttributes.map((optionObject) => { + const { name, sort } = optionObject; + combined.push([ name, sort ]); + }); + + return combined; +}; diff --git a/src/package.xml b/src/package.xml index 6e3ffbe..4a1f9c4 100644 --- a/src/package.xml +++ b/src/package.xml @@ -2,10 +2,12 @@ - + + + diff --git a/webpack.config.js b/webpack.config.js index 230e93b..c59274e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,15 +2,18 @@ const webpack = require("webpack"); const path = require("path"); const CopyWebpackPlugin = require("copy-webpack-plugin"); const ExtractTextPlugin = require("extract-text-webpack-plugin"); -const pkg = require("./package"); -const widgetName = pkg.widgetName; -const name = pkg.widgetName.toLowerCase(); + +const widgetName = require("./package").widgetName.toLowerCase(); const widgetConfig = { - entry: `./src/components/${widgetName}Container.ts`, + entry: { + DropdownTypeahead: "./src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts", + DropdownTypeaheadReferenceSet: "./src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts" + }, output: { path: path.resolve(__dirname, "dist/tmp"), - filename: `src/com/mendix/widget/custom/${name}/${widgetName}.js`, + filename: `src/com/mendix/widget/custom/${widgetName}/[name].js`, + chunkFilename: `src/com/mendix/widget/custom/${widgetName}[id].js`, libraryTarget: "umd" }, resolve: { @@ -39,17 +42,20 @@ const widgetConfig = { devtool: "source-map", externals: [ "react", "react-dom" ], plugins: [ - new CopyWebpackPlugin([ { from: "src/**/*.xml" } ], { copyUnmodified: true }), - new ExtractTextPlugin({ filename: `./src/com/mendix/widget/custom/${name}/ui/${widgetName}.css` }), + new CopyWebpackPlugin([ { from: "src/**/*.xml"} , { from: "src/**/*.js" }], { copyUnmodified: true }), + new ExtractTextPlugin({ filename: `./src/com/mendix/widget/custom/${widgetName}/ui/[name].css` }), new webpack.LoaderOptionsPlugin({ debug: true }) ] }; const previewConfig = { - entry: `./src/${widgetName}.webmodeler.ts`, + entry: { + DropdownTypeahead: "./src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts", + DropdownTypeaheadReferenceSet: "./src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts", + }, output: { path: path.resolve(__dirname, "dist/tmp"), - filename: `src/${widgetName}.webmodeler.js`, + filename: `src/[name]/[name].webmodeler.js`, libraryTarget: "commonjs" }, resolve: { From bdcc184a738acff063bbe47f71e6dbd93d0dffaf Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 27 Sep 2018 14:54:50 +0300 Subject: [PATCH 54/89] Fix broken onchange Event --- .../DropdownTypeaheadReferenceSet.ts | 2 +- .../DropdownTypeaheadReferenceSetContainer.ts | 43 +++++++------------ 2 files changed, 16 insertions(+), 29 deletions(-) diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index 97bf0a5..f75a07d 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -99,7 +99,7 @@ export class DropdownTypeahead extends Component { } private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { - if (this.props.selectedValue) { + if (JSON.stringify(this.props.selectedValue) !== "") { return { value: this.props.selectedValue }; } diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index eb800d9..4ff6cd7 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -58,7 +58,6 @@ export default class DropdownTypeaheadContainer extends Component = this.onChange.bind(this); render() { - // const selectedValue = this.getSelectedValue(this.state.selected); return createElement(DropdownTypeahead as any, { alertMessage: validateProps(this.props), @@ -89,7 +88,7 @@ export default class DropdownTypeaheadContainer extends Component option.value === selectedGuid); - // let selected = null; - // if (selectedOptions.length > 0) { - // selected = selectedOptions[0]; - // } - - // return selected; - // } - private isReadOnly = (): boolean => { return !this.props.mxObject || (this.props.editable !== "default") || this.props.readOnly; } @@ -137,27 +126,25 @@ export default class DropdownTypeaheadContainer extends Component { - // selected = selection.value; - // this.props.mxObject.addReference(this.association, selected); - // if (this.state.selected !== recentSelection) { - this.executeOnChangeEvent(); - // } - // }); - // } + const SelectedArray: string[] = []; - this.setState({ selected }); + recentSelection.forEach((selection: ReferenceOption) => { + SelectedArray.push(selection.value as string); + }); + + this.props.mxObject.removeReferences(this.association, this.state.selected); + this.props.mxObject.addReferences(this.association, SelectedArray); + + if (this.state.selected.length !== SelectedArray.length) { + this.executeOnChangeEvent(); + } + + this.setState({ selected: SelectedArray }); } private executeOnChangeEvent = () => { From df579ae4a8c8a41cf9641e81b76342a500a65e2e Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 1 Oct 2018 11:23:19 +0300 Subject: [PATCH 55/89] Fix readonly style --- .../DropdownTypeaheadReferenceSet.ts | 33 +++++++++++++++++-- .../DropdownTypeaheadReferenceSetContainer.ts | 22 ++++++++++--- .../ui/DropdownTypeaheadReferenceSet.scss | 15 +++++++++ .../utils/ContainerUtils.ts | 4 +++ 4 files changed, 67 insertions(+), 7 deletions(-) diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index f75a07d..6e717f3 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -78,6 +78,13 @@ export class DropdownTypeahead extends Component { className: classNames("widget-dropdown-type-ahead-wrapper") }, this.props.selectType === "normal" ? + this.props.isReadOnly ? + createElement("input", { + type: "text", + readonly: "readonly", + className: "form-control", + disabled: "disabled", + value: this.processOptions() }) : createElement(Select, { options: this.props.data, noResultsText: "No options", @@ -93,16 +100,38 @@ export class DropdownTypeahead extends Component { ); } else { return createElement("p", { className: "form-control-static" }, - this.props.selectedValue ? this.props.selectedValue.label : ""); + this.processOptions()); } } private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { - if (JSON.stringify(this.props.selectedValue) !== "") { + if (this.props.selectedValue.length > 0) { return { value: this.props.selectedValue }; } return { value: null , placeholder: this.props.emptyCaption }; } + + private processOptions() { + let selectedLabel = ""; + let formatedOptions = []; + + if (this.props.selectedValue.length > 0) { + formatedOptions = this.props.selectedValue.map((selectedGuid: string) => { + if (this.props.data) { + this.props.data.forEach((dataObject: any) => { + const value = dataObject.value; + if (value === selectedGuid) { + selectedLabel = dataObject.label; + } + }); + } + + return selectedLabel !== "" ? selectedLabel : undefined; + }); + } + + return formatedOptions.join(", "); + } } diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index 4ff6cd7..4f50679 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -58,6 +58,7 @@ export default class DropdownTypeaheadContainer extends Component = this.onChange.bind(this); render() { + // const selectedValue = this.getSelectedValue(this.state.selected); return createElement(DropdownTypeahead as any, { alertMessage: validateProps(this.props), @@ -76,6 +77,7 @@ export default class DropdownTypeaheadContainer extends Component option.value === selectedGuid); + // let selected = null; + // if (selectedOptions.length > 0) { + // selected = selectedOptions[0]; + // } + + // return selected; + // } + componentWillUnmount() { this.subscriptionHandles.forEach(window.mx.data.unsubscribe); } @@ -131,20 +143,20 @@ export default class DropdownTypeaheadContainer extends Component { - SelectedArray.push(selection.value as string); + selectedOptions.push(selection.value as string); }); this.props.mxObject.removeReferences(this.association, this.state.selected); - this.props.mxObject.addReferences(this.association, SelectedArray); + this.props.mxObject.addReferences(this.association, selectedOptions); - if (this.state.selected.length !== SelectedArray.length) { + if (this.state.selected.length !== selectedOptions.length) { this.executeOnChangeEvent(); } - this.setState({ selected: SelectedArray }); + this.setState({ selected: selectedOptions }); } private executeOnChangeEvent = () => { diff --git a/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss b/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss index 7af7e8e..3f02796 100644 --- a/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss +++ b/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss @@ -64,3 +64,18 @@ .widget-dropdown-type-ahead-alert { margin-top: 4px !important; } + +.Select--multi.is-disabled .Select-value { + background-color: inherit !important; + border: 0px !important; + font-size: 14px !important; + color:inherit !important; + + .Select-value-label { + padding: unset !important; + } +} + +.Select--multi .Select-value { + background-color: unset !important; +} diff --git a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts index c55e61f..9ab55c9 100644 --- a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts +++ b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts @@ -36,6 +36,10 @@ export const validateProps = (props: ContainerProps): string => { message.push("Show label is enabled but no label is provided"); } + if (props.selectType === "asynchronous" && !props.searchMicroflow) { + message.push("Asynchronous loading requires a search microflow but none is provided"); + } + if (message.length) { const widgetName = props.friendlyId.split(".")[2]; const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; From c319275fd5c571c4d1c7634e49c76896060b89b6 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 5 Oct 2018 06:55:31 +0300 Subject: [PATCH 56/89] Load async data when user starts typing --- src/DropdownTypeahead/DropdownTypeahead.xml | 2 +- src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts | 2 +- .../DropdownTypeaheadReferenceSet.xml | 2 +- .../components/DropdownTypeaheadReferenceSetContainer.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DropdownTypeahead/DropdownTypeahead.xml b/src/DropdownTypeahead/DropdownTypeahead.xml index 1994560..23997aa 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.xml +++ b/src/DropdownTypeahead/DropdownTypeahead.xml @@ -1,6 +1,6 @@ - Dropdown Typeahead + Dropdown reference diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts index a3c1caa..6b91dbe 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts @@ -222,7 +222,7 @@ export default class DropdownTypeaheadContainer extends Component => { const filteredOptions: ReferenceOption[] = []; - if (!input && !this.props.mxObject) { + if (input === "" && !this.props.mxObject) { return Promise.resolve({ options: [] }); } else { this.props.mxObject.set(this.props.searchAttribute, input); diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml index b84078e..48ade39 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml @@ -1,6 +1,6 @@ - Dropdown Typeahead Reference Set + Dropdown reference set diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index 4f50679..55f71a5 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -223,7 +223,7 @@ export default class DropdownTypeaheadContainer extends Component => { const filteredOptions: ReferenceOption[] = []; - if (!input && !this.props.mxObject) { + if (input === "" && !this.props.mxObject) { return Promise.resolve({ options: [] }); } else { this.props.mxObject.set(this.props.searchAttribute, input); From f0b420f6c06f056b31348e016bd269cdcd146e2f Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 8 Oct 2018 11:57:34 +0300 Subject: [PATCH 57/89] Avoid xpath when searching using microflow --- src/DropdownTypeahead/DropdownTypeahead.xml | 18 ++++++++-------- .../components/DropdownTypeahead.ts | 1 + .../components/DropdownTypeaheadContainer.ts | 13 +++++++----- .../DropdownTypeaheadReferenceSet.xml | 18 ++++++++-------- .../DropdownTypeaheadReferenceSet.ts | 1 + .../DropdownTypeaheadReferenceSetContainer.ts | 21 +++++-------------- 6 files changed, 33 insertions(+), 39 deletions(-) diff --git a/src/DropdownTypeahead/DropdownTypeahead.xml b/src/DropdownTypeahead/DropdownTypeahead.xml index 23997aa..d183ebc 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.xml +++ b/src/DropdownTypeahead/DropdownTypeahead.xml @@ -32,15 +32,6 @@ Never - - Select type - Appearance - - - Normal loading (synchronous) - Asynchronous loading - - Empty option caption Appearance @@ -88,6 +79,15 @@ Vertical + + Select type + Selectable objects + + + Normal loading (synchronous) + Asynchronous loading + + Source Selectable objects diff --git a/src/DropdownTypeahead/components/DropdownTypeahead.ts b/src/DropdownTypeahead/components/DropdownTypeahead.ts index 69c1f1c..b6ff3d4 100644 --- a/src/DropdownTypeahead/components/DropdownTypeahead.ts +++ b/src/DropdownTypeahead/components/DropdownTypeahead.ts @@ -83,6 +83,7 @@ export class DropdownTypeahead extends Component { createElement(Async, { valueKey : "value", labelKey : "label", + autoload: false, loadOptions: (input: string) => this.props.asyncData(input), ...commonProps }), createElement(Alert, { diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts index 6b91dbe..2329d00 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts @@ -86,10 +86,12 @@ export default class DropdownTypeaheadContainer extends Component { const selectedOptions = this.state.options.filter(option => option.value === selectedGuid); let selected = null; if (selectedOptions.length > 0) { @@ -231,8 +233,9 @@ export default class DropdownTypeaheadContainer extends Component { filteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); }); + this.setState({ options: filteredOptions, isLoading: false }); - return { options: filteredOptions, isLoading: false }; + return { options: filteredOptions }; }); } } diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml index 48ade39..0589ad9 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml @@ -32,15 +32,6 @@ Never - - Select type - Appearance - - - Normal loading (synchronous) - Asynchronous loading - - Empty option caption Appearance @@ -88,6 +79,15 @@ Vertical + + Select type + Selectable objects + + + Normal loading (synchronous) + Asynchronous loading + + Source Selectable objects diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index 6e717f3..828f337 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -92,6 +92,7 @@ export class DropdownTypeahead extends Component { createElement(Async, { valueKey : "value", labelKey : "label", + autoload: false, loadOptions: (input: string) => this.props.asyncData(input), ...commonProps }), createElement(Alert, { diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index 55f71a5..eba7992 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -58,8 +58,6 @@ export default class DropdownTypeaheadContainer extends Component = this.onChange.bind(this); render() { - // const selectedValue = this.getSelectedValue(this.state.selected); - return createElement(DropdownTypeahead as any, { alertMessage: validateProps(this.props), attribute: this.props.attribute, @@ -77,7 +75,6 @@ export default class DropdownTypeaheadContainer extends Component option.value === selectedGuid); - // let selected = null; - // if (selectedOptions.length > 0) { - // selected = selectedOptions[0]; - // } - - // return selected; - // } - componentWillUnmount() { this.subscriptionHandles.forEach(window.mx.data.unsubscribe); } @@ -217,7 +206,7 @@ export default class DropdownTypeaheadContainer extends Component => { From b58301e1206ae32cf5a49ae57ef274d0f3291a5e Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 11 Oct 2018 15:15:18 +0300 Subject: [PATCH 58/89] Use inherited props in container component --- .../components/DropdownTypeahead.ts | 14 +++++++------- .../components/DropdownTypeaheadContainer.ts | 17 ++++------------- .../__tests__/DropdownTypeahead.spec.ts | 6 +++--- .../components/DropdownTypeaheadReferenceSet.ts | 16 ++++++++-------- .../DropdownTypeaheadReferenceSetContainer.ts | 17 ++++------------- 5 files changed, 26 insertions(+), 44 deletions(-) diff --git a/src/DropdownTypeahead/components/DropdownTypeahead.ts b/src/DropdownTypeahead/components/DropdownTypeahead.ts index b6ff3d4..761b0c8 100644 --- a/src/DropdownTypeahead/components/DropdownTypeahead.ts +++ b/src/DropdownTypeahead/components/DropdownTypeahead.ts @@ -9,15 +9,15 @@ import "../ui/DropdownTypeahead.scss"; import "react-select/dist/react-select.css"; export interface DropdownTypeaheadProps { - style?: object; + styleObject?: object; labelWidth: number; data?: ReferenceOption[]; asyncData?: any; value: string; - label: string; + labelCaption: string; loaded: boolean; showLabel: boolean; - emptyCaption: string; + emptyOptionCaption: string; isClearable: boolean; isReadOnly: boolean; selectType: "normal" | "asynchronous"; @@ -46,12 +46,12 @@ export class DropdownTypeahead extends Component { private renderForm() { if (!this.props.loaded) { - if (this.props.showLabel && this.props.label.trim() !== "") { + if (this.props.showLabel && this.props.labelCaption.trim() !== "") { return createElement(Label, { className: this.props.className, - label: this.props.label, + label: this.props.labelCaption, orientation: this.props.labelOrientation, - style: this.props.style, + style: this.props.styleObject, weight: this.props.labelWidth }, this.renderSelector()); } @@ -102,6 +102,6 @@ export class DropdownTypeahead extends Component { return { value: this.props.selectedValue }; } - return { value: null , placeholder: this.props.emptyCaption }; + return { value: null , placeholder: this.props.emptyOptionCaption }; } } diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts index 2329d00..58a163b 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; -import { AttributeType, DropdownTypeahead, ReferenceOption } from "./DropdownTypeahead"; +import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeahead"; interface WrapperProps { class: string; @@ -14,24 +14,15 @@ interface WrapperProps { friendlyId: string; } -export interface ContainerProps extends WrapperProps { - labelWidth: number; - weight: number; - labelOrientation?: "horizontal" | "vertical"; +export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { attribute: string; entityPath: string; entityConstraint: string; - emptyOptionCaption: string; - labelCaption: string; - readOnlyStyle: "control" | "text"; searchAttribute: string; searchMicroflow: string; - selectType: "normal" | "asynchronous"; source: "xpath" | "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; - showLabel: boolean; sortAttributes: AttributeType[]; - isClearable: boolean; nanoflow: Nanoflow; microflow: string; onChangeNanoflow: Nanoflow; @@ -66,13 +57,13 @@ export default class DropdownTypeaheadContainer extends Component { const render = (props: DropdownTypeaheadProps) => shallow(createElement(DropdownTypeahead, props)); const TypeAheadProps: DropdownTypeaheadProps = { - emptyCaption: "Select city", + emptyOptionCaption: "Select city", labelWidth: 3, data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], value: "Kampala", - label: "City", + labelCaption: "City", loaded: false, showLabel: true, isClearable: true, @@ -49,7 +49,7 @@ describe("DropdownTypeahead", () => { it("with no label caption renders the structure correctly", () => { const DropdownTypeAheadComponent = render(TypeAheadProps); - DropdownTypeAheadComponent.setProps({ label: "", showLabel: false }); + DropdownTypeAheadComponent.setProps({ labelCaption: "", showLabel: false }); expect(DropdownTypeAheadComponent).toBeElement( createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, createElement(Select, { diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index 828f337..49a4aea 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -9,15 +9,15 @@ import "../ui/DropdownTypeaheadReferenceSet.scss"; import "react-select/dist/react-select.css"; export interface DropdownTypeaheadProps { - style?: object; + styleObject?: object; labelWidth: number; data?: ReferenceOption[]; asyncData?: any; value: string; - label: string; + labelCaption: string; loaded: boolean; showLabel: boolean; - emptyCaption: string; + emptyOptionCaption: string; isClearable: boolean; isReadOnly: boolean; selectType: "normal" | "asynchronous"; @@ -46,12 +46,12 @@ export class DropdownTypeahead extends Component { private renderForm() { if (!this.props.loaded) { - if (this.props.showLabel && this.props.label.trim() !== "") { + if (this.props.showLabel && this.props.labelCaption.trim() !== "") { return createElement(Label, { className: this.props.className, - label: this.props.label, + label: this.props.labelCaption, orientation: this.props.labelOrientation, - style: this.props.style, + style: this.props.styleObject, weight: this.props.labelWidth }, this.renderSelector()); } @@ -111,7 +111,7 @@ export class DropdownTypeahead extends Component { return { value: this.props.selectedValue }; } - return { value: null , placeholder: this.props.emptyCaption }; + return { value: null , placeholder: this.props.emptyOptionCaption }; } private processOptions() { @@ -129,7 +129,7 @@ export class DropdownTypeahead extends Component { }); } - return selectedLabel !== "" ? selectedLabel : undefined; + return selectedLabel || undefined; }); } diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index eba7992..351d58d 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; -import { AttributeType, DropdownTypeahead, ReferenceOption } from "./DropdownTypeaheadReferenceSet"; +import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeaheadReferenceSet"; interface WrapperProps { class: string; @@ -14,24 +14,15 @@ interface WrapperProps { friendlyId: string; } -export interface ContainerProps extends WrapperProps { - labelWidth: number; - weight: number; - labelOrientation?: "horizontal" | "vertical"; +export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { attribute: string; entityPath: string; entityConstraint: string; - emptyOptionCaption: string; - labelCaption: string; - readOnlyStyle: "control" | "text"; searchAttribute: string; searchMicroflow: string; - selectType: "normal" | "asynchronous"; source: "xpath" | "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; - showLabel: boolean; sortAttributes: AttributeType[]; - isClearable: boolean; nanoflow: Nanoflow; microflow: string; onChangeNanoflow: Nanoflow; @@ -64,13 +55,13 @@ export default class DropdownTypeaheadContainer extends Component Date: Fri, 12 Oct 2018 08:43:13 +0300 Subject: [PATCH 59/89] Add e2e tests for drop down reference set --- .../e2e/DropdownTypeaheadReferenceSet.spec.ts | 55 +++++++++++++++++++ tests/e2e/pages/home.page.ts | 20 +++++++ tests/e2e/wdio.conf.js | 2 +- 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 tests/e2e/DropdownTypeaheadReferenceSet.spec.ts diff --git a/tests/e2e/DropdownTypeaheadReferenceSet.spec.ts b/tests/e2e/DropdownTypeaheadReferenceSet.spec.ts new file mode 100644 index 0000000..f6d6135 --- /dev/null +++ b/tests/e2e/DropdownTypeaheadReferenceSet.spec.ts @@ -0,0 +1,55 @@ +import homePage from "./pages/home.page"; + +const defaultOption = "Select users"; + +describe("Dropdown reference set ", () => { + + it("should populate multiple values in a dropdown list", () => { + homePage.open(); + homePage.dropDownReferenceSet.waitForExist(); + + homePage.dropDownReferenceSet.click(); + homePage.dropDownOptions.waitForExist(); + + browser.waitUntil(() => { + const dropDownOptions: WebdriverIO.Element[] = homePage.dropDownOptions.value; + + return dropDownOptions.length > 1; + }, 5000, "expected more 1 option to be populated"); + }); + + it("should select multi options from the drop-down menu", () => { + homePage.open(); + homePage.dropDownReferenceSet.waitForExist(); + homePage.clearSetIndicator.click(); + expect(homePage.selectSetPlaceholder).toBe(defaultOption); + + homePage.dropDownReferenceSet.click(); + homePage.dropDownOptions.waitForExist(); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("Enter"); + + homePage.dropDownReferenceSet.click(); + homePage.dropDownOptions.waitForExist(); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("Enter"); + + homePage.dropDownReferenceSet.waitForValue(); + expect(homePage.selectedSetElement.getHTML()).toContain(homePage.selectedSetValue); + }); + + it("should clear the selected options", () => { + homePage.open(); + homePage.dropDownReferenceSet.waitForExist(); + + expect(homePage.selectedSetElement.getHTML()).toContain(homePage.selectedSetValue); + + homePage.clearSetIndicator.click(); + homePage.dropDownReferenceSet.waitForValue(); + + expect(homePage.selectSetPlaceholder).toBe(defaultOption); + }); +}); diff --git a/tests/e2e/pages/home.page.ts b/tests/e2e/pages/home.page.ts index 38096dc..86b3a72 100644 --- a/tests/e2e/pages/home.page.ts +++ b/tests/e2e/pages/home.page.ts @@ -3,22 +3,42 @@ class HomePage { return browser.element(".mx-name-dropdownTypeaheadReference13 .Select-control"); } + public get dropDownReferenceSet() { + return browser.element(".mx-name-dropdownTypeaheadReferenceSet2 .Select-control"); + } + public get selectedValue() { return browser.getText("#react-select-2--value-item"); } + public get selectedSetValue() { + return browser.getText("#react-select-3--value-0").trim(); + } + public get selectPlaceholder() { return browser.getText(".mx-name-dropdownTypeaheadReference13 .Select-control .Select-placeholder"); } + public get selectSetPlaceholder() { + return browser.getText(".mx-name-dropdownTypeaheadReferenceSet2 .Select-control .Select-placeholder"); + } + public get selectedElement() { return browser.element(".mx-name-dropdownTypeaheadReference13 .Select-control .Select-value-label"); } + public get selectedSetElement() { + return browser.element(".mx-name-dropdownTypeaheadReferenceSet2 .Select-control .Select-value-label"); + } + public get clearIndicator() { return browser.element(".mx-name-dropdownTypeaheadReference13 .Select-clear-zone .Select-clear"); } + public get clearSetIndicator() { + return browser.element(".mx-name-dropdownTypeaheadReferenceSet2 .Select-clear-zone .Select-clear"); + } + public get dropDownOptions() { return browser.elements(".Select-option"); } diff --git a/tests/e2e/wdio.conf.js b/tests/e2e/wdio.conf.js index f3aaf38..9bf30d8 100644 --- a/tests/e2e/wdio.conf.js +++ b/tests/e2e/wdio.conf.js @@ -14,7 +14,7 @@ exports.config = { coloredLogs: true, bail: 0, screenshotPath: "dist/wdio/", - baseUrl: debug ? "http://localhost:8080/" : "https://dropdowntypeahead.mxapps.io/", + baseUrl: debug ? "http://localhost:8081/" : "https://dropdowntypeahead.mxapps.io/", waitforTimeout: 3600, connectionRetryTimeout: 200000, connectionRetryCount: 2, From 2d9df0df7a1bee95f814fb759d09032b9da49494 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 15 Oct 2018 21:55:47 +0300 Subject: [PATCH 60/89] Code clean up --- Gruntfile.js | 5 +---- README.md | 5 +++-- src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts | 10 +++++----- src/DropdownTypeahead/components/DropdownTypeahead.ts | 6 +++--- .../components/DropdownTypeaheadContainer.ts | 11 +++++------ .../DropdownTypeaheadReferenceSet.webmodeler.ts | 5 ++--- .../components/DropdownTypeaheadReferenceSet.ts | 5 ++--- .../DropdownTypeaheadReferenceSetContainer.ts | 11 +++++------ webpack.config.js | 2 +- 9 files changed, 27 insertions(+), 33 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 9d66f0e..c39c69f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -6,10 +6,7 @@ const widgetNames = [ "DropdownTypeahead", "DropdownTypeaheadReferenceSet" ]; const webpackConfigRelease = webpackConfig.map(config => merge(config, { devtool: false, - mode: "production", - optimization: { - minimize: true - } + mode: "production" })); module.exports = function(grunt) { diff --git a/README.md b/README.md index 7cb40b8..b45f860 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,12 @@ [![codecov](https://codecov.io/gh/mendixlabs/dropdown-type-ahead/branch/master/graph/badge.svg)](https://codecov.io/gh/mendixlabs/dropdown-type-ahead) ![badge](https://img.shields.io/badge/mendix-7.14.1-green.svg) -# Dropdown Typeahead +# Dropdown An input widget used to display and edit associations ## Features -* Allow the user to search for matching options +* Search for matching options +* Selection of multiple options * Asynchronous loading of options * Supports different data sources - Xpath diff --git a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts index fb0fc57..8a3bb2b 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts +++ b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts @@ -18,23 +18,23 @@ export class preview extends Component { value: "noGuid" }; - return createElement(DropdownTypeahead as any, { + return createElement(DropdownTypeahead, { alertMessage: validateProps(this.props), - attribute: this.props.attribute, className: this.props.class, - emptyCaption: this.props.emptyOptionCaption, + emptyOptionCaption: this.props.emptyOptionCaption, isClearable: this.props.isClearable, selectType: this.props.selectType, isReadOnly: this.isReadOnly(), data: [ selectedValue ], asyncData: (input: string) => this.setAsyncSampleData(input), - label: this.props.labelCaption, + labelCaption: this.props.labelCaption ? this.props.labelCaption.trim() : "", labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, readOnlyStyle: this.props.readOnlyStyle, selectedValue, showLabel: this.props.showLabel, - style: parseStyle(this.props.style) + styleObject: parseStyle(this.props.style), + loaded: false }); } diff --git a/src/DropdownTypeahead/components/DropdownTypeahead.ts b/src/DropdownTypeahead/components/DropdownTypeahead.ts index 761b0c8..8d130ee 100644 --- a/src/DropdownTypeahead/components/DropdownTypeahead.ts +++ b/src/DropdownTypeahead/components/DropdownTypeahead.ts @@ -13,7 +13,7 @@ export interface DropdownTypeaheadProps { labelWidth: number; data?: ReferenceOption[]; asyncData?: any; - value: string; + value?: string; labelCaption: string; loaded: boolean; showLabel: boolean; @@ -22,7 +22,7 @@ export interface DropdownTypeaheadProps { isReadOnly: boolean; selectType: "normal" | "asynchronous"; selectedValue: ReferenceOption | null; - handleOnchange: (selectedOption: ReferenceOption | any) => void; + handleOnchange?: (selectedOption: ReferenceOption | any) => void; className?: string; readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; @@ -46,7 +46,7 @@ export class DropdownTypeahead extends Component { private renderForm() { if (!this.props.loaded) { - if (this.props.showLabel && this.props.labelCaption.trim() !== "") { + if (this.props.showLabel && this.props.labelCaption) { return createElement(Label, { className: this.props.className, label: this.props.labelCaption, diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts index 58a163b..2bbdaf1 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts @@ -1,4 +1,4 @@ -import { ChangeEvent, Component, createElement } from "react"; +import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; @@ -46,14 +46,13 @@ export default class DropdownTypeaheadContainer extends Component = this.onChange.bind(this); + private readonly handleOnClick: (selectedOption: ReferenceOption | any) => void = this.onChange.bind(this); render() { const selectedValue = this.getSelectedValue(this.state.selected); - return createElement(DropdownTypeahead as any, { + return createElement(DropdownTypeahead, { alertMessage: validateProps(this.props), - attribute: this.props.attribute, className: this.props.class, data: this.state.options, asyncData: this.setAsyncOptions, @@ -63,13 +62,13 @@ export default class DropdownTypeaheadContainer extends Component { return createElement(DropdownTypeahead as any, { alertMessage: validateProps(this.props), - attribute: this.props.attribute, className: this.props.class, - emptyCaption: this.props.emptyOptionCaption, + emptyOptionCaption: this.props.emptyOptionCaption, isClearable: this.props.isClearable, selectType: this.props.selectType, isReadOnly: this.isReadOnly(), data: [ selectedValue ], asyncData: (input: string) => this.setAsyncSampleData(input), - label: this.props.labelCaption, + labelCaption: this.props.labelCaption ? this.props.labelCaption.trim() : "", labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, readOnlyStyle: this.props.readOnlyStyle, diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index 49a4aea..b8e28fb 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -13,7 +13,6 @@ export interface DropdownTypeaheadProps { labelWidth: number; data?: ReferenceOption[]; asyncData?: any; - value: string; labelCaption: string; loaded: boolean; showLabel: boolean; @@ -22,7 +21,7 @@ export interface DropdownTypeaheadProps { isReadOnly: boolean; selectType: "normal" | "asynchronous"; selectedValue: any; - handleOnchange: (selectedOption: ReferenceOption | any) => void; + handleOnchange?: (selectedOption: ReferenceOption | any) => void; className?: string; readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; @@ -46,7 +45,7 @@ export class DropdownTypeahead extends Component { private renderForm() { if (!this.props.loaded) { - if (this.props.showLabel && this.props.labelCaption.trim() !== "") { + if (this.props.showLabel && this.props.labelCaption) { return createElement(Label, { className: this.props.className, label: this.props.labelCaption, diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index 351d58d..253e770 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -1,4 +1,4 @@ -import { ChangeEvent, Component, createElement } from "react"; +import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; @@ -46,12 +46,11 @@ export default class DropdownTypeaheadContainer extends Component = this.onChange.bind(this); + private readonly handleOnClick: (selectedOption: ReferenceOption | any) => void = this.onChange.bind(this); render() { - return createElement(DropdownTypeahead as any, { + return createElement(DropdownTypeahead, { alertMessage: validateProps(this.props), - attribute: this.props.attribute, className: this.props.class, data: this.state.options, asyncData: this.setAsyncOptions, @@ -61,13 +60,13 @@ export default class DropdownTypeaheadContainer extends Component Date: Thu, 18 Oct 2018 16:08:32 +0300 Subject: [PATCH 61/89] Add lazy loading for database, microflow and nanoflow --- .../DropdownTypeahead.webmodeler.ts | 1 - src/DropdownTypeahead/DropdownTypeahead.xml | 40 ++++++++----------- .../components/DropdownTypeahead.ts | 1 + .../components/DropdownTypeaheadContainer.ts | 36 ++++++++++++----- ...ropdownTypeaheadReferenceSet.webmodeler.ts | 1 - .../DropdownTypeaheadReferenceSet.xml | 38 ++++++++---------- .../DropdownTypeaheadReferenceSet.ts | 1 + .../DropdownTypeaheadReferenceSetContainer.ts | 34 +++++++++++----- .../utils/ContainerUtils.ts | 2 +- 9 files changed, 86 insertions(+), 68 deletions(-) diff --git a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts index 8a3bb2b..15eeace 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts +++ b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts @@ -72,7 +72,6 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi if (valueMap.selectType !== "asynchronous") { visibilityMap.searchAttribute = false; - visibilityMap.searchMicroflow = false; } return visibilityMap; diff --git a/src/DropdownTypeahead/DropdownTypeahead.xml b/src/DropdownTypeahead/DropdownTypeahead.xml index d183ebc..d276b19 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.xml +++ b/src/DropdownTypeahead/DropdownTypeahead.xml @@ -1,7 +1,7 @@ Dropdown reference - + @@ -82,12 +82,25 @@ Select type Selectable objects - + Normal loading (synchronous) Asynchronous loading + + Search attribute + Selectable objects + Attribute to be used for custom search (use with asynchronous loading) + + + + + + + + + Source Selectable objects @@ -106,7 +119,7 @@ Sort options Selectable objects - + Attribute @@ -124,7 +137,7 @@ Sort Attribute - + Ascending Descending @@ -144,25 +157,6 @@ Returns a list of data values - - Search Microflow - Search - Returns a list of filtered data values - - - - Search attribute - Search - - - - - - - - - - On change Events diff --git a/src/DropdownTypeahead/components/DropdownTypeahead.ts b/src/DropdownTypeahead/components/DropdownTypeahead.ts index 8d130ee..eae410d 100644 --- a/src/DropdownTypeahead/components/DropdownTypeahead.ts +++ b/src/DropdownTypeahead/components/DropdownTypeahead.ts @@ -83,6 +83,7 @@ export class DropdownTypeahead extends Component { createElement(Async, { valueKey : "value", labelKey : "label", + autoFocus: true, autoload: false, loadOptions: (input: string) => this.props.asyncData(input), ...commonProps }), diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts index 2bbdaf1..d7890a0 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts @@ -2,7 +2,7 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; +import { FetchDataOptions, Nanoflow, fetchData } from "../utils/Data"; import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeahead"; interface WrapperProps { @@ -19,7 +19,6 @@ export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { entityPath: string; entityConstraint: string; searchAttribute: string; - searchMicroflow: string; source: "xpath" | "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; sortAttributes: AttributeType[]; @@ -213,20 +212,35 @@ export default class DropdownTypeaheadContainer extends Component => { const filteredOptions: ReferenceOption[] = []; + const entity = this.props.entityPath.split("/")[1]; + const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = this.props; + const attributeReference = `${this.props.entityPath}${this.props.attribute}`; + const options: FetchDataOptions = { + attributes: [ attributeReference ], + constraint: entityConstraint, + entity, + guid: mxObject.getGuid(), + microflow, + mxform: this.props.mxform, + nanoflow, + sortAttributes: this.props.sortAttributes, + sortOrder, + source + }; - if (input === "" && !this.props.mxObject) { + if (!this.props.mxObject) { return Promise.resolve({ options: [] }); } else { - this.props.mxObject.set(this.props.searchAttribute, input); + this.props.mxObject.set(this.props.searchAttribute, input); - return fetchByMicroflow(this.props.searchMicroflow, this.props.mxObject.getGuid()).then((mendixObjects) => { - mendixObjects.forEach(mxObject => { - filteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); - }); - this.setState({ options: filteredOptions, isLoading: false }); - - return { options: filteredOptions }; + return fetchData(options).then((mendixObjects) => { + mendixObjects.forEach(mendixObject => { + filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); }); + this.setState({ options: filteredOptions, isLoading: false }); + + return { options: filteredOptions }; + }); } } } diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts index 0705e9f..88af2aa 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts @@ -71,7 +71,6 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi if (valueMap.selectType !== "asynchronous") { visibilityMap.searchAttribute = false; - visibilityMap.searchMicroflow = false; } return visibilityMap; diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml index 0589ad9..57fdc7f 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml @@ -1,7 +1,7 @@ Dropdown reference set - + @@ -82,12 +82,25 @@ Select type Selectable objects - + Normal loading (synchronous) Asynchronous loading + + Search attribute + Selectable objects + Attribute to be used for custom search (use with asynchronous loading) + + + + + + + + + Source Selectable objects @@ -124,7 +137,7 @@ Sort Attribute - + Ascending Descending @@ -144,25 +157,6 @@ Returns a list of data values - - Search Microflow - Search - Returns a list of filtered data values - - - - Search attribute - Search - - - - - - - - - - On change Events diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index b8e28fb..3958257 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -92,6 +92,7 @@ export class DropdownTypeahead extends Component { valueKey : "value", labelKey : "label", autoload: false, + autoFocus: true, loadOptions: (input: string) => this.props.asyncData(input), ...commonProps }), createElement(Alert, { diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index 253e770..88c4793 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -2,7 +2,7 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchByMicroflow, fetchData } from "../utils/Data"; +import { FetchDataOptions, Nanoflow, fetchData } from "../utils/Data"; import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeaheadReferenceSet"; interface WrapperProps { @@ -201,19 +201,35 @@ export default class DropdownTypeaheadContainer extends Component => { const filteredOptions: ReferenceOption[] = []; + const entity = this.props.entityPath.split("/")[1]; + const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = this.props; + const attributeReference = `${this.props.entityPath}${this.props.attribute}`; + const options: FetchDataOptions = { + attributes: [ attributeReference ], + constraint: entityConstraint, + entity, + guid: mxObject.getGuid(), + microflow, + mxform: this.props.mxform, + nanoflow, + sortAttributes: this.props.sortAttributes, + sortOrder, + source + }; - if (input === "" && !this.props.mxObject) { + if (!this.props.mxObject) { return Promise.resolve({ options: [] }); } else { - this.props.mxObject.set(this.props.searchAttribute, input); + this.props.mxObject.set(this.props.searchAttribute, input); - return fetchByMicroflow(this.props.searchMicroflow, this.props.mxObject.getGuid()).then((mendixObjects) => { - mendixObjects.forEach(mxObject => { - filteredOptions.push({ label: mxObject.get(this.props.attribute) as string, value: mxObject.getGuid() }); - }); - - return { options: filteredOptions, isLoading: false }; + return fetchData(options).then((mendixObjects) => { + mendixObjects.forEach(mendixObject => { + filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); }); + this.setState({ options: filteredOptions, isLoading: false }); + + return { options: filteredOptions }; + }); } } } diff --git a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts index 9ab55c9..082cf4e 100644 --- a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts +++ b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts @@ -36,7 +36,7 @@ export const validateProps = (props: ContainerProps): string => { message.push("Show label is enabled but no label is provided"); } - if (props.selectType === "asynchronous" && !props.searchMicroflow) { + if (props.selectType === "asynchronous" && !props.microflow) { message.push("Asynchronous loading requires a search microflow but none is provided"); } From f6c9629e4cb74d8a4b4aafb91620d8f3d52c3333 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 18 Oct 2018 17:05:39 +0300 Subject: [PATCH 62/89] Merge shared code --- .../DropdownTypeahead.webmodeler.ts | 4 +- .../components/DropdownTypeahead.ts | 6 +- .../components/DropdownTypeaheadContainer.ts | 4 +- .../__tests__/DropdownTypeahead.spec.ts | 4 +- .../ui/DropdownTypeahead.scss | 66 ------- src/DropdownTypeahead/utils/Data.ts | 164 ------------------ ...ropdownTypeaheadReferenceSet.webmodeler.ts | 4 +- .../components/Alert.ts | 15 -- .../DropdownTypeaheadReferenceSet.ts | 8 +- .../DropdownTypeaheadReferenceSetContainer.ts | 4 +- .../components/Label.ts | 25 --- .../ui/DropdownTypeaheadReferenceSet.scss | 81 --------- .../utils/ContainerUtils.ts | 51 ------ .../components/Alert.ts | 0 .../components/Label.ts | 0 .../components/__tests__/Alert.spec.ts | 0 .../components/__tests__/Label.spec.ts | 0 src/SharedResources/ui/Dropdown.scss | 150 ++++++++++++++++ .../utils/ContainerUtils.ts | 5 +- .../utils/Data.ts | 2 +- 20 files changed, 171 insertions(+), 422 deletions(-) delete mode 100644 src/DropdownTypeahead/ui/DropdownTypeahead.scss delete mode 100644 src/DropdownTypeahead/utils/Data.ts delete mode 100644 src/DropdownTypeaheadReferenceSet/components/Alert.ts delete mode 100644 src/DropdownTypeaheadReferenceSet/components/Label.ts delete mode 100644 src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss delete mode 100644 src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts rename src/{DropdownTypeahead => SharedResources}/components/Alert.ts (100%) rename src/{DropdownTypeahead => SharedResources}/components/Label.ts (100%) rename src/{DropdownTypeahead => SharedResources}/components/__tests__/Alert.spec.ts (100%) rename src/{DropdownTypeahead => SharedResources}/components/__tests__/Label.spec.ts (100%) create mode 100644 src/SharedResources/ui/Dropdown.scss rename src/{DropdownTypeahead => SharedResources}/utils/ContainerUtils.ts (83%) rename src/{DropdownTypeaheadReferenceSet => SharedResources}/utils/Data.ts (98%) diff --git a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts index 15eeace..60908af 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts +++ b/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts @@ -1,6 +1,6 @@ import { Component, createElement } from "react"; -import { parseStyle, validateProps } from "./utils/ContainerUtils"; +import { parseStyle, validateProps } from "../SharedResources/utils/ContainerUtils"; import { DropdownTypeahead } from "./components/DropdownTypeahead"; import { ContainerProps } from "./components/DropdownTypeaheadContainer"; @@ -53,7 +53,7 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("./ui/DropdownTypeahead.scss") + require("react-select/dist/react-select.css") + require("../SharedResources/ui/Dropdown.scss") + require("react-select/dist/react-select.css") ); } diff --git a/src/DropdownTypeahead/components/DropdownTypeahead.ts b/src/DropdownTypeahead/components/DropdownTypeahead.ts index eae410d..5075e4b 100644 --- a/src/DropdownTypeahead/components/DropdownTypeahead.ts +++ b/src/DropdownTypeahead/components/DropdownTypeahead.ts @@ -2,10 +2,10 @@ import { Component, createElement } from "react"; import Select , { Async } from "react-select"; import * as classNames from "classnames"; -import { Alert } from "./Alert"; -import { Label } from "./Label"; +import { Alert } from "../../SharedResources/components/Alert"; +import { Label } from "../../SharedResources/components/Label"; -import "../ui/DropdownTypeahead.scss"; +import "../../SharedResources/ui/Dropdown.scss"; import "react-select/dist/react-select.css"; export interface DropdownTypeaheadProps { diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts index d7890a0..3d48bda 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts @@ -1,8 +1,8 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; -import { parseStyle, validateProps } from "../utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchData } from "../utils/Data"; +import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeahead"; interface WrapperProps { diff --git a/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts b/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts index 559cf07..78b8801 100644 --- a/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts +++ b/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts @@ -2,9 +2,9 @@ import { shallow } from "enzyme"; import { createElement } from "react"; import Select from "react-select"; -import { Label } from "../Label"; +import { Label } from "../../../SharedResources/components/Label"; import { DropdownTypeahead, DropdownTypeaheadProps } from "../DropdownTypeahead"; -import { Alert } from "../Alert"; +import { Alert } from "../../../SharedResources/components/Alert"; describe("DropdownTypeahead", () => { const render = (props: DropdownTypeaheadProps) => shallow(createElement(DropdownTypeahead, props)); diff --git a/src/DropdownTypeahead/ui/DropdownTypeahead.scss b/src/DropdownTypeahead/ui/DropdownTypeahead.scss deleted file mode 100644 index 7af7e8e..0000000 --- a/src/DropdownTypeahead/ui/DropdownTypeahead.scss +++ /dev/null @@ -1,66 +0,0 @@ -.Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; -} - -.Select.Select-control { - border-color: #0595DB; - box-shadow: unset !important; - background: #fff; -} - -.Select { - display: -webkit-box; -} - - Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; - } - - .Select-clear-zone { - padding-top: 5px !important; -} - -.Select-clear-zone:hover { - color: inherit !important; -} - -.Select-menu-outer { - border-color: #0595DB !important; - box-shadow: none !important; -} - -.Select.is-focused > .Select-control { - border-color: #0595DB !important; -} - -.Select-option.is-selected { - background-color: #fff !important; -} - -.Select-option.is-focused { - color: #fff !important; - background-color: #0595DB !important ; -} - -.Select-option { - display: default !important; - padding: 6px 10px !important; -} - -[class*="is-disabled"]{ - background-color: #eee !important; - opacity: 1; - - :hover { cursor: not-allowed !important; } -} - -.Select.is-disabled > .Select-control { - background-color: inherit !important; - opacity: 0.9; -} - -.widget-dropdown-type-ahead-alert { - margin-top: 4px !important; -} diff --git a/src/DropdownTypeahead/utils/Data.ts b/src/DropdownTypeahead/utils/Data.ts deleted file mode 100644 index 39d7abb..0000000 --- a/src/DropdownTypeahead/utils/Data.ts +++ /dev/null @@ -1,164 +0,0 @@ - -type MxObject = mendix.lib.MxObject; -type SortOrder = "asc" | "desc"; - -import { AttributeType } from "../components/DropdownTypeahead"; -export interface FetchDataOptions { - source: "xpath" | "microflow" | "nanoflow"; - entity: string; - guid: string; - constraint?: string; - sortAttributes: AttributeType[]; - sortOrder?: SortOrder; - attributes?: string[]; - microflow?: string; - nanoflow?: Nanoflow; - mxform?: mxui.lib.form._FormBase; -} - -export interface FetchByXPathOptions { - guid: string; - entity: string; - constraint: string; - sortAttributes: AttributeType[]; - sortOrder?: SortOrder; - attributes?: string[]; - references?: any; -} - -export interface ReferencesSpec { - attributes?: string[]; - amount?: number; - sort?: Array<[ string, SortOrder ]>; - references?: { - [ index: string ]: ReferencesSpec; - }; -} - -export interface FetchedData { - mxObjects?: mendix.lib.MxObject[]; -} - -export interface Nanoflow { - nanoflow: object[]; - paramsSpec: { Progress: string }; -} - -const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => - path.split("/").reduce((referenceSet, part, index, pathParts) => { - let parent = referenceSet; - // Use relations, skip entities sample: "module.relation_X_Y/module.entity_Y/attribute" - // At the moment Mendix support only 1 level deep. - if (index % 2 === 0) { - for (let i = 0; i < index; i += 2) { - if (parent.references) { - parent = parent.references[pathParts[i]]; - } - } - if (pathParts.length - 1 === index) { - // Skip empty attributes - if (part) { - parent.attributes = parent.attributes ? parent.attributes.concat(part) : [ part ]; - } - } else if (!parent.references) { - parent.references = { [part]: {} }; - } else if (!parent.references[part]) { - parent.references[part] = {}; - } - } - - return referenceSet; - }, references); - -export const fetchData = (options: FetchDataOptions): Promise => - new Promise((resolve, reject) => { - const { guid, entity, sortAttributes, sortOrder } = options; - if (entity && guid) { - if (options.source === "xpath") { - const references = getReferences(options.attributes || []); - fetchByXPath({ - attributes: references.attributes, - constraint: options.constraint || "", - entity, - guid, - references: references.references, - sortAttributes, - sortOrder - }) - .then(mxObjects => resolve(mxObjects)) - .catch(message => reject({ message })); - } else if (options.source === "microflow" && options.microflow) { - fetchByMicroflow(options.microflow, guid) - .then(mxObjects => resolve(mxObjects)) - .catch(message => reject({ message })); - } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) { // nanoflow - fetchByNanoflow(options.nanoflow, options.mxform) - .then(mxObjects => resolve(mxObjects)) - .catch(message => reject({ message })); - } else { - reject("entity & guid are required"); - } - } - }); - -export const fetchByXPath = (options: FetchByXPathOptions): Promise => new Promise((resolve, reject) => { - const { guid, entity, constraint, sortAttributes, attributes, references } = options; - - const entityPath = entity.split("/"); - const entityName = entityPath.length > 1 ? entityPath[entityPath.length - 1] : entity; - const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; - - window.mx.data.get({ - callback: resolve, - error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), - filter: { - attributes, - offset: 0, - references, - sort: createSortProps(sortAttributes) - }, - xpath - }); -}); - -export const fetchByMicroflow = (actionname: string, guid: string): Promise => - new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; - window.mx.ui.action(actionname, { - callback: (result) => resolve(result as any), - error: error => reject(`${errorMessage} ${error.message}`), - params: { applyto: "selection", guids: [ guid ] } - }); - }); - -export const fetchByNanoflow = (actionname: Nanoflow, mxform: mxui.lib.form._FormBase): Promise => - new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by nanoflow (${actionname}): `; - const context = new mendix.lib.MxContext(); - window.mx.data.callNanoflow({ - callback: (result) => resolve(result as any), - context, - error: error => reject(`${errorMessage} ${error.message}`), - nanoflow: actionname, - origin: mxform - }); - }); - -const getReferences = (attributePaths: string[]): ReferencesSpec => { - let references: ReferencesSpec = { attributes: [] }; - attributePaths.forEach(attribute => { - references = addPathReference(references, attribute); - }); - - return references; -}; - -export const createSortProps = (sortAttributes: AttributeType[]) => { - const combined: any = []; - sortAttributes.map((optionObject) => { - const { name, sort } = optionObject; - combined.push([ name, sort ]); - }); - - return combined; -}; diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts index 88af2aa..167424a 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts +++ b/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts @@ -1,6 +1,6 @@ import { Component, createElement } from "react"; -import { parseStyle, validateProps } from "./utils/ContainerUtils"; +import { parseStyle, validateProps } from "../SharedResources/utils/ContainerUtils"; import { DropdownTypeahead } from "./components/DropdownTypeaheadReferenceSet"; import { ContainerProps } from "./components/DropdownTypeaheadReferenceSetContainer"; @@ -52,7 +52,7 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("./ui/DropdownTypeaheadReferenceSet.scss") + require("react-select/dist/react-select.css") + require("../SharedResources/ui/Dropdown.scss") + require("react-select/dist/react-select.css") ); } diff --git a/src/DropdownTypeaheadReferenceSet/components/Alert.ts b/src/DropdownTypeaheadReferenceSet/components/Alert.ts deleted file mode 100644 index 0953538..0000000 --- a/src/DropdownTypeaheadReferenceSet/components/Alert.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { SFC, createElement } from "react"; -import * as classNames from "classnames"; - -export interface AlertProps { - bootstrapStyle?: "default" | "primary" | "success" | "info" | "warning" | "danger"; - className?: string; -} - -export const Alert: SFC = ({ bootstrapStyle, className, children }) => - children - ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, children) - : null; - -Alert.displayName = "Alert"; -Alert.defaultProps = { bootstrapStyle: "danger" }; diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts index 3958257..fe74869 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts @@ -2,10 +2,10 @@ import { Component, createElement } from "react"; import Select , { Async } from "react-select"; import * as classNames from "classnames"; -import { Alert } from "./Alert"; -import { Label } from "./Label"; +import { Alert } from "../../SharedResources/components/Alert"; +import { Label } from "../../SharedResources/components/Label"; -import "../ui/DropdownTypeaheadReferenceSet.scss"; +import "../../SharedResources/ui/Dropdown.scss"; import "react-select/dist/react-select.css"; export interface DropdownTypeaheadProps { @@ -74,7 +74,7 @@ export class DropdownTypeahead extends Component { if (this.props.readOnlyStyle === "control") { return createElement("div", { - className: classNames("widget-dropdown-type-ahead-wrapper") + className: classNames("widget-dropdown-reference-set") }, this.props.selectType === "normal" ? this.props.isReadOnly ? diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts index 88c4793..f28785c 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts @@ -1,8 +1,8 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; -import { parseStyle, validateProps } from "../utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchData } from "../utils/Data"; +import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeaheadReferenceSet"; interface WrapperProps { diff --git a/src/DropdownTypeaheadReferenceSet/components/Label.ts b/src/DropdownTypeaheadReferenceSet/components/Label.ts deleted file mode 100644 index 2917582..0000000 --- a/src/DropdownTypeaheadReferenceSet/components/Label.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { SFC, createElement } from "react"; -import * as classNames from "classnames"; - -export interface LabelProps { - className?: string; - label: string; - weight: number; - style?: object; - orientation?: "horizontal" | "vertical"; -} - -export const Label: SFC = ({ children, className, label, style, weight, orientation }) => { - weight = (weight > 11 || weight < 1) ? 3 : weight; - const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : ""; - const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : ""; - - return createElement("div", { className: classNames("form-group", className), style }, - createElement("label", { className: `control-label ${labelWeight}` }, label), - createElement("div", { className: `${childrenWeight}` }, children) - ); -}; - -Label.defaultProps = { weight: 6 }; - -Label.displayName = "Label"; diff --git a/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss b/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss deleted file mode 100644 index 3f02796..0000000 --- a/src/DropdownTypeaheadReferenceSet/ui/DropdownTypeaheadReferenceSet.scss +++ /dev/null @@ -1,81 +0,0 @@ -.Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; -} - -.Select.Select-control { - border-color: #0595DB; - box-shadow: unset !important; - background: #fff; -} - -.Select { - display: -webkit-box; -} - - Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; - } - - .Select-clear-zone { - padding-top: 5px !important; -} - -.Select-clear-zone:hover { - color: inherit !important; -} - -.Select-menu-outer { - border-color: #0595DB !important; - box-shadow: none !important; -} - -.Select.is-focused > .Select-control { - border-color: #0595DB !important; -} - -.Select-option.is-selected { - background-color: #fff !important; -} - -.Select-option.is-focused { - color: #fff !important; - background-color: #0595DB !important ; -} - -.Select-option { - display: default !important; - padding: 6px 10px !important; -} - -[class*="is-disabled"]{ - background-color: #eee !important; - opacity: 1; - - :hover { cursor: not-allowed !important; } -} - -.Select.is-disabled > .Select-control { - background-color: inherit !important; - opacity: 0.9; -} - -.widget-dropdown-type-ahead-alert { - margin-top: 4px !important; -} - -.Select--multi.is-disabled .Select-value { - background-color: inherit !important; - border: 0px !important; - font-size: 14px !important; - color:inherit !important; - - .Select-value-label { - padding: unset !important; - } -} - -.Select--multi .Select-value { - background-color: unset !important; -} diff --git a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts b/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts deleted file mode 100644 index 082cf4e..0000000 --- a/src/DropdownTypeaheadReferenceSet/utils/ContainerUtils.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { ContainerProps } from "../components/DropdownTypeaheadReferenceSetContainer"; - -export const parseStyle = (style = ""): { [key: string]: string } => { - try { - return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { - const pair = line.split(":"); - if (pair.length === 2) { - const name = pair[0].trim().replace(/(-.)/g, match => match[1].toUpperCase()); - styleObject[name] = pair[1].trim(); - } - - return styleObject; - }, {}); - } catch (error) { - // tslint:disable-next-line no-console - window.console.log("Failed to parse style", style, error); - } - - return {}; -}; - -export const validateProps = (props: ContainerProps): string => { - const message: string[] = []; - - if (props.onChangeEvent === "callMicroflow" && !props.onChangeMicroflow) { - message.push("On change event is set to 'Call a microflow' but no microflow is selected"); - } else if (props.onChangeEvent === "callNanoflow" && !props.onChangeNanoflow.nanoflow) { - message.push("On change event is set to 'Call a nanoflow' but no nanoflow is selected"); - } - - if (props.labelCaption.trim() === "" && props.showLabel && (props.labelWidth > 11 || props.labelWidth < 1)) { - message.push("Label width should be a value between 0 and 12"); - } - - if (props.labelCaption.trim() === "" && props.showLabel) { - message.push("Show label is enabled but no label is provided"); - } - - if (props.selectType === "asynchronous" && !props.microflow) { - message.push("Asynchronous loading requires a search microflow but none is provided"); - } - - if (message.length) { - const widgetName = props.friendlyId.split(".")[2]; - const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; - - return errorMessage; - } - - return message.join(", "); -}; diff --git a/src/DropdownTypeahead/components/Alert.ts b/src/SharedResources/components/Alert.ts similarity index 100% rename from src/DropdownTypeahead/components/Alert.ts rename to src/SharedResources/components/Alert.ts diff --git a/src/DropdownTypeahead/components/Label.ts b/src/SharedResources/components/Label.ts similarity index 100% rename from src/DropdownTypeahead/components/Label.ts rename to src/SharedResources/components/Label.ts diff --git a/src/DropdownTypeahead/components/__tests__/Alert.spec.ts b/src/SharedResources/components/__tests__/Alert.spec.ts similarity index 100% rename from src/DropdownTypeahead/components/__tests__/Alert.spec.ts rename to src/SharedResources/components/__tests__/Alert.spec.ts diff --git a/src/DropdownTypeahead/components/__tests__/Label.spec.ts b/src/SharedResources/components/__tests__/Label.spec.ts similarity index 100% rename from src/DropdownTypeahead/components/__tests__/Label.spec.ts rename to src/SharedResources/components/__tests__/Label.spec.ts diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss new file mode 100644 index 0000000..c0ff30f --- /dev/null +++ b/src/SharedResources/ui/Dropdown.scss @@ -0,0 +1,150 @@ +.Select.is-focused:not(.is-open) > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; +} + +.Select.Select-control { + border-color: #0595DB; + box-shadow: unset !important; + background: #fff; +} + +.Select { + display: -webkit-box; +} + + Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } + + .Select-clear-zone { + padding-top: 5px !important; +} + +.Select-clear-zone:hover { + color: inherit !important; +} + +.Select-menu-outer { + border-color: #0595DB !important; + box-shadow: none !important; +} + +.Select.is-focused > .Select-control { + border-color: #0595DB !important; +} + +.Select-option.is-selected { + background-color: #fff !important; +} + +.Select-option.is-focused { + color: #fff !important; + background-color: #0595DB !important ; +} + +.Select-option { + display: default !important; + padding: 6px 10px !important; +} + +[class*="is-disabled"]{ + background-color: #eee !important; + opacity: 1; + + :hover { cursor: not-allowed !important; } +} + +.Select.is-disabled > .Select-control { + background-color: inherit !important; + opacity: 0.9; +} + +.widget-dropdown-type-ahead-alert { + margin-top: 4px !important; +} + +.widget-dropdown-reference-set{ + .Select.is-focused:not(.is-open) > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } + + .Select.Select-control { + border-color: #0595DB; + box-shadow: unset !important; + background: #fff; + } + + .Select { + display: -webkit-box; + } + + Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } + + .Select-clear-zone { + padding-top: 5px !important; + } + + .Select-clear-zone:hover { + color: inherit !important; + } + + .Select-menu-outer { + border-color: #0595DB !important; + box-shadow: none !important; + } + + .Select.is-focused > .Select-control { + border-color: #0595DB !important; + } + + .Select-option.is-selected { + background-color: #fff !important; + } + + .Select-option.is-focused { + color: #fff !important; + background-color: #0595DB !important ; + } + + .Select-option { + display: default !important; + padding: 6px 10px !important; + } + + [class*="is-disabled"]{ + background-color: #eee !important; + opacity: 1; + + :hover { cursor: not-allowed !important; } + } + + .Select.is-disabled > .Select-control { + background-color: inherit !important; + opacity: 0.9; + } + + .widget-dropdown-type-ahead-alert { + margin-top: 4px !important; + } + + .Select--multi.is-disabled .Select-value { + background-color: inherit !important; + border: 0px !important; + font-size: 14px !important; + color:inherit !important; + + .Select-value-label { + padding: unset !important; + } + } + + .Select--multi .Select-value { + background-color: unset !important; + } + } diff --git a/src/DropdownTypeahead/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts similarity index 83% rename from src/DropdownTypeahead/utils/ContainerUtils.ts rename to src/SharedResources/utils/ContainerUtils.ts index f393da2..bf96ab4 100644 --- a/src/DropdownTypeahead/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -1,4 +1,5 @@ -import { ContainerProps } from "../components/DropdownTypeaheadContainer"; +import { ContainerProps } from "../../DropdownTypeahead/components/DropdownTypeaheadContainer"; +import { ContainerProps as ReferenceSetProps } from "../../DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer"; export const parseStyle = (style = ""): { [key: string]: string } => { try { @@ -19,7 +20,7 @@ export const parseStyle = (style = ""): { [key: string]: string } => { return {}; }; -export const validateProps = (props: ContainerProps): string => { +export const validateProps = (props: ContainerProps | ReferenceSetProps): string => { const message: string[] = []; if (props.onChangeEvent === "callMicroflow" && !props.onChangeMicroflow) { diff --git a/src/DropdownTypeaheadReferenceSet/utils/Data.ts b/src/SharedResources/utils/Data.ts similarity index 98% rename from src/DropdownTypeaheadReferenceSet/utils/Data.ts rename to src/SharedResources/utils/Data.ts index 845efcc..5df3348 100644 --- a/src/DropdownTypeaheadReferenceSet/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -2,7 +2,7 @@ type MxObject = mendix.lib.MxObject; type SortOrder = "asc" | "desc"; -import { AttributeType } from "../components/DropdownTypeaheadReferenceSet"; +import { AttributeType } from "../../DropdownTypeahead/components/DropdownTypeahead"; export interface FetchDataOptions { source: "xpath" | "microflow" | "nanoflow"; entity: string; From 9f0c3a33711fbe1c96e6ef89c35a9d7dd8eb2991 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Sun, 21 Oct 2018 23:57:26 +0300 Subject: [PATCH 63/89] Change widget id to dropdownReference / dropdownReferenceSet --- Gruntfile.js | 2 +- package.json | 4 +- .../DropdownReference.webmodeler.ts} | 6 +- .../DropdownReference.xml} | 64 ++++++++--------- .../components/DropdownReference.ts} | 2 +- .../components/DropdownReferenceContainer.ts} | 2 +- .../__tests__/DropdownReference.spec.ts} | 2 +- .../DropdownReferenceSet.webmodeler.ts} | 6 +- .../DropdownReferenceSet.xml} | 68 +++++++++---------- .../components/DropdownReferenceSet.ts} | 2 +- .../DropdownReferenceSetContainer.ts} | 2 +- src/SharedResources/components/Label.ts | 1 - src/SharedResources/utils/ContainerUtils.ts | 4 +- src/SharedResources/utils/Data.ts | 2 +- src/package.xml | 10 +-- ...head.spec.ts => DropdownReference.spec.ts} | 0 ...t.spec.ts => DropdownReferenceSet.spec.ts} | 0 tests/e2e/pages/home.page.ts | 16 ++--- tests/e2e/wdio.conf.js | 4 +- webpack.config.js | 8 +-- 20 files changed, 102 insertions(+), 103 deletions(-) rename src/{DropdownTypeahead/DropdownTypeahead.webmodeler.ts => DropdownReference/DropdownReference.webmodeler.ts} (91%) rename src/{DropdownTypeahead/DropdownTypeahead.xml => DropdownReference/DropdownReference.xml} (85%) rename src/{DropdownTypeahead/components/DropdownTypeahead.ts => DropdownReference/components/DropdownReference.ts} (100%) rename src/{DropdownTypeahead/components/DropdownTypeaheadContainer.ts => DropdownReference/components/DropdownReferenceContainer.ts} (99%) rename src/{DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts => DropdownReference/components/__tests__/DropdownReference.spec.ts} (99%) rename src/{DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts => DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts} (90%) rename src/{DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml => DropdownReferenceSet/DropdownReferenceSet.xml} (84%) rename src/{DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts => DropdownReferenceSet/components/DropdownReferenceSet.ts} (100%) rename src/{DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts => DropdownReferenceSet/components/DropdownReferenceSetContainer.ts} (99%) rename tests/e2e/{DropdownTypeahead.spec.ts => DropdownReference.spec.ts} (100%) rename tests/e2e/{DropdownTypeaheadReferenceSet.spec.ts => DropdownReferenceSet.spec.ts} (100%) diff --git a/Gruntfile.js b/Gruntfile.js index c39c69f..e5d80c3 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,7 +2,7 @@ const webpack = require("webpack"); const webpackConfig = require("./webpack.config"); const merge = require("webpack-merge"); -const widgetNames = [ "DropdownTypeahead", "DropdownTypeaheadReferenceSet" ]; +const widgetNames = [ "DropdownReference", "DropdownReferenceSet" ]; const webpackConfigRelease = webpackConfig.map(config => merge(config, { devtool: false, diff --git a/package.json b/package.json index 1ee3829..10abc00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "dropdowntypeahead", - "widgetName": "DropdownTypeahead", + "name": "dropdown", + "widgetName": "Dropdown", "version": "1.0.0", "description": "An input widget used to display and edit associations", "copyright": "Mendix BV", diff --git a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts similarity index 91% rename from src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts rename to src/DropdownReference/DropdownReference.webmodeler.ts index 60908af..638bd25 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -1,8 +1,8 @@ import { Component, createElement } from "react"; import { parseStyle, validateProps } from "../SharedResources/utils/ContainerUtils"; -import { DropdownTypeahead } from "./components/DropdownTypeahead"; -import { ContainerProps } from "./components/DropdownTypeaheadContainer"; +import { DropdownTypeahead } from "./components/DropdownReference"; +import { ContainerProps } from "./components/DropdownReferenceContainer"; declare function require(name: string): string; @@ -53,7 +53,7 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("../SharedResources/ui/Dropdown.scss") + require("react-select/dist/react-select.css") + require("react-select/dist/react-select.css") + require("../SharedResources/ui/Dropdown.scss") ); } diff --git a/src/DropdownTypeahead/DropdownTypeahead.xml b/src/DropdownReference/DropdownReference.xml similarity index 85% rename from src/DropdownTypeahead/DropdownTypeahead.xml rename to src/DropdownReference/DropdownReference.xml index d276b19..67d301a 100644 --- a/src/DropdownTypeahead/DropdownTypeahead.xml +++ b/src/DropdownReference/DropdownReference.xml @@ -1,5 +1,5 @@ - + Dropdown reference @@ -32,8 +32,8 @@ Never - - Empty option caption + + Empty caption Appearance Text displayed when no selection is made @@ -47,9 +47,9 @@ - Enable clear selection + Selection clearable Appearance - Clears a selected option + Adds a (x) clear button in the input Show label @@ -66,12 +66,12 @@ - Label width + Label width (weight) Label The weight of the label, which must be a value between 0 and 12 - Label orientation + Form orientation Label @@ -79,28 +79,6 @@ Vertical - - Select type - Selectable objects - - - Normal loading (synchronous) - Asynchronous loading - - - - Search attribute - Selectable objects - Attribute to be used for custom search (use with asynchronous loading) - - - - - - - - - Source Selectable objects @@ -117,14 +95,14 @@ - Sort options + Sort order Selectable objects - + Attribute Attribute - Attribute to sort the + Attribute to sort the list @@ -157,6 +135,28 @@ Returns a list of data values + + Search attribute + Selectable objects + Attribute set with search text of the user, this could be used for filter results in microflow or nanoflow + + + + + + + + + + + Lazy loading + Selectable objects + Start loading the selectable objects when dropdown is opened + + True + False + + On change Events diff --git a/src/DropdownTypeahead/components/DropdownTypeahead.ts b/src/DropdownReference/components/DropdownReference.ts similarity index 100% rename from src/DropdownTypeahead/components/DropdownTypeahead.ts rename to src/DropdownReference/components/DropdownReference.ts index 5075e4b..2312da0 100644 --- a/src/DropdownTypeahead/components/DropdownTypeahead.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -5,8 +5,8 @@ import * as classNames from "classnames"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; -import "../../SharedResources/ui/Dropdown.scss"; import "react-select/dist/react-select.css"; +import "../../SharedResources/ui/Dropdown.scss"; export interface DropdownTypeaheadProps { styleObject?: object; diff --git a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts similarity index 99% rename from src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts rename to src/DropdownReference/components/DropdownReferenceContainer.ts index 3d48bda..bdacff4 100644 --- a/src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeahead"; +import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownReference"; interface WrapperProps { class: string; diff --git a/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts similarity index 99% rename from src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts rename to src/DropdownReference/components/__tests__/DropdownReference.spec.ts index 78b8801..30682e8 100644 --- a/src/DropdownTypeahead/components/__tests__/DropdownTypeahead.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -3,7 +3,7 @@ import { createElement } from "react"; import Select from "react-select"; import { Label } from "../../../SharedResources/components/Label"; -import { DropdownTypeahead, DropdownTypeaheadProps } from "../DropdownTypeahead"; +import { DropdownTypeahead, DropdownTypeaheadProps } from "../DropdownReference"; import { Alert } from "../../../SharedResources/components/Alert"; describe("DropdownTypeahead", () => { diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts similarity index 90% rename from src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts rename to src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index 167424a..89d1e36 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -1,8 +1,8 @@ import { Component, createElement } from "react"; import { parseStyle, validateProps } from "../SharedResources/utils/ContainerUtils"; -import { DropdownTypeahead } from "./components/DropdownTypeaheadReferenceSet"; -import { ContainerProps } from "./components/DropdownTypeaheadReferenceSetContainer"; +import { DropdownTypeahead } from "./components/DropdownReferenceSet"; +import { ContainerProps } from "./components/DropdownReferenceSetContainer"; declare function require(name: string): string; @@ -52,7 +52,7 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("../SharedResources/ui/Dropdown.scss") + require("react-select/dist/react-select.css") + require("react-select/dist/react-select.css") + require("../SharedResources/ui/Dropdown.scss") ); } diff --git a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml b/src/DropdownReferenceSet/DropdownReferenceSet.xml similarity index 84% rename from src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml rename to src/DropdownReferenceSet/DropdownReferenceSet.xml index 57fdc7f..4417667 100644 --- a/src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.xml +++ b/src/DropdownReferenceSet/DropdownReferenceSet.xml @@ -1,5 +1,5 @@ - + Dropdown reference set @@ -32,8 +32,8 @@ Never - - Empty option caption + + Empty caption Appearance Text displayed when no selection is made @@ -47,9 +47,9 @@ - Enable clear selection + Selection clearable Appearance - Clears a selected option + Adds a (x) clear button in the input Show label @@ -66,12 +66,12 @@ - Label width + Label width (weight) Label The weight of the label, which must be a value between 0 and 12 - Label orientation + Form orientation Label @@ -79,28 +79,6 @@ Vertical - - Select type - Selectable objects - - - Normal loading (synchronous) - Asynchronous loading - - - - Search attribute - Selectable objects - Attribute to be used for custom search (use with asynchronous loading) - - - - - - - - - Source Selectable objects @@ -117,14 +95,14 @@ - Sort options + Sort order Selectable objects - + - + Attribute Attribute - Attribute to sort the + Attribute to sort the list @@ -137,7 +115,7 @@ Sort Attribute - + Ascending Descending @@ -157,6 +135,28 @@ Returns a list of data values + + Search attribute + Selectable objects + Attribute set with search text of the user, this could be used for filter results in microflow or nanoflow + + + + + + + + + + + Lazy loading + Selectable objects + Start loading the selectable objects when dropdown is opened + + True + False + + On change Events diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts similarity index 100% rename from src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts rename to src/DropdownReferenceSet/components/DropdownReferenceSet.ts index fe74869..dd663d0 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -5,8 +5,8 @@ import * as classNames from "classnames"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; -import "../../SharedResources/ui/Dropdown.scss"; import "react-select/dist/react-select.css"; +import "../../SharedResources/ui/Dropdown.scss"; export interface DropdownTypeaheadProps { styleObject?: object; diff --git a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts similarity index 99% rename from src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts rename to src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index f28785c..0ced6b6 100644 --- a/src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownTypeaheadReferenceSet"; +import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownReferenceSet"; interface WrapperProps { class: string; diff --git a/src/SharedResources/components/Label.ts b/src/SharedResources/components/Label.ts index 2917582..0be12e7 100644 --- a/src/SharedResources/components/Label.ts +++ b/src/SharedResources/components/Label.ts @@ -21,5 +21,4 @@ export const Label: SFC = ({ children, className, label, style, weig }; Label.defaultProps = { weight: 6 }; - Label.displayName = "Label"; diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index bf96ab4..87babfe 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -1,5 +1,5 @@ -import { ContainerProps } from "../../DropdownTypeahead/components/DropdownTypeaheadContainer"; -import { ContainerProps as ReferenceSetProps } from "../../DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer"; +import { ContainerProps } from "../../DropdownReference/components/DropdownReferenceContainer"; +import { ContainerProps as ReferenceSetProps } from "../../DropdownReferenceSet/components/DropdownReferenceSetContainer"; export const parseStyle = (style = ""): { [key: string]: string } => { try { diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index 5df3348..aa4ec58 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -2,7 +2,7 @@ type MxObject = mendix.lib.MxObject; type SortOrder = "asc" | "desc"; -import { AttributeType } from "../../DropdownTypeahead/components/DropdownTypeahead"; +import { AttributeType } from "../../DropdownReference/components/DropdownReference"; export interface FetchDataOptions { source: "xpath" | "microflow" | "nanoflow"; entity: string; diff --git a/src/package.xml b/src/package.xml index 4a1f9c4..90960c9 100644 --- a/src/package.xml +++ b/src/package.xml @@ -1,13 +1,13 @@ - + - - + + - - + + diff --git a/tests/e2e/DropdownTypeahead.spec.ts b/tests/e2e/DropdownReference.spec.ts similarity index 100% rename from tests/e2e/DropdownTypeahead.spec.ts rename to tests/e2e/DropdownReference.spec.ts diff --git a/tests/e2e/DropdownTypeaheadReferenceSet.spec.ts b/tests/e2e/DropdownReferenceSet.spec.ts similarity index 100% rename from tests/e2e/DropdownTypeaheadReferenceSet.spec.ts rename to tests/e2e/DropdownReferenceSet.spec.ts diff --git a/tests/e2e/pages/home.page.ts b/tests/e2e/pages/home.page.ts index 86b3a72..3c537f7 100644 --- a/tests/e2e/pages/home.page.ts +++ b/tests/e2e/pages/home.page.ts @@ -1,10 +1,10 @@ class HomePage { public get dropDownSelector() { - return browser.element(".mx-name-dropdownTypeaheadReference13 .Select-control"); + return browser.element(".mx-name-dropdownReference1 .Select-control"); } public get dropDownReferenceSet() { - return browser.element(".mx-name-dropdownTypeaheadReferenceSet2 .Select-control"); + return browser.element(".mx-name-dropdownReferenceSet2 .Select-control"); } public get selectedValue() { @@ -16,27 +16,27 @@ class HomePage { } public get selectPlaceholder() { - return browser.getText(".mx-name-dropdownTypeaheadReference13 .Select-control .Select-placeholder"); + return browser.getText(".mx-name-dropdownReference1 .Select-control .Select-placeholder"); } public get selectSetPlaceholder() { - return browser.getText(".mx-name-dropdownTypeaheadReferenceSet2 .Select-control .Select-placeholder"); + return browser.getText(".mx-name-dropdownReferenceSet2 .Select-control .Select-placeholder"); } public get selectedElement() { - return browser.element(".mx-name-dropdownTypeaheadReference13 .Select-control .Select-value-label"); + return browser.element(".mx-name-dropdownReference1 .Select-control .Select-value-label"); } public get selectedSetElement() { - return browser.element(".mx-name-dropdownTypeaheadReferenceSet2 .Select-control .Select-value-label"); + return browser.element(".mx-name-dropdownReferenceSet2 .Select-control .Select-value-label"); } public get clearIndicator() { - return browser.element(".mx-name-dropdownTypeaheadReference13 .Select-clear-zone .Select-clear"); + return browser.element(".mx-name-dropdownReference1 .Select-clear-zone .Select-clear"); } public get clearSetIndicator() { - return browser.element(".mx-name-dropdownTypeaheadReferenceSet2 .Select-clear-zone .Select-clear"); + return browser.element(".mx-name-dropdownReferenceSet2 .Select-clear-zone .Select-clear"); } public get dropDownOptions() { diff --git a/tests/e2e/wdio.conf.js b/tests/e2e/wdio.conf.js index 9bf30d8..1acfdae 100644 --- a/tests/e2e/wdio.conf.js +++ b/tests/e2e/wdio.conf.js @@ -14,8 +14,8 @@ exports.config = { coloredLogs: true, bail: 0, screenshotPath: "dist/wdio/", - baseUrl: debug ? "http://localhost:8081/" : "https://dropdowntypeahead.mxapps.io/", - waitforTimeout: 3600, + baseUrl: debug ? "http://localhost:8080/" : "https://dropdowntypeahead.mxapps.io/", + waitforTimeout: 36000, connectionRetryTimeout: 200000, connectionRetryCount: 2, services: [ "selenium-standalone" ], diff --git a/webpack.config.js b/webpack.config.js index 51a7e35..affb996 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -7,8 +7,8 @@ const widgetName = require("./package").widgetName.toLowerCase(); const widgetConfig = { entry: { - DropdownTypeahead: "./src/DropdownTypeahead/components/DropdownTypeaheadContainer.ts", - DropdownTypeaheadReferenceSet: "./src/DropdownTypeaheadReferenceSet/components/DropdownTypeaheadReferenceSetContainer.ts" + DropdownReference: "./src/DropdownReference/components/DropdownReferenceContainer.ts", + DropdownReferenceSet: "./src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts" }, output: { path: path.resolve(__dirname, "dist/tmp"), @@ -50,8 +50,8 @@ const widgetConfig = { const previewConfig = { entry: { - DropdownTypeahead: "./src/DropdownTypeahead/DropdownTypeahead.webmodeler.ts", - DropdownTypeaheadReferenceSet: "./src/DropdownTypeaheadReferenceSet/DropdownTypeaheadReferenceSet.webmodeler.ts", + DropdownReference: "./src/DropdownReference/DropdownReference.webmodeler.ts", + DropdownReferenceSet: "./src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts", }, output: { path: path.resolve(__dirname, "dist/tmp"), From fbc7ed825a8afaec8a768e9c92f6f0808ed2e6ba Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Mon, 22 Oct 2018 12:08:23 +0300 Subject: [PATCH 64/89] Show error in microflow/nanoflow runtime --- .../DropdownReference.webmodeler.ts | 4 +- .../components/DropdownReference.ts | 27 +++++-------- .../components/DropdownReferenceContainer.ts | 40 +++++++++---------- .../__tests__/DropdownReference.spec.ts | 36 ++++++++--------- .../DropdownReferenceSet.webmodeler.ts | 4 +- .../components/DropdownReferenceSet.ts | 28 +++++-------- .../DropdownReferenceSetContainer.ts | 34 ++++++++-------- src/SharedResources/components/Label.ts | 2 +- src/SharedResources/ui/Dropdown.scss | 19 ++++++++- src/SharedResources/utils/ContainerUtils.ts | 10 +++-- src/SharedResources/utils/Data.ts | 2 +- tests/e2e/DropdownReference.spec.ts | 2 +- 12 files changed, 102 insertions(+), 106 deletions(-) diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 638bd25..4b528d8 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -1,7 +1,7 @@ import { Component, createElement } from "react"; import { parseStyle, validateProps } from "../SharedResources/utils/ContainerUtils"; -import { DropdownTypeahead } from "./components/DropdownReference"; +import { DropdownReference } from "./components/DropdownReference"; import { ContainerProps } from "./components/DropdownReferenceContainer"; declare function require(name: string): string; @@ -18,7 +18,7 @@ export class preview extends Component { value: "noGuid" }; - return createElement(DropdownTypeahead, { + return createElement(DropdownReference, { alertMessage: validateProps(this.props), className: this.props.class, emptyOptionCaption: this.props.emptyOptionCaption, diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 2312da0..4da9aa8 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -8,7 +8,7 @@ import { Label } from "../../SharedResources/components/Label"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; -export interface DropdownTypeaheadProps { +export interface DropdownReferenceProps { styleObject?: object; labelWidth: number; data?: ReferenceOption[]; @@ -39,27 +39,19 @@ export interface AttributeType { sort: string; } -export class DropdownTypeahead extends Component { +export class DropdownReference extends Component { render() { - return this.renderForm(); - } - - private renderForm() { - if (!this.props.loaded) { - if (this.props.showLabel && this.props.labelCaption) { - return createElement(Label, { + return this.props.loaded ? + this.props.showLabel ? + createElement(Label, { className: this.props.className, label: this.props.labelCaption, orientation: this.props.labelOrientation, style: this.props.styleObject, weight: this.props.labelWidth - }, this.renderSelector()); - } - - return this.renderSelector(); - } - - return createElement("div", {}); + }, this.renderSelector()) : + this.renderSelector() : + createElement("div", { className: "loading-data" }); } private renderSelector() { @@ -78,7 +70,7 @@ export class DropdownTypeahead extends Component { this.props.selectType === "normal" ? createElement(Select, { options: this.props.data, - noResultsText: "No options", + noResultsText: "", ...commonProps }) : createElement(Async, { valueKey : "value", @@ -95,7 +87,6 @@ export class DropdownTypeahead extends Component { return createElement("p", { className: "form-control-static" }, this.props.selectedValue ? this.props.selectedValue.label : ""); } - } private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index bdacff4..702e12e 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownReference"; +import { AttributeType, DropdownReference, DropdownReferenceProps, ReferenceOption } from "./DropdownReference"; interface WrapperProps { class: string; @@ -14,7 +14,7 @@ interface WrapperProps { friendlyId: string; } -export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { +export interface ContainerProps extends WrapperProps, DropdownReferenceProps { attribute: string; entityPath: string; entityConstraint: string; @@ -33,14 +33,14 @@ export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { export interface ContainerState { options: ReferenceOption[]; selected: string; - isLoading: boolean; + loaded: boolean; } -export default class DropdownTypeaheadContainer extends Component { +export default class DropdownReferenceContainer extends Component { readonly state: ContainerState = { options: [], selected: "", - isLoading: true + loaded: true }; private subscriptionHandles: number[] = []; @@ -50,7 +50,7 @@ export default class DropdownTypeaheadContainer extends Component window.mx.ui.error(`Error while executing microflow ${onChangeMicroflow}: ${error.message}`), // tslint:disable-line max-line-length + error: error => window.mx.ui.error(`Error while executing onchange microflow ${onChangeMicroflow}: ${error.message}`), // tslint:disable-line max-line-length origin: mxform, params: { applyto: "selection", @@ -166,7 +166,7 @@ export default class DropdownTypeaheadContainer extends Component window.mx.ui.error(`Error while executing the onchange nanoflow: ${error.message}`), + error: error => window.mx.ui.error(`Error while executing onchange nanoflow: ${error.message}`), nanoflow: onChangeNanoflow, origin: mxform }); @@ -192,22 +192,20 @@ export default class DropdownTypeaheadContainer extends Component this.setOptions(optionObjects)) - .catch(mx.ui.error); + .catch(errorMessage => window.mx.ui.error(errorMessage.message)); } private setOptions = (mendixObjects: mendix.lib.MxObject[]) => { const options: ReferenceOption[] = []; - if (mendixObjects.length > 0) { - mendixObjects.forEach(mxObject => { - options.push({ - label: mx.parser.formatAttribute(mxObject, this.props.attribute), - value: mxObject.getGuid() - }); + mendixObjects.forEach(mxObject => { + options.push({ + label: mx.parser.formatAttribute(mxObject, this.props.attribute), + value: mxObject.getGuid() }); - } + }); - this.setState({ options, isLoading: false }); + this.setState({ options, loaded: false }); } private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { @@ -237,7 +235,7 @@ export default class DropdownTypeaheadContainer extends Component { filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); }); - this.setState({ options: filteredOptions, isLoading: false }); + this.setState({ options: filteredOptions, loaded: false }); return { options: filteredOptions }; }); diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index 30682e8..5ee4f92 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -3,12 +3,12 @@ import { createElement } from "react"; import Select from "react-select"; import { Label } from "../../../SharedResources/components/Label"; -import { DropdownTypeahead, DropdownTypeaheadProps } from "../DropdownReference"; +import { DropdownReference, DropdownReferenceProps } from "../DropdownReference"; import { Alert } from "../../../SharedResources/components/Alert"; -describe("DropdownTypeahead", () => { - const render = (props: DropdownTypeaheadProps) => shallow(createElement(DropdownTypeahead, props)); - const TypeAheadProps: DropdownTypeaheadProps = { +describe("DropdownReference", () => { + const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); + const ReferenceProps: DropdownReferenceProps = { emptyOptionCaption: "Select city", labelWidth: 3, data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], @@ -27,9 +27,9 @@ describe("DropdownTypeahead", () => { }; it("renders the structure correctly", () => { - const DropdownTypeAheadComponent = render(TypeAheadProps); + const DropdownReferenceComponent = render(ReferenceProps); - expect(DropdownTypeAheadComponent).toBeElement( + expect(DropdownReferenceComponent).toBeElement( createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, createElement(Select, { @@ -47,10 +47,10 @@ describe("DropdownTypeahead", () => { }); it("with no label caption renders the structure correctly", () => { - const DropdownTypeAheadComponent = render(TypeAheadProps); + const DropdownReferenceComponent = render(ReferenceProps); - DropdownTypeAheadComponent.setProps({ labelCaption: "", showLabel: false }); - expect(DropdownTypeAheadComponent).toBeElement( + DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); + expect(DropdownReferenceComponent).toBeElement( createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, createElement(Select, { clearable: true, @@ -66,28 +66,28 @@ describe("DropdownTypeahead", () => { }); it("that is still loading renders with the structure", () => { - const DropdownTypeAheadComponent = render(TypeAheadProps); + const DropdownReferenceComponent = render(ReferenceProps); - DropdownTypeAheadComponent.setProps({ loaded: true }); - expect(DropdownTypeAheadComponent).toBeElement(createElement("div", {})); + DropdownReferenceComponent.setProps({ loaded: true }); + expect(DropdownReferenceComponent).toBeElement(createElement("div", {})); }); describe("with readOnlyStyle as 'text'", () => { it("renders with the structure with a selected value", () => { - const DropdownTypeAheadComponent = render(TypeAheadProps); - DropdownTypeAheadComponent.setProps({ readOnlyStyle: "text" }); + const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ readOnlyStyle: "text" }); - expect(DropdownTypeAheadComponent).toBeElement( + expect(DropdownReferenceComponent).toBeElement( createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, createElement("p", { className: "form-control-static" }, "kampalaId")) ); }); it("renders with the structure with a no value", () => { - const DropdownTypeAheadComponent = render(TypeAheadProps); - DropdownTypeAheadComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); + const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); - expect(DropdownTypeAheadComponent).toBeElement( + expect(DropdownReferenceComponent).toBeElement( createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, createElement("p", { className: "form-control-static" }, "")) ); diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index 89d1e36..91e8b91 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -1,7 +1,7 @@ import { Component, createElement } from "react"; import { parseStyle, validateProps } from "../SharedResources/utils/ContainerUtils"; -import { DropdownTypeahead } from "./components/DropdownReferenceSet"; +import { DropdownReferenceSet } from "./components/DropdownReferenceSet"; import { ContainerProps } from "./components/DropdownReferenceSetContainer"; declare function require(name: string): string; @@ -18,7 +18,7 @@ export class preview extends Component { value: "noGuid" }; - return createElement(DropdownTypeahead as any, { + return createElement(DropdownReferenceSet as any, { alertMessage: validateProps(this.props), className: this.props.class, emptyOptionCaption: this.props.emptyOptionCaption, diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index dd663d0..73a99c5 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -8,7 +8,7 @@ import { Label } from "../../SharedResources/components/Label"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; -export interface DropdownTypeaheadProps { +export interface DropdownReferenceSetProps { styleObject?: object; labelWidth: number; data?: ReferenceOption[]; @@ -33,32 +33,24 @@ export interface ReferenceOption { label?: string; } -export interface AttributeType { +export interface AttributeType { // TODO: remove from here name: string; sort: string; } -export class DropdownTypeahead extends Component { +export class DropdownReferenceSet extends Component { render() { - return this.renderForm(); - } - - private renderForm() { - if (!this.props.loaded) { - if (this.props.showLabel && this.props.labelCaption) { - return createElement(Label, { + return this.props.loaded ? + this.props.showLabel ? + createElement(Label, { className: this.props.className, label: this.props.labelCaption, orientation: this.props.labelOrientation, style: this.props.styleObject, weight: this.props.labelWidth - }, this.renderSelector()); - } - - return this.renderSelector(); - } - - return createElement("div", {}); + }, this.renderSelector()) : + this.renderSelector() : + createElement("div", { className: "loading-data" }); } private renderSelector() { @@ -86,7 +78,7 @@ export class DropdownTypeahead extends Component { value: this.processOptions() }) : createElement(Select, { options: this.props.data, - noResultsText: "No options", + noResultsText: "", ...commonProps }) : createElement(Async, { valueKey : "value", diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 0ced6b6..f6f2ae5 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -3,7 +3,7 @@ import * as initializeReactFastclick from "react-fastclick"; import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { AttributeType, DropdownTypeahead, DropdownTypeaheadProps, ReferenceOption } from "./DropdownReferenceSet"; +import { AttributeType, DropdownReferenceSet, DropdownReferenceSetProps, ReferenceOption } from "./DropdownReferenceSet"; interface WrapperProps { class: string; @@ -14,7 +14,7 @@ interface WrapperProps { friendlyId: string; } -export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { +export interface ContainerProps extends WrapperProps, DropdownReferenceSetProps { attribute: string; entityPath: string; entityConstraint: string; @@ -34,14 +34,14 @@ export interface ContainerProps extends WrapperProps, DropdownTypeaheadProps { export interface ContainerState { options: ReferenceOption[]; selected: any; - isLoading: boolean; + loaded: boolean; } -export default class DropdownTypeaheadContainer extends Component { +export default class DropdownReferenceSetContainer extends Component { readonly state: ContainerState = { options: [], selected: [], - isLoading: true + loaded: true }; private subscriptionHandles: number[] = []; @@ -49,7 +49,7 @@ export default class DropdownTypeaheadContainer extends Component void = this.onChange.bind(this); render() { - return createElement(DropdownTypeahead, { + return createElement(DropdownReferenceSet, { alertMessage: validateProps(this.props), className: this.props.class, data: this.state.options, @@ -59,7 +59,7 @@ export default class DropdownTypeaheadContainer extends Component this.setOptions(optionObjects)) - .catch(mx.ui.error); + .catch(errorMessage => window.mx.ui.error(errorMessage.message)); } private setOptions = (mendixObjects: mendix.lib.MxObject[]) => { const options: ReferenceOption[] = []; - if (mendixObjects.length > 0) { - mendixObjects.forEach(mxObject => { - options.push({ - label: mx.parser.formatAttribute(mxObject, this.props.attribute), - value: mxObject.getGuid() - }); + mendixObjects.forEach(mxObject => { + options.push({ + label: mx.parser.formatAttribute(mxObject, this.props.attribute), + value: mxObject.getGuid() }); - } + }); this.setState({ options }); } @@ -226,7 +224,7 @@ export default class DropdownTypeaheadContainer extends Component { filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); }); - this.setState({ options: filteredOptions, isLoading: false }); + this.setState({ options: filteredOptions, loaded: false }); return { options: filteredOptions }; }); diff --git a/src/SharedResources/components/Label.ts b/src/SharedResources/components/Label.ts index 0be12e7..807e06b 100644 --- a/src/SharedResources/components/Label.ts +++ b/src/SharedResources/components/Label.ts @@ -20,5 +20,5 @@ export const Label: SFC = ({ children, className, label, style, weig ); }; -Label.defaultProps = { weight: 6 }; +Label.defaultProps = { weight: 3 }; Label.displayName = "Label"; diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index c0ff30f..28826db 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -65,7 +65,7 @@ margin-top: 4px !important; } -.widget-dropdown-reference-set{ +.widget-dropdown-reference-set { .Select.is-focused:not(.is-open) > .Select-control { border-color: #0595DB !important; box-shadow: unset !important; @@ -146,5 +146,20 @@ .Select--multi .Select-value { background-color: unset !important; + } } - } + + .loading-data { + border: 10px dotted white; + border-radius: 50%; + border-top: 9px solid black; + width: 70px; + height: 70px; + -webkit-animation: spin 2s linear infinite; + animation: spin 2s linear infinite; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} \ No newline at end of file diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index 87babfe..5c1c3fd 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -29,12 +29,14 @@ export const validateProps = (props: ContainerProps | ReferenceSetProps): string message.push("On change event is set to 'Call a nanoflow' but no nanoflow is selected"); } - if (props.labelCaption.trim() === "" && props.showLabel && (props.labelWidth > 11 || props.labelWidth < 1)) { - message.push("Label width should be a value between 0 and 12"); + if (props.source === "microflow" && !props.microflow) { + message.push("Source is set as 'microflow' but no microflow is selected"); + } else if (props.source === "nanoflow" && !props.nanoflow.nanoflow) { + message.push("Source is set as 'nanoflow' but no nanoflow is selected"); } - if (props.labelCaption.trim() === "" && props.showLabel) { - message.push("Show label is enabled but no label is provided"); + if (props.showLabel && (props.labelWidth > 11 || props.labelWidth < 1)) { + message.push("Label width should be a value between 0 and 12"); } if (message.length) { diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index aa4ec58..f01ab0a 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -91,7 +91,7 @@ export const fetchData = (options: FetchDataOptions): Promise resolve(mxObjects)) .catch(message => reject({ message })); - } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) { // nanoflow + } else if (options.source === "nanoflow" && options.nanoflow && options.mxform) { fetchByNanoflow(options.nanoflow, options.mxform) .then(mxObjects => resolve(mxObjects)) .catch(message => reject({ message })); diff --git a/tests/e2e/DropdownReference.spec.ts b/tests/e2e/DropdownReference.spec.ts index 80f436d..fb2d498 100644 --- a/tests/e2e/DropdownReference.spec.ts +++ b/tests/e2e/DropdownReference.spec.ts @@ -2,7 +2,7 @@ import homePage from "./pages/home.page"; const defaultOption = "Select city"; -describe("Dropdown type ahead ", () => { +describe("Dropdown reference ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); From c83419c05d9dfdea42a5e7998543718108a93d64 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Wed, 24 Oct 2018 09:05:30 +0300 Subject: [PATCH 65/89] Use data source attribute as default sort attribute --- .../DropdownReference.webmodeler.ts | 8 +- .../components/DropdownReference.ts | 5 - .../components/DropdownReferenceContainer.ts | 26 +++-- .../DropdownReferenceSet.webmodeler.ts | 14 ++- .../DropdownReferenceSet.xml | 25 +++- .../components/DropdownReferenceSet.ts | 108 +++++++++++++----- .../DropdownReferenceSetContainer.ts | 61 ++++------ src/SharedResources/utils/ContainerUtils.ts | 9 +- src/SharedResources/utils/Data.ts | 4 +- 9 files changed, 171 insertions(+), 89 deletions(-) diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 4b528d8..508faa8 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -34,7 +34,7 @@ export class preview extends Component { selectedValue, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style), - loaded: false + loaded: true }); } @@ -70,6 +70,12 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.entityConstraint = false; } + if (valueMap.showLabel) { + visibilityMap.labelOrientation = true; + visibilityMap.labelWidth = true; + visibilityMap.labelCaption = true; + } + if (valueMap.selectType !== "asynchronous") { visibilityMap.searchAttribute = false; } diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 4da9aa8..ff6c12e 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -34,11 +34,6 @@ export interface ReferenceOption { label?: string; } -export interface AttributeType { - name: string; - sort: string; -} - export class DropdownReference extends Component { render() { return this.props.loaded ? diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 702e12e..c46bad4 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -1,9 +1,9 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; -import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { AttributeType, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { AttributeType, DropdownReference, DropdownReferenceProps, ReferenceOption } from "./DropdownReference"; +import { DropdownReference, DropdownReferenceProps, ReferenceOption } from "./DropdownReference"; interface WrapperProps { class: string; @@ -103,7 +103,9 @@ export default class DropdownReferenceContainer extends Component { - return !this.props.mxObject || (this.props.editable !== "default") || this.props.readOnly; + const { editable, mxObject, readOnly, attribute } = this.props; + + return editable !== "default" || (!mxObject || readOnly || !!(attribute && mxObject.isReadonlyAttr(attribute))); } private resetSubscriptions(mxObject?: mendix.lib.MxObject) { @@ -175,8 +177,8 @@ export default class DropdownReferenceContainer extends Component => { + private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> | undefined => { const filteredOptions: ReferenceOption[] = []; const entity = this.props.entityPath.split("/")[1]; const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = this.props; @@ -231,13 +235,19 @@ export default class DropdownReferenceContainer extends Component { + return fetchData(options) + .then((mendixObjects) => { mendixObjects.forEach(mendixObject => { filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); }); this.setState({ options: filteredOptions, loaded: false }); return { options: filteredOptions }; + }) + .catch(errorMessage => { + window.mx.ui.error(errorMessage.message); + + return Promise.resolve({ options: [] }); }); } } diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index 91e8b91..9c761a7 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -18,7 +18,7 @@ export class preview extends Component { value: "noGuid" }; - return createElement(DropdownReferenceSet as any, { + return createElement(DropdownReferenceSet, { alertMessage: validateProps(this.props), className: this.props.class, emptyOptionCaption: this.props.emptyOptionCaption, @@ -33,7 +33,11 @@ export class preview extends Component { readOnlyStyle: this.props.readOnlyStyle, selectedValue, showLabel: this.props.showLabel, - style: parseStyle(this.props.style) + styleObject: parseStyle(this.props.style), + loaded: true, + searchText: this.props.searchText, + loadingText: this.props.loadingText, + minimumCharacter: this.props.minimumCharacter }); } @@ -69,6 +73,12 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.entityConstraint = false; } + if (valueMap.showLabel) { + visibilityMap.labelOrientation = true; + visibilityMap.labelWidth = true; + visibilityMap.labelCaption = true; + } + if (valueMap.selectType !== "asynchronous") { visibilityMap.searchAttribute = false; } diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.xml b/src/DropdownReferenceSet/DropdownReferenceSet.xml index 4417667..4f29626 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.xml +++ b/src/DropdownReferenceSet/DropdownReferenceSet.xml @@ -56,6 +56,24 @@ Label + + Loading text + Appearance + + + Loading + Laden + + + + Search text + Appearance + + + Search + Zoek + + Label caption Label @@ -115,7 +133,7 @@ Sort Attribute - + Ascending Descending @@ -157,6 +175,11 @@ False + + Minimal search characters + Selectable objects + Number of characters typed before an initial search is triggered + On change Events diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 73a99c5..c961a35 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -1,5 +1,5 @@ import { Component, createElement } from "react"; -import Select , { Async } from "react-select"; +import Select, { Async } from "react-select"; import * as classNames from "classnames"; import { Alert } from "../../SharedResources/components/Alert"; @@ -26,6 +26,9 @@ export interface DropdownReferenceSetProps { readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; alertMessage: string; + searchText: string; + loadingText: string; + minimumCharacter: number; } export interface ReferenceOption { @@ -33,12 +36,17 @@ export interface ReferenceOption { label?: string; } -export interface AttributeType { // TODO: remove from here - name: string; - sort: string; +interface DropdownReferenceSetState { + showOptions: boolean; + selectedData: {}[]; } export class DropdownReferenceSet extends Component { + readonly state: DropdownReferenceSetState = { + showOptions: false, + selectedData: [] + }; + render() { return this.props.loaded ? this.props.showLabel ? @@ -60,37 +68,45 @@ export class DropdownReferenceSet extends Component { removeSelected: true, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, + searchPromptText: this.props.searchText, + onInputChange: (input: string) => this.onInputChange(input), clearValueText: "", ...this.createSelectorProp() as object }; if (this.props.readOnlyStyle === "control") { - return createElement("div", { - className: classNames("widget-dropdown-reference-set") - }, + return createElement("div", { + className: classNames("widget-dropdown-reference-set") + }, this.props.selectType === "normal" ? this.props.isReadOnly ? - createElement("input", { - type: "text", - readonly: "readonly", - className: "form-control", - disabled: "disabled", - value: this.processOptions() }) : - createElement(Select, { - options: this.props.data, - noResultsText: "", - ...commonProps }) : + createElement("input", { + type: "text", + readonly: "readonly", + className: "form-control", + disabled: "disabled", + value: this.processOptions() + }) : + createElement(Select, { + options: this.state.showOptions ? this.props.data : this.state.selectedData, + noResultsText: "", + ...commonProps + }) : createElement(Async, { - valueKey : "value", - labelKey : "label", - autoload: false, - autoFocus: true, - loadOptions: (input: string) => this.props.asyncData(input), - ...commonProps }), - createElement(Alert, { - className: "widget-dropdown-type-ahead-alert" - }, this.props.alertMessage) - ); + valueKey: "value", + labelKey: "label", + autoload: false, + autoFocus: true, + loadingPlaceholder: this.props.loadingText, + loadOptions: this.state.showOptions ? + (input: string) => this.props.asyncData(input) : + (input: string) => this.emptyOptions(input), + ...commonProps + }), + createElement(Alert, { + className: "widget-dropdown-type-ahead-alert" + }, this.props.alertMessage) + ); } else { return createElement("p", { className: "form-control-static" }, this.processOptions()); @@ -103,7 +119,7 @@ export class DropdownReferenceSet extends Component { return { value: this.props.selectedValue }; } - return { value: null , placeholder: this.props.emptyOptionCaption }; + return { value: null, placeholder: this.props.emptyOptionCaption }; } private processOptions() { @@ -127,4 +143,40 @@ export class DropdownReferenceSet extends Component { return formatedOptions.join(", "); } + + private onInputChange = (newValue: string) => { + let showOptions = false; + if (newValue.length >= this.props.minimumCharacter && newValue.trim() !== "") { + showOptions = true; + } + + this.setState({ showOptions }); + } + + private emptyOptions = (input: string) => { + if (input.length < this.props.minimumCharacter) { + let selectedData = []; + + if (this.props.selectedValue.length > 0) { + selectedData = this.props.selectedValue.map((selectedGuid: string) => { + let value = ""; + let label = ""; + if (this.props.data) { + this.props.data.forEach((dataObject: any) => { + value = dataObject.value; + if (value === selectedGuid) { + label = dataObject.label; + } + }); + } + + return { label, value }; + }); + } + + return Promise.resolve({ options: selectedData }); + } + + return Promise.resolve({ options: this.props.data }); + } } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index f6f2ae5..0b206f6 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -1,9 +1,9 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; -import { parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { AttributeType, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { AttributeType, DropdownReferenceSet, DropdownReferenceSetProps, ReferenceOption } from "./DropdownReferenceSet"; +import { DropdownReferenceSet, DropdownReferenceSetProps, ReferenceOption } from "./DropdownReferenceSet"; interface WrapperProps { class: string; @@ -19,7 +19,6 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceSetProps entityPath: string; entityConstraint: string; searchAttribute: string; - searchMicroflow: string; source: "xpath" | "microflow" | "nanoflow"; sortOrder: "asc" | "desc"; sortAttributes: AttributeType[]; @@ -65,6 +64,9 @@ export default class DropdownReferenceSetContainer extends Component { - return !this.props.mxObject || (this.props.editable !== "default") || this.props.readOnly; + const { editable, mxObject, readOnly, attribute } = this.props; + + return editable !== "default" || (!mxObject || readOnly || !(attribute && mxObject.isReadonlyAttr(attribute))); } private resetSubscriptions(mxObject?: mendix.lib.MxObject) { @@ -164,8 +168,8 @@ export default class DropdownReferenceSetContainer extends Component { - const options: ReferenceOption[] = []; - - mendixObjects.forEach(mxObject => { - options.push({ + const options: ReferenceOption[] = mendixObjects.map(mxObject => { + return { label: mx.parser.formatAttribute(mxObject, this.props.attribute), value: mxObject.getGuid() - }); + }; }); - this.setState({ options }); + this.setState({ options, loaded: false }); } private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { - const filteredOptions: ReferenceOption[] = []; - const entity = this.props.entityPath.split("/")[1]; - const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = this.props; - const attributeReference = `${this.props.entityPath}${this.props.attribute}`; - const options: FetchDataOptions = { - attributes: [ attributeReference ], - constraint: entityConstraint, - entity, - guid: mxObject.getGuid(), - microflow, - mxform: this.props.mxform, - nanoflow, - sortAttributes: this.props.sortAttributes, - sortOrder, - source - }; - - if (!this.props.mxObject) { + if (!this.props.mxObject || input.trim() === "") { return Promise.resolve({ options: [] }); } else { - this.props.mxObject.set(this.props.searchAttribute, input); + this.props.mxObject.set(this.props.searchAttribute, input); + this.retrieveOptions(this.props); - return fetchData(options).then((mendixObjects) => { - mendixObjects.forEach(mendixObject => { - filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); - }); - this.setState({ options: filteredOptions, loaded: false }); - - return { options: filteredOptions }; - }); + return Promise.resolve({ options: this.state.options }); } } } diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index 5c1c3fd..b3483c0 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -1,6 +1,11 @@ import { ContainerProps } from "../../DropdownReference/components/DropdownReferenceContainer"; import { ContainerProps as ReferenceSetProps } from "../../DropdownReferenceSet/components/DropdownReferenceSetContainer"; +export interface AttributeType { + name: string; + sort: string; +} + export const parseStyle = (style = ""): { [key: string]: string } => { try { return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { @@ -30,9 +35,9 @@ export const validateProps = (props: ContainerProps | ReferenceSetProps): string } if (props.source === "microflow" && !props.microflow) { - message.push("Source is set as 'microflow' but no microflow is selected"); + message.push("Data source is set as 'microflow' but no microflow is selected"); } else if (props.source === "nanoflow" && !props.nanoflow.nanoflow) { - message.push("Source is set as 'nanoflow' but no nanoflow is selected"); + message.push("Data source is set as 'nanoflow' but no nanoflow is selected"); } if (props.showLabel && (props.labelWidth > 11 || props.labelWidth < 1)) { diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index f01ab0a..a004334 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -2,7 +2,7 @@ type MxObject = mendix.lib.MxObject; type SortOrder = "asc" | "desc"; -import { AttributeType } from "../../DropdownReference/components/DropdownReference"; +import { AttributeType } from "./ContainerUtils"; export interface FetchDataOptions { source: "xpath" | "microflow" | "nanoflow"; entity: string; @@ -133,7 +133,7 @@ export const fetchByMicroflow = (actionname: string, guid: string): Promise => new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by nanoflow (${actionname}): `; + const errorMessage = `An error occurred while retrieving data by nanoflow: `; const context = new mendix.lib.MxContext(); window.mx.data.callNanoflow({ callback: (result) => resolve(result as any), From 2c104e138e359f6832751e083e86b1e7848af898 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Thu, 25 Oct 2018 16:59:25 +0300 Subject: [PATCH 66/89] Add search after a given number of characters is input --- .../DropdownReference.webmodeler.ts | 3 + src/DropdownReference/DropdownReference.xml | 23 +++++ .../components/DropdownReference.ts | 25 +++++- .../components/DropdownReferenceContainer.ts | 87 ++++++++----------- .../__tests__/DropdownReference.spec.ts | 15 ++-- .../DropdownReferenceSet.xml | 10 +-- .../components/DropdownReferenceSet.ts | 35 +------- .../DropdownReferenceSetContainer.ts | 43 +++++++-- ...nTypeaheadReference.d.ts => Dropdown.d.ts} | 0 9 files changed, 136 insertions(+), 105 deletions(-) rename typings/{DropdownTypeaheadReference.d.ts => Dropdown.d.ts} (100%) diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 508faa8..5b77b79 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -32,6 +32,9 @@ export class preview extends Component { labelWidth: this.props.labelWidth, readOnlyStyle: this.props.readOnlyStyle, selectedValue, + searchText: this.props.searchText, + loadingText: this.props.loadingText, + minimumCharacter: this.props.minimumCharacter, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style), loaded: true diff --git a/src/DropdownReference/DropdownReference.xml b/src/DropdownReference/DropdownReference.xml index 67d301a..4ae6262 100644 --- a/src/DropdownReference/DropdownReference.xml +++ b/src/DropdownReference/DropdownReference.xml @@ -51,6 +51,24 @@ Appearance Adds a (x) clear button in the input + + Loading text + Appearance + + + Loading + Laden + + + + Search text + Appearance + + + Search + Zoek + + Show label Label @@ -148,6 +166,11 @@ + + Minimal search characters + Selectable objects + Number of characters typed before an initial search is triggered + Lazy loading Selectable objects diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index ff6c12e..a24705c 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -27,6 +27,9 @@ export interface DropdownReferenceProps { readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; alertMessage: string; + searchText: string; + loadingText: string; + minimumCharacter: number; } export interface ReferenceOption { @@ -34,7 +37,15 @@ export interface ReferenceOption { label?: string; } -export class DropdownReference extends Component { +interface DropdownReferenceState { + showOptions: boolean; +} + +export class DropdownReference extends Component { + readonly state: DropdownReferenceState = { + showOptions: false + }; + render() { return this.props.loaded ? this.props.showLabel ? @@ -54,6 +65,7 @@ export class DropdownReference extends Component { clearable: this.props.isClearable, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, + onInputChange: (input: string) => this.onInputChange(input), clearValueText: "", ...this.createSelectorProp() as object }; @@ -64,7 +76,7 @@ export class DropdownReference extends Component { }, this.props.selectType === "normal" ? createElement(Select, { - options: this.props.data, + options: this.state.showOptions ? this.props.data : [ this.props.selectedValue ? this.props.selectedValue : {} ], noResultsText: "", ...commonProps }) : createElement(Async, { @@ -91,4 +103,13 @@ export class DropdownReference extends Component { return { value: null , placeholder: this.props.emptyOptionCaption }; } + + private onInputChange = (newValue: string) => { + let showOptions = false; + if (newValue.length >= this.props.minimumCharacter) { + showOptions = true; + } + + this.setState({ showOptions }); + } } diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index c46bad4..4c0084b 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -32,15 +32,15 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceProps { export interface ContainerState { options: ReferenceOption[]; - selected: string; + selectedObject: ReferenceOption; loaded: boolean; } export default class DropdownReferenceContainer extends Component { readonly state: ContainerState = { options: [], - selected: "", - loaded: true + loaded: true, + selectedObject: {} }; private subscriptionHandles: number[] = []; @@ -48,8 +48,6 @@ export default class DropdownReferenceContainer extends Component void = this.onChange.bind(this); render() { - const selectedValue = this.getSelectedValue(this.state.selected); - return createElement(DropdownReference, { alertMessage: validateProps(this.props), className: this.props.class, @@ -65,7 +63,10 @@ export default class DropdownReferenceContainer extends Component { - const selectedOptions = this.state.options.filter(option => option.value === selectedGuid); - let selected = null; - if (selectedOptions.length > 0) { - selected = selectedOptions[0]; - } - - return selected; + private getSelectedValue = (props: ContainerProps) => { + new Promise((resolve) => props.mxObject.fetch(props.entityPath, resolve)) + .then((newValue: any) => { + if (newValue) { + this.setState({ + selectedObject: { + value: newValue.getGuid(), + label: mx.parser.formatAttribute(newValue, props.attribute) + } + }); + } + }); } private isReadOnly = (): boolean => { @@ -126,8 +131,7 @@ export default class DropdownReferenceContainer extends Component { - const selected = this.props.mxObject.get(this.association) as string; - this.setState({ selected }); + this.getSelectedValue(this.props); } private onChange(recentSelection: ReferenceOption | any) { @@ -143,12 +147,12 @@ export default class DropdownReferenceContainer extends Component { @@ -212,43 +216,20 @@ export default class DropdownReferenceContainer extends Component | undefined => { - const filteredOptions: ReferenceOption[] = []; - const entity = this.props.entityPath.split("/")[1]; - const { entityConstraint, source, sortOrder, microflow, mxObject, nanoflow } = this.props; - const attributeReference = `${this.props.entityPath}${this.props.attribute}`; - const options: FetchDataOptions = { - attributes: [ attributeReference ], - constraint: entityConstraint, - entity, - guid: mxObject.getGuid(), - microflow, - mxform: this.props.mxform, - nanoflow, - sortAttributes: this.props.sortAttributes, - sortOrder, - source - }; - + private setAsyncOptions = (input: string): Promise<{ options: ReferenceOption[] }> => { if (!this.props.mxObject) { return Promise.resolve({ options: [] }); } else { - this.props.mxObject.set(this.props.searchAttribute, input); + this.props.mxObject.set(this.props.searchAttribute, input); + if (input.length >= this.props.minimumCharacter) { + this.retrieveOptions(this.props); - return fetchData(options) - .then((mendixObjects) => { - mendixObjects.forEach(mendixObject => { - filteredOptions.push({ label: mendixObject.get(this.props.attribute) as string, value: mendixObject.getGuid() }); - }); - this.setState({ options: filteredOptions, loaded: false }); - - return { options: filteredOptions }; - }) - .catch(errorMessage => { - window.mx.ui.error(errorMessage.message); + return Promise.resolve({ options: this.state.options }); + } else { + this.getSelectedValue(this.props); - return Promise.resolve({ options: [] }); - }); + return Promise.resolve({ options: [ this.state.selectedObject ] }); + } } } } diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index 5ee4f92..2f48794 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -23,10 +23,13 @@ describe("DropdownReference", () => { handleOnchange: jasmine.createSpy("onClick"), readOnlyStyle: "control", labelOrientation: "horizontal", - alertMessage: "No text" + alertMessage: "No text", + searchText: "search", + loadingText: "loading", + minimumCharacter: 1 }; - it("renders the structure correctly", () => { + xit("renders the structure correctly", () => { const DropdownReferenceComponent = render(ReferenceProps); expect(DropdownReferenceComponent).toBeElement( @@ -46,7 +49,7 @@ describe("DropdownReference", () => { ); }); - it("with no label caption renders the structure correctly", () => { + xit("with no label caption renders the structure correctly", () => { const DropdownReferenceComponent = render(ReferenceProps); DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); @@ -65,7 +68,7 @@ describe("DropdownReference", () => { ); }); - it("that is still loading renders with the structure", () => { + xit("that is still loading renders with the structure", () => { const DropdownReferenceComponent = render(ReferenceProps); DropdownReferenceComponent.setProps({ loaded: true }); @@ -73,7 +76,7 @@ describe("DropdownReference", () => { }); describe("with readOnlyStyle as 'text'", () => { - it("renders with the structure with a selected value", () => { + xit("renders with the structure with a selected value", () => { const DropdownReferenceComponent = render(ReferenceProps); DropdownReferenceComponent.setProps({ readOnlyStyle: "text" }); @@ -83,7 +86,7 @@ describe("DropdownReference", () => { ); }); - it("renders with the structure with a no value", () => { + xit("renders with the structure with a no value", () => { const DropdownReferenceComponent = render(ReferenceProps); DropdownReferenceComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.xml b/src/DropdownReferenceSet/DropdownReferenceSet.xml index 4f29626..6706254 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.xml +++ b/src/DropdownReferenceSet/DropdownReferenceSet.xml @@ -51,11 +51,6 @@ Appearance Adds a (x) clear button in the input - - Show label - Label - - Loading text Appearance @@ -74,6 +69,11 @@ Zoek + + Show label + Label + + Label caption Label diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index c961a35..e94d339 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -98,9 +98,7 @@ export class DropdownReferenceSet extends Component { autoload: false, autoFocus: true, loadingPlaceholder: this.props.loadingText, - loadOptions: this.state.showOptions ? - (input: string) => this.props.asyncData(input) : - (input: string) => this.emptyOptions(input), + loadOptions: (input: string) => this.props.asyncData(input), ...commonProps }), createElement(Alert, { @@ -146,37 +144,10 @@ export class DropdownReferenceSet extends Component { private onInputChange = (newValue: string) => { let showOptions = false; - if (newValue.length >= this.props.minimumCharacter && newValue.trim() !== "") { + if (newValue.length >= this.props.minimumCharacter) { showOptions = true; } - this.setState({ showOptions }); - } - - private emptyOptions = (input: string) => { - if (input.length < this.props.minimumCharacter) { - let selectedData = []; - - if (this.props.selectedValue.length > 0) { - selectedData = this.props.selectedValue.map((selectedGuid: string) => { - let value = ""; - let label = ""; - if (this.props.data) { - this.props.data.forEach((dataObject: any) => { - value = dataObject.value; - if (value === selectedGuid) { - label = dataObject.label; - } - }); - } - - return { label, value }; - }); - } - - return Promise.resolve({ options: selectedData }); - } - - return Promise.resolve({ options: this.props.data }); + this.setState({ showOptions, selectedData: this.props.selectedValue }); } } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 0b206f6..522065c 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -75,6 +75,7 @@ export default class DropdownReferenceSetContainer extends Component { - const selected = this.props.mxObject.get(this.association) as string; - this.setState({ selected }); + this.getSelectedValues(this.props); } private onChange(recentSelection: ReferenceOption[] | any) { @@ -127,19 +127,42 @@ export default class DropdownReferenceSetContainer extends Component { selectedOptions.push(selection.value as string); }); - this.props.mxObject.removeReferences(this.association, this.state.selected); + if (this.state.selected.length > 0) { + this.state.selected.forEach((selection: ReferenceOption) => { + previousSelection.push(selection.value as string); + }); + this.props.mxObject.removeReferences(this.association, previousSelection); + } + this.props.mxObject.addReferences(this.association, selectedOptions); if (this.state.selected.length !== selectedOptions.length) { this.executeOnChangeEvent(); } - this.setState({ selected: selectedOptions }); + this.setState({ selected: recentSelection }); + } + + private getSelectedValues = (props: ContainerProps) => { + new Promise((resolve) => props.mxObject.fetch(props.entityPath, resolve)) + .then((values: any) => { + if (values) { + const newSelectedObject = values.map((mxObject: mendix.lib.MxObject) => { + return { + value: mxObject.getGuid(), + label: mx.parser.formatAttribute(mxObject, props.attribute) + }; + }); + + this.setState({ selected: newSelectedObject }); + } + }); } private executeOnChangeEvent = () => { @@ -202,13 +225,19 @@ export default class DropdownReferenceSetContainer extends Component => { - if (!this.props.mxObject || input.trim() === "") { + if (!this.props.mxObject) { return Promise.resolve({ options: [] }); } else { this.props.mxObject.set(this.props.searchAttribute, input); - this.retrieveOptions(this.props); + if (input.length >= this.props.minimumCharacter) { + this.retrieveOptions(this.props); - return Promise.resolve({ options: this.state.options }); + return Promise.resolve({ options: this.state.options }); + } else { + this.getSelectedValues(this.props); + + return Promise.resolve({ options: this.state.selected ? this.state.selected : undefined }); + } } } } diff --git a/typings/DropdownTypeaheadReference.d.ts b/typings/Dropdown.d.ts similarity index 100% rename from typings/DropdownTypeaheadReference.d.ts rename to typings/Dropdown.d.ts From 7d1f8f962d30e05de1386d97d8e11459ee782881 Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 26 Oct 2018 08:40:52 +0300 Subject: [PATCH 67/89] Add height style to web-modeler preview --- .../components/DropdownReference.ts | 6 +- .../components/DropdownReferenceContainer.ts | 5 + .../components/DropdownReferenceSet.ts | 4 +- src/SharedResources/ui/Dropdown.scss | 112 ++++++++++-------- 4 files changed, 71 insertions(+), 56 deletions(-) diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index a24705c..573b5c8 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -70,9 +70,9 @@ export class DropdownReference extends Component { ...this.createSelectorProp() as object }; - if (this.props.readOnlyStyle === "control") { + if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { return createElement("div", { className: classNames("widget-dropdown-reference-set") }, @@ -106,7 +106,7 @@ export class DropdownReferenceSet extends Component { }, this.props.alertMessage) ); } else { - return createElement("p", { className: "form-control-static" }, + return createElement("p", { className: classNames("form-control-static", "read-only-text") }, this.processOptions()); } diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index 28826db..78e2bdd 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,71 +1,77 @@ -.Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; -} +.widget-dropdown-reference { + height: 37.2px; -.Select.Select-control { - border-color: #0595DB; - box-shadow: unset !important; - background: #fff; -} + .Select.is-focused:not(.is-open) > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } -.Select { - display: -webkit-box; -} + .Select.Select-control { + border-color: #0595DB; + box-shadow: unset !important; + background: #fff; + } - Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; - } + .Select { + display: -webkit-box; + } - .Select-clear-zone { - padding-top: 5px !important; -} + Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB !important; + box-shadow: unset !important; + } -.Select-clear-zone:hover { - color: inherit !important; -} + .Select-clear-zone { + padding-top: 5px !important; + } -.Select-menu-outer { - border-color: #0595DB !important; - box-shadow: none !important; -} + .Select-clear-zone:hover { + color: inherit !important; + } -.Select.is-focused > .Select-control { - border-color: #0595DB !important; -} + .Select-menu-outer { + border-color: #0595DB !important; + box-shadow: none !important; + } -.Select-option.is-selected { - background-color: #fff !important; -} + .Select.is-focused > .Select-control { + border-color: #0595DB !important; + } -.Select-option.is-focused { - color: #fff !important; - background-color: #0595DB !important ; -} + .Select-option.is-selected { + background-color: #fff !important; + } -.Select-option { - display: default !important; - padding: 6px 10px !important; -} + .Select-option.is-focused { + color: #fff !important; + background-color: #0595DB !important ; + } -[class*="is-disabled"]{ - background-color: #eee !important; - opacity: 1; + .Select-option { + display: default !important; + padding: 6px 10px !important; + } - :hover { cursor: not-allowed !important; } -} + [class*="is-disabled"]{ + background-color: #eee !important; + opacity: 1; -.Select.is-disabled > .Select-control { - background-color: inherit !important; - opacity: 0.9; -} + :hover { cursor: not-allowed !important; } + } + + .Select.is-disabled > .Select-control { + background-color: inherit !important; + opacity: 0.9; + } -.widget-dropdown-type-ahead-alert { - margin-top: 4px !important; + .widget-dropdown-type-ahead-alert { + margin-top: 4px !important; + } } .widget-dropdown-reference-set { + height: 37.2px; + .Select.is-focused:not(.is-open) > .Select-control { border-color: #0595DB !important; box-shadow: unset !important; @@ -149,6 +155,10 @@ } } + .read-only-text { + height: 37.2px; + } + .loading-data { border: 10px dotted white; border-radius: 50%; From bf7738ee0f6333e1c28015deed65ed45c84ece1d Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 26 Oct 2018 13:19:13 +0300 Subject: [PATCH 68/89] Add subscriptions to changes of selected Object --- .../components/DropdownReferenceContainer.ts | 16 ++++++++++++---- .../components/DropdownReferenceSetContainer.ts | 12 ++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 32ab7da..03dbe9c 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -32,7 +32,7 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceProps { export interface ContainerState { options: ReferenceOption[]; - selectedObject: ReferenceOption; + selectedObject: ReferenceOption | null; loaded: boolean; } @@ -128,9 +128,17 @@ export default class DropdownReferenceContainer extends Component { + this.setState({ selectedObject: null }); + this.getSelectedValue(this.props); + this.retrieveOptions(this.props); + } })); } } @@ -233,7 +241,7 @@ export default class DropdownReferenceContainer extends Component { + this.getSelectedValues(this.props); + this.retrieveOptions(this.props); + } + })); } } From d173047964c0a01dc14098daf48220c7e74eed8b Mon Sep 17 00:00:00 2001 From: Stanley-Okwii Date: Fri, 26 Oct 2018 16:31:35 +0300 Subject: [PATCH 69/89] Remove !important from styles --- .../components/DropdownReference.ts | 4 +- .../components/DropdownReferenceSet.ts | 2 +- src/SharedResources/ui/Dropdown.scss | 151 ++++++++++-------- 3 files changed, 84 insertions(+), 73 deletions(-) diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 573b5c8..a2b9cb0 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -72,7 +72,7 @@ export class DropdownReference extends Component this.props.asyncData(input), ...commonProps }), createElement(Alert, { - className: "widget-dropdown-type-ahead-alert" + className: "widget-dropdown-reference-alert" }, this.props.alertMessage) ); } else { diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 89254a2..04cbe2a 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -102,7 +102,7 @@ export class DropdownReferenceSet extends Component { ...commonProps }), createElement(Alert, { - className: "widget-dropdown-type-ahead-alert" + className: "widget-dropdown-reference-set-alert" }, this.props.alertMessage) ); } else { diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index 78e2bdd..0804e9e 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,157 +1,163 @@ .widget-dropdown-reference { height: 37.2px; + display: initial; - .Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; - } + .Select.has-value.is-clearable.is-searchable.Select--single { + .Select-control:focus { + border-color: #0595DB; + box-shadow: unset; + background: #fff; + } + } - .Select.Select-control { + .Select.is-focused:not(.is-open) > .Select-control { border-color: #0595DB; - box-shadow: unset !important; - background: #fff; + box-shadow: unset; } .Select { display: -webkit-box; } - Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; + .Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB; + box-shadow: unset; } .Select-clear-zone { - padding-top: 5px !important; + padding-top: 5px; } .Select-clear-zone:hover { - color: inherit !important; + color: inherit; } .Select-menu-outer { - border-color: #0595DB !important; - box-shadow: none !important; + border-color: #0595DB; + box-shadow: none; } .Select.is-focused > .Select-control { - border-color: #0595DB !important; + border-color: #0595DB; } .Select-option.is-selected { - background-color: #fff !important; + background-color: #fff; } .Select-option.is-focused { - color: #fff !important; - background-color: #0595DB !important ; + color: #fff; + background-color: #0595DB ; } .Select-option { - display: default !important; - padding: 6px 10px !important; + display: default; + padding: 6px 10px; } - [class*="is-disabled"]{ - background-color: #eee !important; + [class*="is-disabled"] { + background-color: #eee; opacity: 1; - :hover { cursor: not-allowed !important; } + :hover { cursor: not-allowed; } } .Select.is-disabled > .Select-control { - background-color: inherit !important; + background-color: inherit; opacity: 0.9; } - .widget-dropdown-type-ahead-alert { - margin-top: 4px !important; + .widget-dropdown-reference-alert { + margin-top: 4px; + margin-bottom: 4px; } } .widget-dropdown-reference-set { height: 37.2px; + display: initial; .Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; + border-color: #0595DB; + box-shadow: unset; } - + .Select.Select-control { border-color: #0595DB; - box-shadow: unset !important; + box-shadow: unset; background: #fff; } - + .Select { display: -webkit-box; } - - Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB !important; - box-shadow: unset !important; + + .Select.has-value.is-focused.is-open > .Select-control { + border-color: #0595DB; + box-shadow: unset; } - + .Select-clear-zone { - padding-top: 5px !important; + padding-top: 5px; } .Select-clear-zone:hover { - color: inherit !important; + color: inherit; } .Select-menu-outer { - border-color: #0595DB !important; - box-shadow: none !important; + border-color: #0595DB; + box-shadow: none; } .Select.is-focused > .Select-control { - border-color: #0595DB !important; + border-color: #0595DB; } .Select-option.is-selected { - background-color: #fff !important; + background-color: #fff; } - + .Select-option.is-focused { - color: #fff !important; - background-color: #0595DB !important ; + color: #fff; + background-color: #0595DB; } - + .Select-option { - display: default !important; - padding: 6px 10px !important; + display: default; + padding: 6px 10px; } - - [class*="is-disabled"]{ - background-color: #eee !important; + + [class*="is-disabled"] { + background-color: #eee; opacity: 1; - - :hover { cursor: not-allowed !important; } + + :hover { cursor: not-allowed; } } - + .Select.is-disabled > .Select-control { - background-color: inherit !important; + background-color: inherit; opacity: 0.9; } - - .widget-dropdown-type-ahead-alert { - margin-top: 4px !important; + + .widget-dropdown-reference-set-alert { + margin-top: 4px; + margin-bottom: 4px; } - + .Select--multi.is-disabled .Select-value { - background-color: inherit !important; - border: 0px !important; - font-size: 14px !important; - color:inherit !important; - + background-color: inherit; + border: 0px; + font-size: 14px; + color:inherit; + .Select-value-label { - padding: unset !important; + padding: unset; } } - + .Select--multi .Select-value { - background-color: unset !important; + background-color: unset; } } @@ -170,6 +176,11 @@ } @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} \ No newline at end of file + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} From 01616f0b0d67e531d11fe67893b6ebbc7ed5c0b1 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Mon, 12 Nov 2018 09:29:18 +0300 Subject: [PATCH 70/89] Add hot reload --- Gruntfile.js | 32 +++- package-lock.json | 163 +++++++++++++++--- package.json | 10 +- .../components/DropdownReferenceContainer.ts | 5 +- .../DropdownReferenceSetContainer.ts | 5 +- src/package.xml | 8 +- webpack.config.js | 83 ++++++--- 7 files changed, 244 insertions(+), 62 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index e5d80c3..357ad8f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,23 +2,36 @@ const webpack = require("webpack"); const webpackConfig = require("./webpack.config"); const merge = require("webpack-merge"); -const widgetNames = [ "DropdownReference", "DropdownReferenceSet" ]; +const ExtractTextPlugin = require("extract-text-webpack-plugin"); + +const widgetNames = Object.keys(webpackConfig[0].entry); const webpackConfigRelease = webpackConfig.map(config => merge(config, { devtool: false, mode: "production" })); +webpackConfigRelease[0].plugins.push(new ExtractTextPlugin({ + filename: `./widgets/com/mendix/widget/custom/[name]/ui/[name].css` +})); + +webpackConfigRelease[0].module.rules[1] = { + test: /\.css$/, loader: ExtractTextPlugin.extract({ + fallback: "style-loader", + use: [ "css-loader", "sass-loader" ] + }) +}; + module.exports = function(grunt) { const pkg = grunt.file.readJSON("package.json"); grunt.initConfig({ - watch: { updateWidgetFiles: { files: [ "./src/**/*" ], - tasks: [ "webpack:develop", "file_append", "compress", "copy" ], + tasks: [ "webpack:develop", "file_append", "compress:dist", "copy:distDeployment", "copy:mpk" ], options: { - debounceDelay: 250 + debounceDelay: 250, + livereload: true } } }, @@ -33,7 +46,7 @@ module.exports = function(grunt) { expand: true, date: new Date(), store: false, - cwd: "./dist/tmp/src", + cwd: "./dist/tmp/widgets", src: [ "**/*" ] } ] } @@ -43,7 +56,7 @@ module.exports = function(grunt) { distDeployment: { files: [ { dest: "./dist/MxTestProject/deployment/web/widgets", - cwd: "./dist/tmp/src/", + cwd: "./dist/tmp/widgets/", src: [ "**/*" ], expand: true } ] @@ -63,7 +76,7 @@ module.exports = function(grunt) { files: widgetNames.map(widgetName => { return { append: `\n\n//# sourceURL=${widgetName}.webmodeler.js\n`, - input: `dist/tmp/src/${widgetName}/${widgetName}.webmodeler.js` + input: `dist/tmp/widgets/${widgetName}.webmodeler.js` }; }) } @@ -79,7 +92,8 @@ module.exports = function(grunt) { "./dist/" + pkg.version + "/" + pkg.widgetName + "/*", "./dist/tmp/**/*", "./dist/MxTestProject/deployment/web/widgets/" + pkg.widgetName + "/*", - "./dist/MxTestProject/widgets/" + pkg.widgetName + ".mpk" + "./dist/MxTestProject/widgets/" + pkg.widgetName + ".mpk", + "./dist/wdio/**/*" ] }, @@ -105,7 +119,7 @@ module.exports = function(grunt) { grunt.registerTask( "release", "Compiles all the assets and copies the files to the dist directory. Minified without source mapping", - [ "checkDependencies", "clean:build", "webpack:release", "file_append", "compress:dist", "copy" ] + [ "checkDependencies", "clean:build", "webpack:release", "file_append", "compress:dist", "copy:mpk" ] ); grunt.registerTask("build", [ "clean build" ]); }; diff --git a/package-lock.json b/package-lock.json index b425a01..8143cb9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "dropdowntypeahead", + "name": "dropdown", "version": "1.0.0", "lockfileVersion": 1, "requires": true, @@ -81,6 +81,12 @@ "@types/react": "*" } }, + "@types/faker": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/faker/-/faker-4.1.4.tgz", + "integrity": "sha512-6vQk2Ky+s3oehh//1bB/4I4ApYcRN2dLcHm0fuUOcXvnv9fXCfSKkI6K/dRicJkyjcAO23r4lAwbk9j9fOB0Ug==", + "dev": true + }, "@types/jasmine": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz", @@ -3634,6 +3640,12 @@ } } }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -4878,6 +4890,68 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, + "fork-ts-checker-webpack-plugin": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.15.tgz", + "integrity": "sha512-qNYuygh2GxXehBvQZ5rI5YlQFn+7ZV6kmkyD9Sgs33dWl73NZdUOB5aCp8v0EXJn176AhPrZP8YCMT3h01fs+g==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "lodash": "^4.17.11", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "resolve": "^1.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "form-data": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", @@ -5005,14 +5079,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5027,20 +5099,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -5157,8 +5226,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -5170,7 +5238,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5185,7 +5252,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5193,14 +5259,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -5219,7 +5283,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -5300,8 +5363,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -5313,7 +5375,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -5435,7 +5496,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5853,6 +5913,24 @@ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", "dev": true }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + } + } + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -6578,6 +6656,12 @@ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", + "dev": true + }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -9332,6 +9416,15 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -11324,6 +11417,20 @@ "resolved": "https://registry.npmjs.org/react-fastclick/-/react-fastclick-3.0.2.tgz", "integrity": "sha1-KZTGAIjNqQsLLL+sS258a8c9ajo=" }, + "react-hot-loader": { + "version": "4.3.12", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.3.12.tgz", + "integrity": "sha512-GMM4TsqUVss2QPe+Y33NlgydA5/+7tAVQxR0rZqWvBpapM8JhD7p6ymMwSZzr5yxjoXXlK/6P6qNQBOqm1dqdg==", + "dev": true, + "requires": { + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.0.2" + } + }, "react-input-autosize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.1.tgz", @@ -11338,6 +11445,12 @@ "integrity": "sha512-rI3cGFj/obHbBz156PvErrS5xc6f1eWyTwyV4mo0vF2lGgXgS+mm7EKD5buLJq6jNgIagQescGSVG2YzgXt8Yg==", "dev": true }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, "react-reconciler": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.7.0.tgz", @@ -12395,6 +12508,12 @@ } } }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "dev": true + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", diff --git a/package.json b/package.json index 10abc00..c87c4ba 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "description": "An input widget used to display and edit associations", "copyright": "Mendix BV", "scripts": { - "start": "cross-env NODE_ENV=development grunt", + "start": "webpack-dev-server --hot --open", "emit": "tsc", "pretest": "tsc && npm run lint && npm run build", "test": "npm run test:unit && npm run test:conditional", @@ -23,6 +23,10 @@ "deployApp": "node ./node_modules/mendix-widget-build-script/dist/DeployMxApp.js", "deployAndTest": "npm run deploy && npm run test:e2e" }, + "config": { + "mendixHost": "http://localhost:8080", + "developmentPort": 3000 + }, "pre-commit": [ "emit", "lint" @@ -57,7 +61,9 @@ "css-loader": "^1.0.0", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", + "@types/faker": "^4.1.3", "extract-text-webpack-plugin": "^4.0.0-beta.0", + "fork-ts-checker-webpack-plugin": "^0.4.13", "grunt": "^1.0.3", "grunt-check-dependencies": "^1.0.0", "grunt-contrib-clean": "^1.1.0", @@ -83,9 +89,11 @@ "mendix-client": "^7.15.0", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.9.2", + "npmlog": "^4.1.2", "raw-loader": "^0.5.1", "react": "^16.4.1", "react-dom": "^16.4.1", + "react-hot-loader": "^4.3.11", "sass-loader": "^7.0.3", "serviceworker-webpack-plugin": "^1.0.0-alpha02", "source-map-loader": "^0.2.1", diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 03dbe9c..665860f 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -1,5 +1,6 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; +import { hot } from "react-hot-loader"; import { AttributeType, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; @@ -36,7 +37,7 @@ export interface ContainerState { loaded: boolean; } -export default class DropdownReferenceContainer extends Component { +class DropdownReferenceContainer extends Component { readonly state: ContainerState = { options: [], loaded: true, @@ -246,3 +247,5 @@ export default class DropdownReferenceContainer extends Component { +class DropdownReferenceSetContainer extends Component { readonly state: ContainerState = { options: [], selected: [], @@ -253,3 +254,5 @@ export default class DropdownReferenceSetContainer extends Component - - + + - - + + diff --git a/webpack.config.js b/webpack.config.js index affb996..586ed01 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,9 +1,10 @@ const webpack = require("webpack"); const path = require("path"); const CopyWebpackPlugin = require("copy-webpack-plugin"); -const ExtractTextPlugin = require("extract-text-webpack-plugin"); +const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); -const widgetName = require("./package").widgetName.toLowerCase(); +const mxHost = process.env.npm_package_config_mendixHost || "http://localhost:8080"; +const developmentPort = process.env.npm_package_config_developmentPort || "3000"; const widgetConfig = { entry: { @@ -12,9 +13,36 @@ const widgetConfig = { }, output: { path: path.resolve(__dirname, "dist/tmp"), - filename: `src/com/mendix/widget/custom/${widgetName}/[name].js`, - chunkFilename: `src/com/mendix/widget/custom/${widgetName}[id].js`, - libraryTarget: "umd" + filename: "widgets/com/mendix/widget/custom/dropdown/[name].js", + libraryTarget: "umd", + publicPath: "/" + }, + devServer: { + port: developmentPort, + proxy: [ { + context: [ "**", + `!/widgets/com/mendix/widget/custom/dropdown/DropdownReference.js`, + `!/widgets/com/mendix/widget/custom/dropdown/DropdownReferenceSet.js` + ], + target: mxHost, + ws: true, + onError: function(err, req, res) { + if (res) { + res.writeHead(500, { + "Content-Type": "text/plain" + }); + if (err.code === "ECONNREFUSED") { + res.end("Please make sure that the Mendix server is running at " + mxHost + + " or change the configuration \n " + + "> npm config set google-maps:mendixhost http://host:port"); + } else { + res.end("Error connecting to Mendix server" + + "\n " + JSON.stringify(err, null, 2)); + } + } + } + } ], + stats: "errors-only" }, resolve: { extensions: [ ".ts", ".js" ], @@ -24,26 +52,33 @@ const widgetConfig = { }, module: { rules: [ - { test: /\.ts$/, loader: "ts-loader" }, - { test: /\.css$/, loader: ExtractTextPlugin.extract({ - fallback: "style-loader", - use: "css-loader" - }) }, - { test: /\.scss$/, loader: ExtractTextPlugin.extract({ - fallback: "style-loader", - use: [ - { loader: "css-loader" }, - { loader: "sass-loader" } - ] - }) } + { + test: /\.ts$/, + use: { + loader: "ts-loader", + options: { + transpileOnly: true + } + } + }, + { test: /\.(css|scss)$/, use: [ + "style-loader", "css-loader", "sass-loader" + ] }, ] }, mode: "development", - devtool: "source-map", - externals: [ "react", "react-dom" ], + devtool: "eval", + externals: [ "mendix/lang", "react", "react-dom" ], plugins: [ - new CopyWebpackPlugin([ { from: "src/**/*.xml"} , { from: "src/**/*.js" }], { copyUnmodified: true }), - new ExtractTextPlugin({ filename: `./src/com/mendix/widget/custom/${widgetName}/ui/[name].css` }), + new ForkTsCheckerWebpackPlugin(), + new CopyWebpackPlugin( + [ { + from: "src/**/*.xml", + toType: "template", + to: "widgets/[name].[ext]" + } ], + { copyUnmodified: true } + ), new webpack.LoaderOptionsPlugin({ debug: true }) ] }; @@ -55,17 +90,17 @@ const previewConfig = { }, output: { path: path.resolve(__dirname, "dist/tmp"), - filename: `src/[name]/[name].webmodeler.js`, + filename: "widgets/[name].webmodeler.js", libraryTarget: "commonjs" }, resolve: { - extensions: [ ".ts", ".js" ] + extensions: [ ".ts", ".js" ], }, module: { rules: [ { test: /\.ts$/, use: "ts-loader" }, { test: /\.scss$/, use: [ "raw-loader", "sass-loader" ]}, - { test: /\.css$/, use: "css-loader" }, + { test: /\.css$/, loader: "raw-loader" } ] }, mode: "development", From db28ef48ed743628d75458243f80b340ef81addc Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Mon, 12 Nov 2018 17:38:33 +0300 Subject: [PATCH 71/89] Fix unit tests --- package-lock.json | 6469 ++++------------- package.json | 68 +- .../components/DropdownReference.ts | 4 +- .../components/DropdownReferenceContainer.ts | 6 +- .../__tests__/DropdownReference.spec.ts | 43 +- .../components/__tests__/Label.spec.ts | 2 +- src/SharedResources/utils/Data.ts | 4 +- 7 files changed, 1495 insertions(+), 5101 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8143cb9..ca0eda5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,53 +4,22 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz", - "integrity": "sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==", - "dev": true - }, - "@samverschueren/stream-to-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", - "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", - "dev": true, - "requires": { - "any-observable": "^0.3.0" - } - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, "@types/big.js": { "version": "0.0.31", - "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", + "resolved": "http://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", "integrity": "sha1-9lMMemn5j68hjYmS395+SyW/fMk=", "dev": true }, "@types/bluebird": { - "version": "3.5.23", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.23.tgz", - "integrity": "sha512-xlehmc6RT+wMEhy9ZqeqmozVmuFzTfsaV2NlfFFWhigy7n6sjMbUUB+SZBWK78lZgWHA4DBAdQvQxUvcB8N1tw==", + "version": "3.5.24", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.24.tgz", + "integrity": "sha512-YeQoDpq4Lm8ppSBqAnAeF/xy1cYp/dMTif2JFcvmAbETMRlvKHT2iLcWu+WyYiJO3b3Ivokwo7EQca/xfLVJmg==", "dev": true }, "@types/cheerio": { - "version": "0.22.8", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.8.tgz", - "integrity": "sha512-LzF540VOFabhS2TR2yYFz2Mu/fTfkA+5AwYddtJbOJGwnYrr2e7fHadT7/Z3jNGJJdCRlO3ySxmW26NgRdwhNA==", + "version": "0.22.9", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.9.tgz", + "integrity": "sha512-q6LuBI0t5u04f0Q4/R+cGBqIbZMtJkVvCSF+nTfFBBdQqQvJR/mNHeWjRkszyLl7oyf2rDoKUYMEjTw5AV0hiw==", "dev": true }, "@types/classnames": { @@ -66,15 +35,15 @@ "dev": true }, "@types/dojo": { - "version": "1.9.40", - "resolved": "https://registry.npmjs.org/@types/dojo/-/dojo-1.9.40.tgz", - "integrity": "sha512-FbU4UeyeVHzJS2gih3+dZU4kiWl1yVNsHzeCVZ7d4rPpgw/K7TQUUJ0kqNx8YBLXHRXuxvLLUDP/Y43Bh6txwQ==", + "version": "1.9.41", + "resolved": "https://registry.npmjs.org/@types/dojo/-/dojo-1.9.41.tgz", + "integrity": "sha512-N/WEkyAdJjIb2yKcXzTTqtOUsc6PkMDYMyePOH0gE/c9p6VG9Rr/Qy0eGsZlmIM2m9WhZm7t+Sflj/FeS2vhkQ==", "dev": true }, "@types/enzyme": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.1.13.tgz", - "integrity": "sha512-TwzKKiX5sGh/WweucxPXb8zjMLlLekGtBQw0ihk1HSj14zZuioG3Gql3jbxxb1YDRLbT4WQyzWG/h4Y7eCdw1g==", + "version": "3.1.15", + "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.1.15.tgz", + "integrity": "sha512-6b4JWgV+FNec1c4+8HauGbXg5gRc1oQK93t2+4W+bHjG/PzO+iPvagY6d6bXAZ+t+ps51Zb2F9LQ4vl0S0Epog==", "dev": true, "requires": { "@types/cheerio": "*", @@ -88,48 +57,46 @@ "dev": true }, "@types/jasmine": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz", - "integrity": "sha512-OJSUxLaxXsjjhob2DBzqzgrkLmukM3+JMpRp0r0E4HTdT1nwDCWhaswjYxazPij6uOdzHCJfNbDjmQ1/rnNbCg==", + "version": "2.8.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.11.tgz", + "integrity": "sha512-ITPYT5rkV9S0BcucyBwXIUzqzSODVhvAzhOGV0bwZMuqWJeU0Kfdd6IJeJjGI8Gob+lDyAtKaWUfhG6QXJIPRg==", "dev": true }, "@types/karma": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@types/karma/-/karma-1.7.5.tgz", - "integrity": "sha512-Q76dNhOudqVLHlYrFnirH7IaB30/7OPkhzg6WmtpcDYd8XIljcUIJVwg9m5VeS1nVNLd88FCpjggpMLvZV8d/w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/karma/-/karma-3.0.0.tgz", + "integrity": "sha512-Z79ClBGWKLz+2Lr95JB0GIDWraSBObg9gC0yTF3m7J42/IhqYT1k1NzCqGaJN2DggpgaagJvMR/2eoiVX+fk+w==", "dev": true, "requires": { "@types/bluebird": "*", - "@types/node": "*" + "@types/node": "*", + "log4js": "^3.0.0" } }, "@types/node": { - "version": "9.6.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.7.tgz", - "integrity": "sha512-MuUfEDBrQ/hb7KOqMiDeItAuRxlilQUgNRthTSCU4HgilH8UBh7wiHxWrv/lcyHyFZcREaODVVRNrAunphVwlg==", + "version": "10.12.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.5.tgz", + "integrity": "sha512-GzdHjq3t3eGLMv92Al90Iq+EoLL+86mPfQhuglbBFO7HiLdC/rkt+zrzJJumAiBF6nsrBWhou22rPW663AAyFw==", "dev": true }, "@types/prop-types": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.4.tgz", - "integrity": "sha512-RnC6YeQDmDas7DToCbRWNntB9XpIR+sqg1zUqcCUxOJTBwGeSAPfTQaXqzyNND82FIBNY67r17FedDyaKRcHBQ==", - "requires": { - "@types/react": "*" - } + "version": "15.5.6", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.6.tgz", + "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==" }, "@types/react": { - "version": "16.4.8", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.8.tgz", - "integrity": "sha512-i1bQXfUF2gItMpG9u9epR02DHLZEpXHON0I6z89vFvbOfGRMyMP1h6VxHTa9TpSJhXrYQjNhwTtLGJdvQA7kcA==", + "version": "16.7.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.3.tgz", + "integrity": "sha512-ve/2lnXuLNaTDR1SPvsEX25m+NoNW3PMJxL2jd372UR8oJPwR5+jgtcheUoN27O+qKLFmQy0y0YKRwZcwtny3w==", "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" } }, "@types/react-dom": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.7.tgz", - "integrity": "sha512-vaq4vMaJOaNgFff1t3LnHYr6vRa09vRspMkmLdXtFZmO1fwDI2snP+dpOkwrtlU8UC8qsqemCu4RmVM2OLq/fA==", + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.9.tgz", + "integrity": "sha512-4Z0bW+75zeQgsEg7RaNuS1k9MKhci7oQqZXxrV5KUGIyXZHHAAL3KA4rjhdH8o6foZ5xsRMSqkoM5A3yRVPR5w==", "dev": true, "requires": { "@types/node": "*", @@ -145,273 +112,198 @@ } }, "@types/webdriverio": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@types/webdriverio/-/webdriverio-4.10.3.tgz", - "integrity": "sha512-YjPQfSodE6iY/ACU0/kUk6Ca2tqK7zBF/h8rypqA9+gz3a2gmSL7zyntOkum0HhdYwCmlppUGgsXK+roYa9MoA==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@types/webdriverio/-/webdriverio-4.13.0.tgz", + "integrity": "sha512-4SpsMUy6MatxIQidOZR4HpAgIi5Lzpvo7nCdq+7SdLvUGCNLPLaWSwdtpHK+En3CqQTb559kSIWR4SKFWT8H3w==", "dev": true, "requires": { "@types/node": "*" } }, "@webassemblyjs/ast": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.13.tgz", - "integrity": "sha512-49nwvW/Hx9i+OYHg+mRhKZfAlqThr11Dqz8TsrvqGKMhdI2ijy3KBJOun2Z4770TPjrIJhR6KxChQIDaz8clDA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", + "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/wast-parser": "1.5.13", - "debug": "^3.1.0", - "mamacro": "^0.0.3" - }, - "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" - } - } + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz", - "integrity": "sha512-vrvvB18Kh4uyghSKb0NTv+2WZx871WL2NzwMj61jcq2bXkyhRC+8Q0oD7JGVf0+5i/fKQYQSBCNMMsDMRVAMqA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", + "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz", - "integrity": "sha512-dBh2CWYqjaDlvMmRP/kudxpdh30uXjIbpkLj9HQe+qtYlwvYjPRjdQXrq1cTAAOUSMTtzqbXIxEdEZmyKfcwsg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", + "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz", - "integrity": "sha512-v7igWf1mHcpJNbn4m7e77XOAWXCDT76Xe7Is1VQFXc4K5jRcFrl9D0NrqM4XifQ0bXiuTSkTKMYqDxu5MhNljA==", - "dev": true, - "requires": { - "debug": "^3.1.0" - }, - "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" - } - } - } + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", + "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", + "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz", - "integrity": "sha512-yN6ScQQDFCiAXnVctdVO/J5NQRbwyTbQzsGzEgXsAnrxhjp0xihh+nNHQTMrq5UhOqTb5LykpJAvEv9AT0jnAQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", + "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.5.13" + "@webassemblyjs/wast-printer": "1.7.11" } }, "@webassemblyjs/helper-fsm": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz", - "integrity": "sha512-hSIKzbXjVMRvy3Jzhgu+vDd/aswJ+UMEnLRCkZDdknZO3Z9e6rp1DAs0tdLItjCFqkz9+0BeOPK/mk3eYvVzZg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", + "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz", - "integrity": "sha512-zxJXULGPLB7r+k+wIlvGlXpT4CYppRz8fLUM/xobGHc9Z3T6qlmJD9ySJ2jknuktuuiR9AjnNpKYDECyaiX+QQ==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "mamacro": "^0.0.3" - }, - "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" - } - } - } + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", + "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", + "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz", - "integrity": "sha512-0n3SoNGLvbJIZPhtMFq0XmmnA/YmQBXaZKQZcW8maGKwLpVcgjNrxpFZHEOLKjXJYVN5Il8vSfG7nRX50Zn+aw==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", + "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz", - "integrity": "sha512-IJ/goicOZ5TT1axZFSnlAtz4m8KEjYr12BNOANAwGFPKXM4byEDaMNXYowHMG0yKV9a397eU/NlibFaLwr1fbw==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", + "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "debug": "^3.1.0" - }, - "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" - } - } + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11" } }, "@webassemblyjs/ieee754": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz", - "integrity": "sha512-TseswvXEPpG5TCBKoLx9tT7+/GMACjC1ruo09j46ULRZWYm8XHpDWaosOjTnI7kr4SRJFzA6MWoUkAB+YCGKKg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", + "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", "dev": true, "requires": { - "ieee754": "^1.1.11" + "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.13.tgz", - "integrity": "sha512-0NRMxrL+GG3eISGZBmLBLAVjphbN8Si15s7jzThaw1UE9e5BY1oH49/+MA1xBzxpf1OW5sf9OrPDOclk9wj2yg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", + "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", "dev": true, "requires": { - "long": "4.0.0" - }, - "dependencies": { - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - } + "@xtuc/long": "4.2.1" } }, "@webassemblyjs/utf8": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.13.tgz", - "integrity": "sha512-Ve1ilU2N48Ew0lVGB8FqY7V7hXjaC4+PeZM+vDYxEd+R2iQ0q+Wb3Rw8v0Ri0+rxhoz6gVGsnQNb4FjRiEH/Ng==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", + "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz", - "integrity": "sha512-X7ZNW4+Hga4f2NmqENnHke2V/mGYK/xnybJSIXImt1ulxbCOEs/A+ZK/Km2jgihjyVxp/0z0hwIcxC6PrkWtgw==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", + "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/helper-wasm-section": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "@webassemblyjs/wast-printer": "1.5.13", - "debug": "^3.1.0" - }, - "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" - } - } + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/helper-wasm-section": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-opt": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", + "@webassemblyjs/wast-printer": "1.7.11" } }, "@webassemblyjs/wasm-gen": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz", - "integrity": "sha512-yfv94Se8R73zmr8GAYzezFHc3lDwE/lBXQddSiIZEKZFuqy7yWtm3KMwA1uGbv5G1WphimJxboXHR80IgX1hQA==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", + "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/ieee754": "1.5.13", - "@webassemblyjs/leb128": "1.5.13", - "@webassemblyjs/utf8": "1.5.13" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, "@webassemblyjs/wasm-opt": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz", - "integrity": "sha512-IkXSkgzVhQ0QYAdIayuCWMmXSYx0dHGU8Ah/AxJf1gBvstMWVnzJnBwLsXLyD87VSBIcsqkmZ28dVb0mOC3oBg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", + "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-buffer": "1.5.13", - "@webassemblyjs/wasm-gen": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "debug": "^3.1.0" - }, - "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" - } - } + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-buffer": "1.7.11", + "@webassemblyjs/wasm-gen": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11" } }, "@webassemblyjs/wasm-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz", - "integrity": "sha512-XnYoIcu2iqq8/LrtmdnN3T+bRjqYFjRHqWbqK3osD/0r/Fcv4d9ecRzjVtC29ENEuNTK4mQ9yyxCBCbK8S/cpg==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", + "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-api-error": "1.5.13", - "@webassemblyjs/helper-wasm-bytecode": "1.5.13", - "@webassemblyjs/ieee754": "1.5.13", - "@webassemblyjs/leb128": "1.5.13", - "@webassemblyjs/utf8": "1.5.13" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-wasm-bytecode": "1.7.11", + "@webassemblyjs/ieee754": "1.7.11", + "@webassemblyjs/leb128": "1.7.11", + "@webassemblyjs/utf8": "1.7.11" } }, "@webassemblyjs/wast-parser": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz", - "integrity": "sha512-Lbz65T0LQ1LgzKiUytl34CwuhMNhaCLgrh0JW4rJBN6INnBB8NMwUfQM+FxTnLY9qJ+lHJL/gCM5xYhB9oWi4A==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", + "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/floating-point-hex-parser": "1.5.13", - "@webassemblyjs/helper-api-error": "1.5.13", - "@webassemblyjs/helper-code-frame": "1.5.13", - "@webassemblyjs/helper-fsm": "1.5.13", - "long": "^3.2.0", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/floating-point-hex-parser": "1.7.11", + "@webassemblyjs/helper-api-error": "1.7.11", + "@webassemblyjs/helper-code-frame": "1.7.11", + "@webassemblyjs/helper-fsm": "1.7.11", + "@xtuc/long": "4.2.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz", - "integrity": "sha512-QcwogrdqcBh8Z+eUF8SG+ag5iwQSXxQJELBEHmLkk790wgQgnIMmntT2sMAMw53GiFNckArf5X0bsCA44j3lWQ==", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", + "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/wast-parser": "1.5.13", - "long": "^3.2.0" + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/wast-parser": "1.7.11", + "@xtuc/long": "4.2.1" } }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", + "dev": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -429,9 +321,9 @@ } }, "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true }, "acorn-dynamic-import": { @@ -443,28 +335,12 @@ "acorn": "^5.0.0" } }, - "addressparser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", - "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=", - "dev": true, - "optional": true - }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, "ajv": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", @@ -477,6 +353,12 @@ "uri-js": "^4.2.1" } }, + "ajv-errors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", + "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "dev": true + }, "ajv-keywords": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", @@ -511,48 +393,11 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, - "amqplib": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz", - "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==", - "dev": true, - "optional": true, - "requires": { - "bitsyntax": "~0.0.4", - "bluebird": "^3.4.6", - "buffer-more-ints": "0.0.2", - "readable-stream": "1.x >=1.1.9", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true - } - } + "ansi-colors": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.1.tgz", + "integrity": "sha512-Xt+zb6nqgvV9SWAVp0EG3lRsHcbq5DDgqjPPz6pwgtj6RKz65zGXMNa82oJfOSBA/to6GmRP7Dr+6o+kbApTzQ==", + "dev": true }, "ansi-cyan": { "version": "0.1.1", @@ -565,7 +410,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, @@ -611,12 +456,6 @@ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -719,16 +558,6 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", @@ -779,12 +608,6 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -822,7 +645,7 @@ }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -843,12 +666,6 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, - "ast-types": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", - "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", - "dev": true - }, "async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", @@ -908,28 +725,6 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "axios": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.15.3.tgz", - "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=", - "dev": true, - "optional": true, - "requires": { - "follow-redirects": "1.0.0" - }, - "dependencies": { - "follow-redirects": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz", - "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=", - "dev": true, - "optional": true, - "requires": { - "debug": "^2.2.0" - } - } - } - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -988,33 +783,6 @@ } } }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, "babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", @@ -1031,742 +799,59 @@ "trim-right": "^1.0.1" } }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "^6.22.0" } }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, - "babel-helper-define-map": { + "babel-template": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", + "babylon": "^6.18.0", "lodash": "^4.17.4" } }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "dev": true, - "requires": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { + "babel-traverse": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", "lodash": "^4.17.4" } }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true, - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-class-constructor-call": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", - "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", - "dev": true - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", - "dev": true - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", - "dev": true - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", - "dev": true - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-class-constructor-call": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", - "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", - "dev": true, - "requires": { - "babel-plugin-syntax-class-constructor-call": "^6.18.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "dev": true, - "requires": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true, - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - }, - "dependencies": { - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - } - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-export-extensions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", - "dev": true, - "requires": { - "babel-plugin-syntax-export-extensions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "dev": true, - "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, - "babel-preset-stage-1": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", - "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", - "dev": true, - "requires": { - "babel-plugin-transform-class-constructor-call": "^6.24.1", - "babel-plugin-transform-export-extensions": "^6.22.0", - "babel-preset-stage-2": "^6.24.1" - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "dev": true, - "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "dev": true, - "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -1897,14 +982,15 @@ "callsite": "1.0.0" } }, - "bfj-node4": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", - "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "bfj": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.1.tgz", + "integrity": "sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==", "dev": true, "requires": { "bluebird": "^3.5.1", "check-types": "^7.3.0", + "hoopy": "^0.1.2", "tryer": "^1.0.0" } }, @@ -1920,22 +1006,6 @@ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, - "binaryextensions": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", - "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==", - "dev": true - }, - "bitsyntax": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", - "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", - "dev": true, - "optional": true, - "requires": { - "buffer-more-ints": "0.0.2" - } - }, "bl": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", @@ -1947,9 +1017,9 @@ } }, "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, "block-stream": { @@ -1962,9 +1032,9 @@ } }, "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, "bn.js": { @@ -2126,7 +1196,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -2163,7 +1233,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -2245,43 +1315,12 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, - "buffer-more-ints": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz", - "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=", - "dev": true - }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "buildmail": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-4.0.1.tgz", - "integrity": "sha1-h393OLeHKYccmhBeO4N9K+EaenI=", - "dev": true, - "optional": true, - "requires": { - "addressparser": "1.0.1", - "libbase64": "0.1.0", - "libmime": "3.0.0", - "libqp": "1.1.0", - "nodemailer-fetch": "1.6.0", - "nodemailer-shared": "1.1.0", - "punycode": "1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - } - } - }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -2302,7 +1341,7 @@ }, "cacache": { "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { @@ -2338,35 +1377,6 @@ "unset-value": "^1.0.0" } }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", @@ -2554,9 +1564,9 @@ } }, "circular-json": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", - "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", + "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", "dev": true }, "class-utils": { @@ -2596,33 +1606,6 @@ "restore-cursor": "^2.0.0" } }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true, - "requires": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", @@ -2656,12 +1639,6 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true - }, "clone-deep": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", @@ -2674,32 +1651,12 @@ "shallow-clone": "^1.0.0" } }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, "clone-stats": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", "dev": true }, - "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -2751,7 +1708,7 @@ }, "colors": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz", "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", "dev": true }, @@ -2816,12 +1773,20 @@ } }, "compressible": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", - "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", + "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": ">= 1.36.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + } } }, "compression": { @@ -2964,9 +1929,9 @@ "dev": true }, "copy-webpack-plugin": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz", - "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", "dev": true, "requires": { "cacache": "^10.0.4", @@ -3033,7 +1998,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -3046,7 +2011,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -3097,39 +2062,36 @@ } }, "css": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", - "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "source-map": "^0.1.38", - "source-map-resolve": "^0.5.1", + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", "urix": "^0.1.0" }, "dependencies": { "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, "css-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", - "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", "css-selector-tokenizer": "^0.7.0", "icss-utils": "^2.1.0", "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", + "lodash": "^4.17.11", "postcss": "^6.0.23", "postcss-modules-extract-imports": "^1.2.0", "postcss-modules-local-by-default": "^1.2.0", @@ -3137,6 +2099,14 @@ "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } } }, "css-parse": { @@ -3150,7 +2120,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -3161,9 +2131,9 @@ } }, "css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", "dev": true, "requires": { "cssesc": "^0.1.0", @@ -3178,9 +2148,9 @@ "dev": true }, "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", + "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", "dev": true }, "cssesc": { @@ -3190,9 +2160,9 @@ "dev": true }, "csstype": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.6.tgz", - "integrity": "sha512-tKPyhy0FmfYD2KQYXD5GzkvAYLYj96cMLXr648CKGd3wBe0QqoPipImjGiLze9c8leJK8J3n7ap90tpk3E6HGQ==" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz", + "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==" }, "currently-unhandled": { "version": "0.4.1", @@ -3224,12 +2194,6 @@ "es5-ext": "^0.10.9" } }, - "dargs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", - "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=", - "dev": true - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3247,19 +2211,6 @@ } } }, - "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==", - "dev": true, - "optional": true - }, - "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", - "dev": true - }, "date-format": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", @@ -3308,6 +2259,7 @@ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, + "optional": true, "requires": { "mimic-response": "^1.0.0" } @@ -3322,7 +2274,8 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true + "dev": true, + "optional": true }, "deep-for-each": { "version": "2.0.3", @@ -3345,6 +2298,16 @@ "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==", "dev": true }, + "default-gateway": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", + "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "ip-regex": "^2.1.0" + } + }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", @@ -3383,37 +2346,16 @@ "kind-of": "^6.0.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "degenerator": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", - "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", - "dev": true, - "optional": true, - "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "optional": true + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, @@ -3446,7 +2388,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -3488,12 +2430,6 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "detect-conflict": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", - "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=", - "dev": true - }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", @@ -3517,9 +2453,9 @@ "optional": true }, "detect-node": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", "dev": true }, "di": { @@ -3536,7 +2472,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -3588,7 +2524,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -3634,7 +2570,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true } @@ -3653,9 +2589,9 @@ "dev": true }, "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", + "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==", "dev": true }, "domhandler": { @@ -3677,16 +2613,9 @@ "domelementtype": "1" } }, - "double-ended-queue": { - "version": "2.1.0-0", - "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", - "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=", - "dev": true, - "optional": true - }, "duplexer": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -3725,16 +2654,10 @@ } } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -3754,12 +2677,6 @@ "safer-buffer": "^2.1.0" } }, - "editions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", - "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", - "dev": true - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3772,16 +2689,10 @@ "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", "dev": true }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "dev": true - }, "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -3805,15 +2716,6 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -3824,9 +2726,9 @@ } }, "engine.io": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz", - "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -3834,7 +2736,6 @@ "cookie": "0.3.1", "debug": "~3.1.0", "engine.io-parser": "~2.1.0", - "uws": "~9.14.0", "ws": "~3.3.1" }, "dependencies": { @@ -3850,9 +2751,9 @@ } }, "engine.io-client": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", - "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", + "version": "3.2.1", + "resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", "dev": true, "requires": { "component-emitter": "1.2.1", @@ -3880,15 +2781,15 @@ } }, "engine.io-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dev": true, "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", + "blob": "0.0.5", "has-binary2": "~1.0.2" } }, @@ -3910,21 +2811,15 @@ "dev": true }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "envinfo": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.10.0.tgz", - "integrity": "sha512-rXbzXWvnQxy+TcqZlARbWVQwgGVVouVJgFZhLVN5htjLxl1thstrP2ZGi0pXC309AbK7gVOPU+ulz/tmpCI7iw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, "enzyme": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.4.0.tgz", - "integrity": "sha512-WWmNC5JmHtA5SctwJ7nyDidyyfo8WoHI0T116iKHkXaElQKdsaCzz5I/wIT66g3yXRCgL/74LsQ3XAotkjFXPg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.7.0.tgz", + "integrity": "sha512-QLWx+krGK6iDNyR1KlH5YPZqxZCQaVF6ike1eDJAOg0HvSkSCVImPsdWaNw6v+VrnK92Kg8jIOYhuOSS9sBpyg==", "dev": true, "requires": { "array.prototype.flat": "^1.2.1", @@ -3936,41 +2831,59 @@ "is-number-object": "^1.0.3", "is-string": "^1.0.4", "is-subset": "^0.1.1", - "lodash": "^4.17.4", + "lodash.escape": "^4.0.1", + "lodash.isequal": "^4.5.0", "object-inspect": "^1.6.0", "object-is": "^1.0.1", "object.assign": "^4.1.0", "object.entries": "^1.0.4", "object.values": "^1.0.4", "raf": "^3.4.0", - "rst-selector-parser": "^2.2.3" + "rst-selector-parser": "^2.2.3", + "string.prototype.trim": "^1.1.2" + }, + "dependencies": { + "lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", + "dev": true + } } }, "enzyme-adapter-react-16": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.2.0.tgz", - "integrity": "sha512-UgBra+xZFVFbU5Tw7Inw0bPrNJhM2ru4vCoO7preX6sOicXuDbOH927QJx4pk6m6vatd8jnPXTF6/GCjzytJTg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.7.0.tgz", + "integrity": "sha512-rDr0xlnnFPffAPYrvG97QYJaRl9unVDslKee33wTStsBEwZTkESX1H7VHGT5eUc6ifNzPgOJGvSh2zpHT4gXjA==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.5.0", + "enzyme-adapter-utils": "^1.9.0", "function.prototype.name": "^1.1.0", "object.assign": "^4.1.0", "object.values": "^1.0.4", "prop-types": "^15.6.2", - "react-is": "^16.4.2", - "react-reconciler": "^0.7.0", + "react-is": "^16.6.1", "react-test-renderer": "^16.0.0-0" } }, "enzyme-adapter-utils": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.5.0.tgz", - "integrity": "sha512-cLUaPYU8GEzAHi/1hiO+ylz4QiQWI8eb9SysAk8Tbul2O918dRf4cfD4s2BjijtwSvhapkOsPW9XRix1EXlJ1Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.9.0.tgz", + "integrity": "sha512-uMe4xw4l/Iloh2Fz+EO23XUYMEQXj5k/5ioLUXCNOUCI8Dml5XQMO9+QwUq962hBsY5qftfHHns+d990byWHvg==", "dev": true, "requires": { "function.prototype.name": "^1.1.0", "object.assign": "^4.1.0", - "prop-types": "^15.6.2" + "prop-types": "^15.6.2", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } } }, "errno": { @@ -4015,14 +2928,14 @@ } }, "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "^1.1.1", + "is-callable": "^1.1.4", "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-symbol": "^1.0.2" } }, "es5-ext": { @@ -4047,21 +2960,6 @@ "es6-symbol": "^3.1.1" } }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", @@ -4084,36 +2982,6 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", - "dev": true, - "optional": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "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 - } - } - }, "eslint-scope": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", @@ -4171,17 +3039,17 @@ }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "dev": true, "requires": { - "original": ">=0.0.5" + "original": "^1.0.0" } }, "evp_bytestokey": { @@ -4195,12 +3063,12 @@ } }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", "dev": true, "requires": { - "cross-spawn": "^5.0.1", + "cross-spawn": "^6.0.0", "get-stream": "^3.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", @@ -4210,12 +3078,14 @@ }, "dependencies": { "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "lru-cache": "^4.0.1", + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" } @@ -4228,12 +3098,6 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, "expand-braces": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", @@ -4338,14 +3202,14 @@ } }, "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", "dev": true, "requires": { "accepts": "~1.3.5", "array-flatten": "1.1.1", - "body-parser": "1.18.2", + "body-parser": "1.18.3", "content-disposition": "0.5.2", "content-type": "~1.0.4", "cookie": "0.3.1", @@ -4362,10 +3226,10 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", - "qs": "6.5.1", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", @@ -4375,33 +3239,9 @@ "vary": "~1.1.2" }, "dependencies": { - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, "finalhandler": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -4414,60 +3254,10 @@ "unpipe": "~1.0.0" } }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true - }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "statuses": { @@ -4507,7 +3297,7 @@ }, "external-editor": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { @@ -4616,31 +3406,6 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "fast-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", - "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" - }, - "dependencies": { - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -4654,9 +3419,9 @@ "dev": true }, "fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, "faye-websocket": { @@ -4668,29 +3433,6 @@ "websocket-driver": ">=0.5.1" } }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "dev": true, - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } - } - }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -4701,9 +3443,9 @@ } }, "fibers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fibers/-/fibers-2.0.2.tgz", - "integrity": "sha512-HfVRxhYG7C8Jl9FqtrlElMR2z/8YiLQVDKf67MLY25Ic+ILx3ecmklfT1v3u+7P5/4vEFjuxaAFXhr2/Afwk5g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-3.0.0.tgz", + "integrity": "sha512-cAcOHOTbTMlcpNZvr94BNFsnBDBiEu9JP5MYcRLyl12HF/X0z3KvZyNzU9+BtI8lOIaV84PlDQJOKK3f5llJug==", "dev": true }, "figures": { @@ -4721,19 +3463,6 @@ "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", "dev": true }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -4818,21 +3547,6 @@ "resolve-dir": "^1.0.1" } }, - "first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "flow-parser": { - "version": "0.81.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.81.0.tgz", - "integrity": "sha512-9zCcBUsuVFEcBRLBSaDUT5evmDW1jFUnvku8pHNo6TLy+8TRhbYFWIHosHGPT+3AHW6kxknAZ1oiRNCc6lUEZA==", - "dev": true - }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", @@ -4844,12 +3558,12 @@ } }, "follow-redirects": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", - "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", + "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", "dev": true, "requires": { - "debug": "^3.1.0" + "debug": "=3.1.0" }, "dependencies": { "debug": { @@ -5079,12 +3793,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5104,7 +3820,8 @@ "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", @@ -5252,6 +3969,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5550,75 +4268,35 @@ "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 - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "dev": true, - "optional": true, - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "optional": true, + "requires": { + "string-width": "^1.0.2" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true } } }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5661,23 +4339,6 @@ "globule": "^1.0.0" } }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true, - "optional": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "optional": true, - "requires": { - "is-property": "^1.0.0" - } - }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -5692,25 +4353,10 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, - "get-uri": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", - "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", - "dev": true, - "optional": true, - "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "3", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5740,70 +4386,6 @@ } } }, - "gh-got": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", - "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", - "dev": true, - "requires": { - "got": "^7.0.0", - "is-plain-obj": "^1.1.0" - }, - "dependencies": { - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -5811,15 +4393,6 @@ "dev": true, "optional": true }, - "github-username": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", - "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", - "dev": true, - "requires": { - "gh-got": "^6.0.0" - } - }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -5834,69 +4407,6 @@ "path-is-absolute": "^1.0.0" } }, - "glob-all": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", - "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", - "dev": true, - "requires": { - "glob": "^7.0.5", - "yargs": "~1.2.6" - }, - "dependencies": { - "minimist": { - "version": "0.1.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", - "dev": true - }, - "yargs": { - "version": "1.2.6", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", - "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", - "dev": true, - "requires": { - "minimist": "^0.1.0" - } - } - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -5907,12 +4417,6 @@ "path-dirname": "^1.0.0" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", @@ -5942,6 +4446,12 @@ "resolve-dir": "^1.0.0" } }, + "global-modules-path": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", + "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", + "dev": true + }, "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", @@ -6003,45 +4513,17 @@ "sparkles": "^1.0.0" } }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - } - }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, - "grouped-queue": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", - "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", - "dev": true, - "requires": { - "lodash": "^4.17.2" - } + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true }, "grunt": { "version": "1.0.3", @@ -6156,21 +4638,13 @@ } }, "grunt-contrib-clean": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz", - "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.0.tgz", + "integrity": "sha512-g5ZD3ORk6gMa5ugZosLDQl3dZO7cI3R14U75hTM+dVLVxdMNJCPVmwf9OUt4v4eWgpKKWWoVK9DZc1amJp4nQw==", "dev": true, "requires": { - "async": "^1.5.2", - "rimraf": "^2.5.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } + "async": "^2.6.1", + "rimraf": "^2.6.2" } }, "grunt-contrib-compress": { @@ -6344,9 +4818,9 @@ } }, "grunt-webpack": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.2.tgz", - "integrity": "sha512-Ngixl4W/mNJYyghyXJ+JzJ7pUaVRcVKgvC+74ePXPglAEodc9jMlBrGszZAzmspCuvo5dkhbBIcuBHn+Wv1pOQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/grunt-webpack/-/grunt-webpack-3.1.3.tgz", + "integrity": "sha512-SaZ8K8lG4iTxs7ClZxOWCf3kxqS2y+Eel8SbaEGgBKwhAp6e45beIu+vhBZRLX3vonKML2kjemKsQ21REaqNFQ==", "dev": true, "requires": { "deep-for-each": "^2.0.2", @@ -6403,9 +4877,9 @@ } }, "gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", - "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", + "integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==", "dev": true, "requires": { "duplexer": "^0.1.1", @@ -6414,7 +4888,7 @@ }, "handle-thing": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "resolved": "http://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", "dev": true }, @@ -6510,12 +4984,6 @@ } } }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", - "dev": true - }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", @@ -6537,27 +5005,12 @@ "sparkles": "^1.0.0" } }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -6628,17 +5081,6 @@ "sntp": "1.x.x" } }, - "hipchat-notifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz", - "integrity": "sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4=", - "dev": true, - "optional": true, - "requires": { - "lodash": "^4.0.0", - "request": "^2.0.0" - } - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6662,16 +5104,6 @@ "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", "dev": true }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, "homedir-polyfill": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", @@ -6687,6 +5119,12 @@ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", "dev": true }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", @@ -6712,9 +5150,9 @@ "dev": true }, "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", "dev": true, "requires": { "domelementtype": "^1.3.0", @@ -6722,15 +5160,28 @@ "domutils": "^1.5.1", "entities": "^1.1.1", "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "readable-stream": "^3.0.6" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -6739,7 +5190,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -6766,30 +5217,9 @@ "requires-port": "^1.0.0" } }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "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" - } - } - } - }, "http-proxy-middleware": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { @@ -6821,57 +5251,12 @@ "sshpk": "^1.7.0" } }, - "httpntlm": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz", - "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", - "dev": true, - "requires": { - "httpreq": ">=0.4.22", - "underscore": "~1.7.0" - }, - "dependencies": { - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", - "dev": true - } - } - }, - "httpreq": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz", - "integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=", - "dev": true - }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "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" - } - } - } - }, "humanize-duration": { "version": "3.15.1", "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.15.1.tgz", @@ -6934,13 +5319,67 @@ } }, "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "pkg-dir": "^2.0.0", + "pkg-dir": "^3.0.0", "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } } }, "imurmurhash": { @@ -6970,13 +5409,6 @@ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, - "inflection": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", - "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", - "dev": true, - "optional": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -7073,9 +5505,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -7084,12 +5516,13 @@ } }, "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", + "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", "dev": true, "requires": { - "meow": "^3.3.0" + "default-gateway": "^2.6.0", + "ipaddr.js": "^1.5.2" } }, "interpret": { @@ -7098,16 +5531,6 @@ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", "dev": true }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -7129,6 +5552,12 @@ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, "ipaddr.js": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", @@ -7242,21 +5671,6 @@ } } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -7296,27 +5710,6 @@ "is-extglob": "^2.1.0" } }, - "is-my-ip-valid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", - "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", - "dev": true, - "optional": true - }, - "is-my-json-valid": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", - "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", - "dev": true, - "optional": true, - "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" - } - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -7343,29 +5736,6 @@ "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", "dev": true }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "^1.1.0" - }, - "dependencies": { - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - } - } - }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -7390,12 +5760,6 @@ "path-is-inside": "^1.0.1" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -7405,31 +5769,12 @@ "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true, - "optional": true - }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -7439,21 +5784,6 @@ "has": "^1.0.1" } }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-scoped": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", - "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", - "dev": true, - "requires": { - "scoped-regex": "^1.0.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -7473,10 +5803,13 @@ "dev": true }, "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } }, "is-typedarray": { "version": "1.0.0", @@ -7529,16 +5862,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -7705,310 +6028,78 @@ } } } - }, - "istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" - } - }, - "istextorbinary": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", - "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", - "dev": true, - "requires": { - "binaryextensions": "2", - "editions": "^1.3.3", - "textextensions": "2" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jasmine": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.2.0.tgz", - "integrity": "sha512-qv6TZ32r+slrQz8fbx2EhGbD9zlJo3NwPrpLK1nE8inILtZO9Fap52pyHk7mNTh4tG50a+1+tOiWVT3jO5I0Sg==", - "dev": true, - "requires": { - "glob": "^7.0.6", - "jasmine-core": "~3.2.0" - } - }, - "jasmine-core": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.2.1.tgz", - "integrity": "sha512-pa9tbBWgU0EE4SWgc85T4sa886ufuQdsgruQANhECYjwqgV4z7Vw/499aCaP8ZH79JDS4vhm8doDG9HO4+e4sA==", - "dev": true - }, - "js-base64": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz", - "integrity": "sha512-hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jscodeshift": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.1.tgz", - "integrity": "sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q==", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-preset-es2015": "^6.9.0", - "babel-preset-stage-1": "^6.5.0", - "babel-register": "^6.9.0", - "babylon": "^7.0.0-beta.47", - "colors": "^1.1.2", - "flow-parser": "^0.*", - "lodash": "^4.13.1", - "micromatch": "^2.3.7", - "neo-async": "^2.5.0", - "node-dir": "0.1.8", - "nomnom": "^1.8.1", - "recast": "^0.15.0", - "temp": "^0.8.1", - "write-file-atomic": "^1.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "babylon": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", - "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chalk": { - "version": "0.4.0", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "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.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "nomnom": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", - "dev": true, - "requires": { - "chalk": "~0.4.0", - "underscore": "~1.6.0" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", - "dev": true - }, - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "jasmine": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.3.0.tgz", + "integrity": "sha512-haZzMvmoWSI2VCKfDgPqyEOPBQA7C1fgtIMgKNU4hVMcrVkWU5NPOWQqOTA6mVFyKcSUUrnkXu/ZEgY0bRnd6A==", + "dev": true, + "requires": { + "glob": "^7.0.6", + "jasmine-core": "~3.3.0" + } + }, + "jasmine-core": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.3.0.tgz", + "integrity": "sha512-3/xSmG/d35hf80BEN66Y6g9Ca5l/Isdeg/j6zvbTYlTzeKinzmaTM4p9am5kYqOmE05D7s1t8FGjzdSnbUbceA==", + "dev": true + }, + "js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -8069,13 +6160,6 @@ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true, - "optional": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -8097,9 +6181,9 @@ } }, "karma": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/karma/-/karma-2.0.5.tgz", - "integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.1.tgz", + "integrity": "sha512-NetT3wPCQMNB36uiL9LLyhrOt8SQwrEKt0xD3+KpTCfm0VxVyUJdPL5oTq2Ic5ouemgL/Iz4wqXEbF3zea9kQQ==", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -8117,24 +6201,24 @@ "http-proxy": "^1.13.0", "isbinaryfile": "^3.0.0", "lodash": "^4.17.4", - "log4js": "^2.5.3", - "mime": "^1.3.4", + "log4js": "^3.0.0", + "mime": "^2.3.1", "minimatch": "^3.0.2", "optimist": "^0.6.1", "qjobs": "^1.1.4", "range-parser": "^1.2.0", "rimraf": "^2.6.0", "safe-buffer": "^5.0.1", - "socket.io": "2.0.4", + "socket.io": "2.1.1", "source-map": "^0.6.1", "tmp": "0.0.33", "useragent": "2.2.1" }, "dependencies": { "colors": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.1.tgz", - "integrity": "sha512-jg/vxRmv430jixZrC+La5kMbUWqIg32/JsYNZb94+JEmzceYbWKTsv1OuTp+7EaqiaWRR2tPcykibwCRgclIsw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", + "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", "dev": true }, "source-map": { @@ -8291,19 +6375,10 @@ "webpack-dev-middleware": "^2.0.6" } }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, "killable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", - "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", "dev": true }, "kind-of": { @@ -8356,163 +6431,6 @@ "type-check": "~0.3.2" } }, - "libbase64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz", - "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=", - "dev": true - }, - "libmime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz", - "integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=", - "dev": true, - "requires": { - "iconv-lite": "0.4.15", - "libbase64": "0.1.0", - "libqp": "1.1.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", - "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", - "dev": true - } - } - }, - "libqp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", - "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=", - "dev": true - }, - "listr": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.2.tgz", - "integrity": "sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw==", - "dev": true, - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.4.0", - "listr-verbose-renderer": "^0.4.0", - "p-map": "^1.1.1", - "rxjs": "^6.1.0" - }, - "dependencies": { - "rxjs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.2.tgz", - "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "dev": true - }, - "listr-update-renderer": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", - "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^1.0.2", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - } - } - }, - "listr-verbose-renderer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", - "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-cursor": "^1.0.2", - "date-fns": "^1.27.2", - "figures": "^1.7.0" - }, - "dependencies": { - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - } - } - }, "livereload-js": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", @@ -8550,9 +6468,9 @@ } }, "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", + "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", "dev": true }, "loader-utils": { @@ -8687,6 +6605,12 @@ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", "dev": true }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", @@ -8789,214 +6713,33 @@ } } }, - "log-update": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", - "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", - "dev": true, - "requires": { - "ansi-escapes": "^1.0.0", - "cli-cursor": "^1.0.2" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - } - } - }, "log4js": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.11.0.tgz", - "integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", + "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", "dev": true, "requires": { - "amqplib": "^0.5.2", - "axios": "^0.15.3", - "circular-json": "^0.5.4", + "circular-json": "^0.5.5", "date-format": "^1.2.0", "debug": "^3.1.0", - "hipchat-notifier": "^1.1.0", - "loggly": "^1.1.0", - "mailgun-js": "^0.18.0", - "nodemailer": "^2.5.0", - "redis": "^2.7.1", - "semver": "^5.5.0", - "slack-node": "~0.2.0", - "streamroller": "0.7.0" - }, - "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" - } - } - } - }, - "loggly": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/loggly/-/loggly-1.1.1.tgz", - "integrity": "sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4=", - "dev": true, - "optional": true, - "requires": { - "json-stringify-safe": "5.0.x", - "request": "2.75.x", - "timespan": "2.3.x" - }, - "dependencies": { - "bl": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", - "dev": true, - "optional": true, - "requires": { - "readable-stream": "~2.0.5" - } - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz", - "integrity": "sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.11" - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "optional": true, - "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" - } - }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "request": { - "version": "2.75.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.75.0.tgz", - "integrity": "sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM=", + "rfdc": "^1.1.2", + "streamroller": "0.7.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, - "optional": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "bl": "~1.1.2", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.0.0", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "node-uuid": "~1.4.7", - "oauth-sign": "~0.8.1", - "qs": "~6.2.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "~0.4.1" + "ms": "^2.1.1" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true, - "optional": true + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, @@ -9016,12 +6759,6 @@ "object.assign": "^4.1.0" } }, - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", - "dev": true - }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -9046,12 +6783,6 @@ "signal-exit": "^3.0.0" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -9062,59 +6793,6 @@ "yallist": "^2.1.2" } }, - "mailcomposer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-4.0.1.tgz", - "integrity": "sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ=", - "dev": true, - "optional": true, - "requires": { - "buildmail": "4.0.1", - "libmime": "3.0.0" - } - }, - "mailgun-js": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", - "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", - "dev": true, - "optional": true, - "requires": { - "async": "~2.6.0", - "debug": "~3.1.0", - "form-data": "~2.3.0", - "inflection": "~1.12.0", - "is-stream": "^1.1.0", - "path-proxy": "~1.0.0", - "promisify-call": "^2.0.2", - "proxy-agent": "~3.0.0", - "tsscmp": "~1.0.0" - }, - "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, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - } - } - }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", @@ -9124,11 +6802,14 @@ "pify": "^3.0.0" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true + "map-age-cleaner": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", + "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } }, "map-cache": { "version": "0.2.2", @@ -9151,112 +6832,32 @@ "object-visit": "^1.0.0" } }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mem-fs": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", - "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", - "dev": true, - "requires": { - "through2": "^2.0.0", - "vinyl": "^1.1.0", - "vinyl-file": "^2.0.0" - }, - "dependencies": { - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, - "mem-fs-editor": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz", - "integrity": "sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", + "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", "dev": true, "requires": { - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^2.5.9", - "glob": "^7.0.3", - "globby": "^7.1.1", - "isbinaryfile": "^3.0.2", - "mkdirp": "^0.5.0", - "multimatch": "^2.0.0", - "rimraf": "^2.2.8", - "through2": "^2.0.0", - "vinyl": "^2.0.1" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" } }, "memory-fs": { @@ -9270,9 +6871,9 @@ } }, "mendix-client": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.0.tgz", - "integrity": "sha512-mgKdYqWDBzKc9FmGeAnsAUnK5s18Yxya7tL303TpnWSfilDUw7LBjdUfSafOksUM1gwSp0v4FoLxnlF8gVUEGQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.3.tgz", + "integrity": "sha512-dEudgJfR+/BSMy7d/bs8UzzF3Iolkfoz6Umb8mNyxWm1yuwduubAKjySV8w0/UhtpU7yaSGUHuVkOEMF2XCdXQ==", "dev": true, "requires": { "@types/big.js": "0.0.31", @@ -9340,12 +6941,6 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, - "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", - "dev": true - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -9384,9 +6979,9 @@ } }, "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", "dev": true }, "mime-db": { @@ -9414,7 +7009,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true + "dev": true, + "optional": true }, "min-document": { "version": "2.19.0", @@ -9574,18 +7170,6 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - } - }, "multipipe": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", @@ -9605,8 +7189,7 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true + "dev": true }, "nanomatch": { "version": "1.2.13", @@ -9628,9 +7211,9 @@ } }, "nearley": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.15.0.tgz", - "integrity": "sha512-ZjzdO+yBtMrRrBbr+BJ35ECla6PGCAb/6hqpBQe7bmhEJabQ4rpVdj4sadP1Z1jQGyaDmm1GciQWsGVxIZ3uJA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.15.1.tgz", + "integrity": "sha512-8IUY/rUrKz2mIynUGh8k+tul1awMKEjeHHC5G3FHvvyAW6oq4mQfNp2c0BMea+sYZJvYcrrM6GmZVIle/GRXGw==", "dev": true, "requires": { "moo": "^0.4.3", @@ -9652,13 +7235,6 @@ "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", "dev": true }, - "netmask": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", - "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", - "dev": true, - "optional": true - }, "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", @@ -9681,22 +7257,6 @@ "semver": "^5.4.1" } }, - "node-dir": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", - "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=", - "dev": true - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, "node-forge": { "version": "0.7.5", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", @@ -9708,6 +7268,7 @@ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz", "integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==", "dev": true, + "optional": true, "requires": { "fstream": "^1.0.0", "glob": "^7.0.3", @@ -9728,6 +7289,7 @@ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, + "optional": true, "requires": { "abbrev": "1" } @@ -9736,7 +7298,8 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "dev": true, + "optional": true } } }, @@ -9773,7 +7336,7 @@ "dependencies": { "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -9791,9 +7354,9 @@ } }, "node-sass": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz", - "integrity": "sha1-XmP+a9DyrjrJ1sFO3oYg4ri9tDc=", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz", + "integrity": "sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -9809,24 +7372,24 @@ "meow": "^3.7.0", "mkdirp": "^0.5.1", "nan": "^2.10.0", - "node-gyp": "^3.3.1", + "node-gyp": "^3.8.0", "npmlog": "^4.0.0", - "request": "2.87.0", + "request": "^2.88.0", "sass-graph": "^2.2.4", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "assert-plus": { @@ -9841,20 +7404,14 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, @@ -9865,12 +7422,12 @@ "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^5.1.0", + "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, @@ -9885,16 +7442,36 @@ "sshpk": "^1.7.0" } }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha1-ltDNYQ69WNS03pzAxoKM2pnHVI8=", + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "qs": { @@ -9904,132 +7481,63 @@ "dev": true }, "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=", + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", + "aws4": "^1.8.0", "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - } - } - } - }, - "node-svn-ultimate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/node-svn-ultimate/-/node-svn-ultimate-1.1.0.tgz", - "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", - "dev": true, - "requires": { - "fs-extra": "^1.0.0", - "semver": "^5.3.0", - "uuid": "^3.0.0", - "xml2js": "^0.4.17" - } - }, - "nodemailer": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-2.7.2.tgz", - "integrity": "sha1-8kLmSa7q45tsftdA73sGHEBNMPk=", - "dev": true, - "optional": true, - "requires": { - "libmime": "3.0.0", - "mailcomposer": "4.0.1", - "nodemailer-direct-transport": "3.3.2", - "nodemailer-shared": "1.1.0", - "nodemailer-smtp-pool": "2.8.2", - "nodemailer-smtp-transport": "2.7.2", - "socks": "1.1.9" - }, - "dependencies": { - "socks": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz", - "integrity": "sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE=", - "dev": true, - "optional": true, - "requires": { - "ip": "^1.1.2", - "smart-buffer": "^1.0.4" + "uuid": "^3.3.2" } - } - } - }, - "nodemailer-direct-transport": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz", - "integrity": "sha1-6W+vuQNYVglH5WkBfZfmBzilCoY=", - "dev": true, - "optional": true, - "requires": { - "nodemailer-shared": "1.1.0", - "smtp-connection": "2.12.0" - } - }, - "nodemailer-fetch": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", - "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=", - "dev": true - }, - "nodemailer-shared": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz", - "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=", - "dev": true, - "requires": { - "nodemailer-fetch": "1.6.0" - } - }, - "nodemailer-smtp-pool": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz", - "integrity": "sha1-LrlNbPhXgLG0clzoU7nL1ejajHI=", - "dev": true, - "optional": true, - "requires": { - "nodemailer-shared": "1.1.0", - "nodemailer-wellknown": "0.1.10", - "smtp-connection": "2.12.0" + }, + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + } } }, - "nodemailer-smtp-transport": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz", - "integrity": "sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c=", + "node-svn-ultimate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-svn-ultimate/-/node-svn-ultimate-1.1.0.tgz", + "integrity": "sha1-mfAA8Md+WggWuV98DRYCD0uLIJM=", "dev": true, - "optional": true, "requires": { - "nodemailer-shared": "1.1.0", - "nodemailer-wellknown": "0.1.10", - "smtp-connection": "2.12.0" + "fs-extra": "^1.0.0", + "semver": "^5.3.0", + "uuid": "^3.0.0", + "xml2js": "^0.4.17" } }, - "nodemailer-wellknown": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz", - "integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=", - "dev": true - }, "nomnom": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz", @@ -10047,6 +7555,15 @@ "dev": true, "optional": true }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -10068,20 +7585,9 @@ "remove-trailing-separator": "^1.0.1" } }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, "npm-install-package": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=", "dev": true }, @@ -10107,9 +7613,9 @@ } }, "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "dev": true, "requires": { "boolbase": "~1.0.0" @@ -10226,27 +7732,6 @@ "has": "^1.0.1" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - } - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -10314,9 +7799,9 @@ "dev": true }, "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", "dev": true, "requires": { "is-wsl": "^1.1.0" @@ -10377,7 +7862,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -10406,20 +7891,11 @@ "os-tmpdir": "^1.0.0" } }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true - }, - "p-each-series": { + "p-defer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true }, "p-finally": { "version": "1.0.0", @@ -10429,16 +7905,10 @@ }, "p-is-promise": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", "dev": true }, - "p-lazy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", - "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -10463,101 +7933,12 @@ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "pac-proxy-agent": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz", - "integrity": "sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==", - "dev": true, - "optional": true, - "requires": { - "agent-base": "^4.2.0", - "debug": "^3.1.0", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "pac-resolver": "^3.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "^3.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true, - "optional": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "dev": true, - "optional": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "socks-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", - "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", - "dev": true, - "optional": true, - "requires": { - "agent-base": "^4.1.0", - "socks": "^1.1.10" - } - } - } - }, - "pac-resolver": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", - "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", - "dev": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", - "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" - } - }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", @@ -10577,7 +7958,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -10588,45 +7969,6 @@ "pbkdf2": "^3.0.3" } }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -10714,25 +8056,6 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "path-proxy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz", - "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=", - "dev": true, - "optional": true, - "requires": { - "inflection": "~1.3.0" - }, - "dependencies": { - "inflection": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz", - "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=", - "dev": true, - "optional": true - } - } - }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -10749,9 +8072,9 @@ } }, "pbkdf2": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", - "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -10843,16 +8166,16 @@ }, "kind-of": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", "dev": true } } }, "portfinder": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.16.tgz", - "integrity": "sha512-icBXCFQxzlK2PMepOM0QeEdPPFSLAaXXeuKOv5AClJlMy1oVCBrkDGJ12IZYesI/BF8mpeVco3vRCmgeBb4+hw==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz", + "integrity": "sha512-23aeQKW9KgHe6citUrG3r9HjeX6vls0h713TAa+CwTKZwNIr/pD2ApaxYF4Um3ZZyq4ar+Siv3+fhoHaIwSOSw==", "dev": true, "requires": { "async": "^1.5.2", @@ -10862,7 +8185,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -10923,9 +8246,9 @@ } }, "postcss-modules-extract-imports": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", - "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", "dev": true, "requires": { "postcss": "^6.0.1" @@ -10962,9 +8285,9 @@ } }, "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "pre-commit": { @@ -11046,36 +8369,12 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.2.tgz", - "integrity": "sha512-McHPg0n1pIke+A/4VcaS2en+pTNjy4xF+Uuq86u/5dyDO59/TtFZtQ708QIRkEZ3qwKz3GVkVa6mpxK/CpB8Rg==", - "dev": true - }, "pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", "dev": true }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -11094,31 +8393,12 @@ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "requires": { - "asap": "~2.0.3" - } - }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, - "promisify-call": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz", - "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=", - "dev": true, - "optional": true, - "requires": { - "with-callback": "^1.0.2" - } - }, "prop-types": { "version": "15.6.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", @@ -11138,42 +8418,6 @@ "ipaddr.js": "1.8.0" } }, - "proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.1.tgz", - "integrity": "sha512-mAZexaz9ZxQhYPWfAjzlrloEjW+JHiBFryE4AJXFDTnaXfmH/FKqC1swTRKuEPbHWz02flQNXFOyDUF7zfEG6A==", - "dev": true, - "optional": true, - "requires": { - "agent-base": "^4.2.0", - "debug": "^3.1.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "lru-cache": "^4.1.2", - "pac-proxy-agent": "^2.0.1", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^4.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, - "optional": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true, - "optional": true - }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -11186,17 +8430,24 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, "public-encrypt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", - "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "pump": { @@ -11244,17 +8495,6 @@ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -11268,15 +8508,15 @@ "dev": true }, "querystringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", - "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", + "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", "dev": true }, "raf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", "dev": true, "requires": { "performance-now": "^2.1.0" @@ -11298,25 +8538,6 @@ "ret": "~0.1.10" } }, - "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "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 - } - } - }, "randombytes": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", @@ -11389,27 +8610,27 @@ } }, "react": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz", - "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==", + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.6.1.tgz", + "integrity": "sha512-OtawJThYlvRgm9BXK+xTL7BIlDx8vv21j+fbQDjRRUyok6y7NyjlweGorielTahLZHYIdKUoK2Dp9ByVWuMqxw==", "dev": true, "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "prop-types": "^15.6.2", + "scheduler": "^0.11.0" } }, "react-dom": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.2.tgz", - "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==", + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.1.tgz", + "integrity": "sha512-zm+wBuEMGm009Wt1uE4Zw5KcXOW7qC4E/xW/fpJsCsbOco4U/R84u+DzzO/S4SYSdNBcqcaulcp4w3FXl8pImw==", "dev": true, "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "prop-types": "^15.6.2", + "scheduler": "^0.11.0" } }, "react-fastclick": { @@ -11440,9 +8661,9 @@ } }, "react-is": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.2.tgz", - "integrity": "sha512-rI3cGFj/obHbBz156PvErrS5xc6f1eWyTwyV4mo0vF2lGgXgS+mm7EKD5buLJq6jNgIagQescGSVG2YzgXt8Yg==", + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.1.tgz", + "integrity": "sha512-wOKsGtvTMYs7WAscmwwdM8sfRRvE17Ym30zFj3n37Qx5tHRfhenPKEPILHaHob6WoLFADmQm1ZNrE5xMCM6sCw==", "dev": true }, "react-lifecycles-compat": { @@ -11451,18 +8672,6 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", "dev": true }, - "react-reconciler": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.7.0.tgz", - "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", - "dev": true, - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" - } - }, "react-select": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz", @@ -11474,25 +8683,15 @@ } }, "react-test-renderer": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.4.2.tgz", - "integrity": "sha512-vdTPnRMDbxfv4wL4lzN4EkVGXyYs7LE2uImOsqh1FKiP6L5o1oJl8nore5sFi9vxrP9PK3l4rgb/fZ4PVUaWSA==", + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.1.tgz", + "integrity": "sha512-sgZwJZYIgQptRi2qk5+gB8FBQGk4gLSs0gmKZPMfhd3dLkdxIUwVLHteLN3Bnj4LokIZd3U+V2NEJUqeV2PT2w==", "dev": true, "requires": { - "fbjs": "^0.8.16", "object-assign": "^4.1.1", - "prop-types": "^15.6.0", - "react-is": "^16.4.2" - } - }, - "read-chunk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", - "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", - "dev": true, - "requires": { - "pify": "^3.0.0", - "safe-buffer": "^5.1.1" + "prop-types": "^15.6.2", + "react-is": "^16.6.1", + "scheduler": "^0.11.0" } }, "read-pkg": { @@ -11583,35 +8782,6 @@ "set-immediate-shim": "^1.0.1" } }, - "recast": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.5.tgz", - "integrity": "sha512-nkAYNqarh73cMWRKFiPQ8I9dOLFvFk6SnG8u/LUlOYfArDOD/EjsVRAs860TlBLrpxqAXHGET/AUAVjdEymL5w==", - "dev": true, - "requires": { - "ast-types": "0.11.5", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -11622,32 +8792,6 @@ "strip-indent": "^1.0.1" } }, - "redis": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", - "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", - "dev": true, - "optional": true, - "requires": { - "double-ended-queue": "^2.1.0-0", - "redis-commands": "^1.2.0", - "redis-parser": "^2.6.0" - } - }, - "redis-commands": { - "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 - }, - "redis-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", - "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=", - "dev": true, - "optional": true - }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", @@ -11660,26 +8804,6 @@ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -11703,7 +8827,7 @@ }, "regjsgen": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", "dev": true }, @@ -11718,16 +8842,16 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } } }, "remap-istanbul": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.11.1.tgz", - "integrity": "sha512-Itv3XvYjD6G+9xDzAeFohx4GUwbFjfqFt0UXlC826jHR18E49fEiEGqZUxUASwMq4z7wwUv2H9/XF2d6qj0iaQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.12.0.tgz", + "integrity": "sha512-lpA+zkWfT7v81k76asd+w82+dnbBTmBEsyuBVQ28armnOqsZZO23uI4ZCBGd8TtIb9Tq4CauswB+A44cbkuiMA==", "dev": true, "requires": { "amdefine": "^1.0.0", @@ -11772,7 +8896,7 @@ }, "through2": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "resolved": "http://registry.npmjs.org/through2/-/through2-2.0.1.tgz", "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", "dev": true, "requires": { @@ -11853,19 +8977,6 @@ } } }, - "requestretry": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.13.0.tgz", - "integrity": "sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg==", - "dev": true, - "optional": true, - "requires": { - "extend": "^3.0.0", - "lodash": "^4.15.0", - "request": "^2.74.0", - "when": "^3.7.7" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -11921,15 +9032,6 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -11946,6 +9048,12 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "rfdc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz", + "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==", + "dev": true + }, "rgb2hex": { "version": "0.1.9", "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.9.tgz", @@ -12024,15 +9132,6 @@ "rx-lite": "*" } }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -12138,6 +9237,16 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "scheduler": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.0.tgz", + "integrity": "sha512-MAYbBfmiEHxF0W+c4CxMpEqMYK+rYF584VP/qMKSiHM6lTkBKKYOJaDiSILpJHla6hBOsVd6GucPL46o2Uq3sg==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", @@ -12148,12 +9257,6 @@ "ajv-keywords": "^3.1.0" } }, - "scoped-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", - "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=", - "dev": true - }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", @@ -12341,9 +9444,9 @@ } }, "selfsigned": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", - "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", + "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", "dev": true, "requires": { "node-forge": "0.7.5" @@ -12481,7 +9584,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -12529,17 +9632,6 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shelljs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", - "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -12565,51 +9657,12 @@ "simple-concat": "^1.0.0" } }, - "slack-node": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/slack-node/-/slack-node-0.2.0.tgz", - "integrity": "sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA=", - "dev": true, - "optional": true, - "requires": { - "requestretry": "^1.2.2" - } - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", - "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", - "dev": true, - "optional": true - }, - "smtp-connection": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", - "integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=", - "dev": true, - "requires": { - "httpntlm": "1.6.1", - "nodemailer-shared": "1.1.0" - } - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -12727,16 +9780,28 @@ } }, "socket.io": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", - "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", "dev": true, "requires": { - "debug": "~2.6.6", - "engine.io": "~3.1.0", + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.0.4", - "socket.io-parser": "~3.1.1" + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + }, + "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" + } + } } }, "socket.io-adapter": { @@ -12746,35 +9811,46 @@ "dev": true }, "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", "dev": true, "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", + "socket.io-parser": "~3.2.0", "to-array": "0.1.4" + }, + "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" + } + } } }, "socket.io-parser": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", - "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", + "version": "3.2.0", + "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", "dev": true, "requires": { "component-emitter": "1.2.1", "debug": "~3.1.0", - "has-binary2": "~1.0.2", "isarray": "2.0.1" }, "dependencies": { @@ -12806,19 +9882,28 @@ } }, "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", "dev": true, "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", "json3": "^3.3.2", - "url-parse": "^1.1.8" + "url-parse": "^1.4.3" }, "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, "faye-websocket": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", @@ -12827,60 +9912,15 @@ "requires": { "websocket-driver": ">=0.5.1" } - } - } - }, - "socks": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", - "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", - "dev": true, - "optional": true, - "requires": { - "ip": "^1.1.4", - "smart-buffer": "^1.0.13" - } - }, - "socks-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", - "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", - "dev": true, - "optional": true, - "requires": { - "agent-base": "~4.2.0", - "socks": "~2.2.0" - }, - "dependencies": { - "smart-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", - "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", - "dev": true, - "optional": true }, - "socks": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", - "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", - "dev": true, - "optional": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.0.1" - } + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -12894,34 +9934,13 @@ "dev": true }, "source-map-loader": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.3.tgz", - "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", + "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", "dev": true, "requires": { "async": "^2.5.0", - "loader-utils": "~0.2.2", - "source-map": "~0.6.1" - }, - "dependencies": { - "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.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "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 - } + "loader-utils": "^1.1.0" } }, "source-map-resolve": { @@ -12937,15 +9956,6 @@ "urix": "^0.1.0" } }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -13015,9 +10025,9 @@ } }, "spdy-transport": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", - "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.1.tgz", + "integrity": "sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==", "dev": true, "requires": { "debug": "^2.6.8", @@ -13106,9 +10116,9 @@ "dev": true }, "stdout-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", - "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dev": true, "requires": { "readable-stream": "^2.0.1" @@ -13172,22 +10182,22 @@ }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true } } }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -13205,6 +10215,17 @@ "strip-ansi": "^3.0.0" } }, + "string.prototype.trim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.0", + "function-bind": "^1.0.2" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -13238,19 +10259,9 @@ "is-utf8": "^0.2.0" } }, - "strip-bom-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", - "dev": true, - "requires": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -13271,13 +10282,26 @@ "optional": true }, "style-loader": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", - "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", "dev": true, "requires": { "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5" + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "supports-color": { @@ -13286,12 +10310,6 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - }, "tapable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", @@ -13350,39 +10368,9 @@ "xtend": "^4.0.0" } }, - "temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", - "dev": true, - "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" - }, - "dependencies": { - "rimraf": { - "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "textextensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", - "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==", - "dev": true - }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -13396,17 +10384,10 @@ "xtend": "~4.0.1" } }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=", - "dev": true, - "optional": true - }, "thunky": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", - "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", "dev": true }, "time-stamp": { @@ -13415,12 +10396,6 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -13430,13 +10405,6 @@ "setimmediate": "^1.0.4" } }, - "timespan": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz", - "integrity": "sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk=", - "dev": true, - "optional": true - }, "tiny-lr": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", @@ -13567,27 +10535,12 @@ "dev": true }, "true-case-path": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", - "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", "dev": true, "requires": { - "glob": "^6.0.4" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "glob": "^7.1.2" } }, "tryer": { @@ -13597,9 +10550,9 @@ "dev": true }, "ts-loader": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.4.2.tgz", - "integrity": "sha512-Z3Y1a7A0KZZ1s/mAZkt74l1NAF7Y5xUhD1V9VB8/1eUlUOk8Qa/oo46tO2Uu5kQ3wXypOlbv77lLQySjXEDcdw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.0.tgz", + "integrity": "sha512-lGSNs7szRFj/rK9T1EQuayE3QNLg6izDUxt5jpmq0RG1rU2bapAt7E7uLckLCUPeO1jwxCiet2oRaWovc53UAg==", "dev": true, "requires": { "chalk": "^2.3.0", @@ -13630,9 +10583,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -13707,14 +10660,14 @@ } }, "tslint-eslint-rules": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.3.1.tgz", - "integrity": "sha512-qq2H/AU/FlFbQJKXuxhtIk+ni/nQu9jHHhsFKa6hnA0/n3zl1/RWRc3TVFlL8HfWFMzkST350VeTrFpy1u4OUg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz", + "integrity": "sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w==", "dev": true, "requires": { "doctrine": "0.7.2", "tslib": "1.9.0", - "tsutils": "2.8.0" + "tsutils": "^3.0.0" }, "dependencies": { "tslib": { @@ -13724,23 +10677,16 @@ "dev": true }, "tsutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.8.0.tgz", - "integrity": "sha1-AWAXNymzvxOGKN0UoVN+AIUdgUo=", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.4.0.tgz", + "integrity": "sha512-lJOYR+rsCnso8k7C/D1IVSgOmJS9Ds8U4P2H7CxBtTf1w227Zg2nk+Fod8AsUzu3msg8AjZVsNBJb5QgCZsBjQ==", "dev": true, "requires": { - "tslib": "^1.7.1" + "tslib": "^1.8.1" } } } }, - "tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", - "dev": true, - "optional": true - }, "tsutils": { "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", @@ -13798,15 +10744,9 @@ "dev": true }, "typescript": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.0.3.tgz", - "integrity": "sha512-kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg==", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.18", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", - "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", "dev": true }, "uglify-js": { @@ -13829,9 +10769,9 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz", - "integrity": "sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", "dev": true, "requires": { "cacache": "^10.0.4", @@ -13926,18 +10866,18 @@ } }, "unique-filename": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", - "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { "unique-slug": "^2.0.0" } }, "unique-slug": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", - "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -14050,30 +10990,15 @@ "dev": true }, "url-parse": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", - "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", + "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", "dev": true, "requires": { "querystringify": "^2.0.0", "requires-port": "^1.0.0" } }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -14125,13 +11050,6 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "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 - }, "v8-compile-cache": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", @@ -14184,39 +11102,6 @@ "replace-ext": "0.0.1" } }, - "vinyl-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", - "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^1.1.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -14259,38 +11144,20 @@ } }, "wdio-dot-reporter": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", - "integrity": "sha1-kpsq2v1J1rBTT9oGjocxm0fjj+U=", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz", + "integrity": "sha512-A0TCk2JdZEn3M1DSG9YYbNRcGdx/YRw19lTiRpgwzH4qqWkO/oRDZRmi3Snn4L2j54KKTfPalBhlOtc8fojVgg==", "dev": true }, "wdio-jasmine-framework": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/wdio-jasmine-framework/-/wdio-jasmine-framework-0.3.5.tgz", - "integrity": "sha512-XzqEROcybKZp9cFCXlnHwAtBMrHWYxn5/iBYNergrJ0Mol6k9NiJ3cZV/d+BV2VAdAtk6iJH0LTws/JTHo+glQ==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/wdio-jasmine-framework/-/wdio-jasmine-framework-0.3.7.tgz", + "integrity": "sha512-V89ONEVVbVYK5k6KT5WO05x+WJ1ye/1/m/aUg5ffkvz3GKYdEFN+yeQJ+dDks6AeHX37VJb2JSF0S5N8f1Ll/w==", "dev": true, "requires": { "babel-runtime": "6.26.0", - "jasmine": "^3.0.0", - "wdio-sync": "0.7.1" - }, - "dependencies": { - "jasmine": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.2.0.tgz", - "integrity": "sha512-qv6TZ32r+slrQz8fbx2EhGbD9zlJo3NwPrpLK1nE8inILtZO9Fap52pyHk7mNTh4tG50a+1+tOiWVT3jO5I0Sg==", - "dev": true, - "requires": { - "glob": "^7.0.6", - "jasmine-core": "~3.2.0" - } - }, - "jasmine-core": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.2.1.tgz", - "integrity": "sha512-pa9tbBWgU0EE4SWgc85T4sa886ufuQdsgruQANhECYjwqgV4z7Vw/499aCaP8ZH79JDS4vhm8doDG9HO4+e4sA==", - "dev": true - } + "jasmine": "^3.3.0", + "wdio-sync": "0.7.3" } }, "wdio-selenium-standalone-service": { @@ -14361,20 +11228,20 @@ } }, "wdio-sync": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/wdio-sync/-/wdio-sync-0.7.1.tgz", - "integrity": "sha512-7BTWoBbDZsIVR67mx3cqkYiE3gZid5OJPBcjje1SlC28uXJA73YVxKPBR3SzY+iQy4dk0vSyqUcGkuQBjUNQew==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/wdio-sync/-/wdio-sync-0.7.3.tgz", + "integrity": "sha512-ukASSHOQmOxaz5HTILR0jykqlHBtAPsBpMtwhpiG0aW9uc7SO7PF+E5LhVvTG4ypAh+UGmY3rTjohOsqDr39jw==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "fibers": "~2.0.0", + "babel-runtime": "^6.26.0", + "fibers": "^3.0.0", "object.assign": "^4.0.3" } }, "webdriverio": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.13.1.tgz", - "integrity": "sha1-Yk70ylafPJpejpsRMCtEMe2h+4o=", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.14.0.tgz", + "integrity": "sha512-642Iqp9en2hvuVINkTfQvWoQCaLb6zJyLHgQFUFLx7s+8l8GnrHzMjkv5DbecZHwnBkhybpphbTW7k0B2ARH5A==", "dev": true, "requires": { "archiver": "~2.1.0", @@ -14385,6 +11252,7 @@ "ejs": "~2.5.6", "gaze": "~1.1.2", "glob": "~7.1.1", + "grapheme-splitter": "^1.0.2", "inquirer": "~3.3.0", "json-stringify-safe": "~5.0.1", "mkdirp": "~0.5.1", @@ -14392,7 +11260,7 @@ "optimist": "~0.6.1", "q": "~1.5.0", "request": "^2.83.0", - "rgb2hex": "~0.1.4", + "rgb2hex": "^0.1.9", "safe-buffer": "~5.1.1", "supports-color": "~5.0.0", "url": "~0.11.0", @@ -14401,15 +11269,15 @@ }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "archiver": { @@ -14440,397 +11308,191 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "dev": true, - "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.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.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - } - }, - "supports-color": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", - "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - } - } - }, - "webpack": { - "version": "4.16.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.16.5.tgz", - "integrity": "sha512-i5cHYHonzSc1zBuwB5MSzW4v9cScZFbprkHK8ZgzPDCRkQXGGpYzPmJhbus5bOrZ0tXTcQp+xyImRSvKb0b+Kw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.5.13", - "@webassemblyjs/helper-module-context": "1.5.13", - "@webassemblyjs/wasm-edit": "1.5.13", - "@webassemblyjs/wasm-opt": "1.5.13", - "@webassemblyjs/wasm-parser": "1.5.13", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.0.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.0.1" - } - }, - "webpack-addons": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", - "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", - "dev": true, - "requires": { - "jscodeshift": "^0.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "ast-types": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", - "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chalk": { - "version": "0.4.0", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "isarray": "1.0.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, - "jscodeshift": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", - "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", - "dev": true, - "requires": { - "async": "^1.5.0", - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-preset-es2015": "^6.9.0", - "babel-preset-stage-1": "^6.5.0", - "babel-register": "^6.9.0", - "babylon": "^6.17.3", - "colors": "^1.1.2", - "flow-parser": "^0.*", - "lodash": "^4.13.1", - "micromatch": "^2.3.7", - "node-dir": "0.1.8", - "nomnom": "^1.8.1", - "recast": "^0.12.5", - "temp": "^0.8.1", - "write-file-atomic": "^1.2.0" - } + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, - "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.5" - } + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" } }, - "nomnom": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "supports-color": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", + "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", "dev": true, "requires": { - "chalk": "~0.4.0", - "underscore": "~1.6.0" + "has-flag": "^2.0.0" } }, - "recast": { - "version": "0.12.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", - "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "ast-types": "0.10.1", - "core-js": "^2.4.1", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } - }, + } + } + }, + "webpack": { + "version": "4.25.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.25.1.tgz", + "integrity": "sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.11", + "@webassemblyjs/helper-module-context": "1.7.11", + "@webassemblyjs/wasm-edit": "1.7.11", + "@webassemblyjs/wasm-parser": "1.7.11", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + }, + "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "tapable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", + "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", "dev": true }, - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } } } }, "webpack-bundle-analyzer": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", - "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.3.tgz", + "integrity": "sha512-naLWiRfmtH4UJgtUktRTLw6FdoZJ2RvCR9ePbwM9aRMsS/KjFerkPZG9epEvXRAw5d5oPdrs9+3p+afNjxW8Xw==", "dev": true, "requires": { - "acorn": "^5.3.0", - "bfj-node4": "^5.2.0", - "chalk": "^2.3.0", - "commander": "^2.13.0", - "ejs": "^2.5.7", - "express": "^4.16.2", - "filesize": "^3.5.11", - "gzip-size": "^4.1.0", - "lodash": "^4.17.4", + "acorn": "^5.7.3", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.10", "mkdirp": "^0.5.1", - "opener": "^1.4.3", - "ws": "^4.0.0" + "opener": "^1.5.1", + "ws": "^6.0.0" }, "dependencies": { "ansi-styles": { @@ -14853,6 +11515,24 @@ "supports-color": "^5.3.0" } }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "ejs": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -14863,49 +11543,32 @@ } }, "ws": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", - "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", + "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", "dev": true, "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0" + "async-limiter": "~1.0.0" } } } }, "webpack-cli": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.5.tgz", - "integrity": "sha512-CiWQR+1JS77rmyiO6y1q8Kt/O+e8nUUC9YfJ25JtSmzDwbqJV7vIsh3+QKRHVTbTCa0DaVh8iY1LBiagUIDB3g==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", + "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", "dev": true, "requires": { "chalk": "^2.4.1", "cross-spawn": "^6.0.5", - "diff": "^3.5.0", - "enhanced-resolve": "^4.0.0", - "envinfo": "^5.7.0", - "glob-all": "^3.1.0", - "global-modules": "^1.0.0", - "got": "^8.3.1", - "import-local": "^1.0.0", - "inquirer": "^5.2.0", + "enhanced-resolve": "^4.1.0", + "global-modules-path": "^2.3.0", + "import-local": "^2.0.0", "interpret": "^1.1.0", - "jscodeshift": "^0.5.0", - "listr": "^0.14.1", "loader-utils": "^1.1.0", - "lodash": "^4.17.10", - "log-symbols": "^2.2.0", - "mkdirp": "^0.5.1", - "p-each-series": "^1.0.0", - "p-lazy": "^1.0.0", - "prettier": "^1.12.1", - "supports-color": "^5.4.0", - "v8-compile-cache": "^2.0.0", - "webpack-addons": "^1.1.5", - "yargs": "^11.1.0", - "yeoman-environment": "^2.1.1", - "yeoman-generator": "^2.0.5" + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.2" }, "dependencies": { "ansi-regex": { @@ -14964,50 +11627,90 @@ "which": "^1.2.9" } }, - "inquirer": { - "version": "5.2.0", - "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "locate-path": "^3.0.0" } }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", + "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "p-limit": "^2.0.0" } }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -15042,36 +11745,30 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, "yargs": { - "version": "11.1.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" } }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -15103,13 +11800,12 @@ } }, "webpack-dev-server": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz", - "integrity": "sha512-LVHg+EPwZLHIlfvokSTgtJqO/vI5CQi89fASb5JEDtVMDjY0yuIEqPPdMiKaBJIB/Ab7v/UN/sYZ7WsZvntQKw==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz", + "integrity": "sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww==", "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "^3.0.3", "bonjour": "^3.5.0", "chokidar": "^2.0.0", "compression": "^1.5.2", @@ -15119,23 +11815,24 @@ "express": "^4.16.2", "html-entities": "^1.2.0", "http-proxy-middleware": "~0.18.0", - "import-local": "^1.0.0", - "internal-ip": "1.2.0", + "import-local": "^2.0.0", + "internal-ip": "^3.0.1", "ip": "^1.1.5", "killable": "^1.0.0", "loglevel": "^1.4.1", "opn": "^5.1.0", "portfinder": "^1.0.9", + "schema-utils": "^1.0.0", "selfsigned": "^1.9.1", "serve-index": "^1.7.2", "sockjs": "0.3.19", - "sockjs-client": "1.1.5", + "sockjs-client": "1.3.0", "spdy": "^3.4.1", "strip-ansi": "^3.0.0", "supports-color": "^5.1.0", - "webpack-dev-middleware": "3.1.3", - "webpack-log": "^1.1.2", - "yargs": "11.0.0" + "webpack-dev-middleware": "3.4.0", + "webpack-log": "^2.0.0", + "yargs": "12.0.2" }, "dependencies": { "ansi-regex": { @@ -15173,35 +11870,113 @@ } }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" } }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", + "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } }, "string-width": { @@ -15226,33 +12001,34 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" } }, - "url-join": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", - "dev": true - }, "webpack-dev-middleware": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", - "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", + "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", "dev": true, "requires": { - "loud-rejection": "^1.6.0", "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", + "mime": "^2.3.1", "range-parser": "^1.0.3", - "url-join": "^4.0.0", - "webpack-log": "^1.0.1" + "webpack-log": "^2.0.0" + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" } }, "which-module": { @@ -15261,36 +12037,30 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" } }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -15396,19 +12166,6 @@ "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=", "dev": true }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", - "dev": true - }, - "when": { - "version": "3.7.8", - "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", - "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", - "dev": true, - "optional": true - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -15447,13 +12204,6 @@ "dev": true, "optional": true }, - "with-callback": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz", - "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=", - "dev": true, - "optional": true - }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", @@ -15471,7 +12221,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -15485,17 +12235,6 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -15530,11 +12269,10 @@ "dev": true }, "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "dev": true, - "optional": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true }, "xtend": { "version": "4.0.1", @@ -15609,351 +12347,6 @@ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true }, - "yeoman-environment": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.3.tgz", - "integrity": "sha512-HBpXdNw8V66EwqIFt01rNhSgX33BOzgVb9CxpIvESvCI4ELeOSniB6gV6RXwrBur8kmHZCIAkYQYpib7Qxx8FQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "diff": "^3.5.0", - "escape-string-regexp": "^1.0.2", - "globby": "^8.0.1", - "grouped-queue": "^0.3.3", - "inquirer": "^6.0.0", - "is-scoped": "^1.0.0", - "lodash": "^4.17.10", - "log-symbols": "^2.2.0", - "mem-fs": "^1.1.0", - "strip-ansi": "^4.0.0", - "text-table": "^0.2.0", - "untildify": "^3.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inquirer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", - "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.17.10", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "rxjs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.2.tgz", - "integrity": "sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "untildify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", - "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", - "dev": true - } - } - }, - "yeoman-generator": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz", - "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", - "dev": true, - "requires": { - "async": "^2.6.0", - "chalk": "^2.3.0", - "cli-table": "^0.3.1", - "cross-spawn": "^6.0.5", - "dargs": "^5.1.0", - "dateformat": "^3.0.3", - "debug": "^3.1.0", - "detect-conflict": "^1.0.0", - "error": "^7.0.2", - "find-up": "^2.1.0", - "github-username": "^4.0.0", - "istextorbinary": "^2.2.1", - "lodash": "^4.17.10", - "make-dir": "^1.1.0", - "mem-fs-editor": "^4.0.0", - "minimist": "^1.2.0", - "pretty-bytes": "^4.0.2", - "read-chunk": "^2.1.0", - "read-pkg-up": "^3.0.0", - "rimraf": "^2.6.2", - "run-async": "^2.0.0", - "shelljs": "^0.8.0", - "text-table": "^0.2.0", - "through2": "^2.0.0", - "yeoman-environment": "^2.0.5" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", diff --git a/package.json b/package.json index c87c4ba..4c2e8e5 100644 --- a/package.json +++ b/package.json @@ -49,69 +49,69 @@ "devDependencies": { "@types/classnames": "^2.2.5", "@types/core-js": "^2.5.0", - "@types/enzyme": "^3.1.10", - "@types/jasmine": "^2.8.7", - "@types/karma": "^1.7.3", - "@types/react": "^16.4.6", - "@types/react-dom": "^16.0.6", - "@types/webdriverio": "^4.10.3", + "@types/enzyme": "^3.1.15", + "@types/faker": "^4.1.3", + "@types/jasmine": "^2.8.11", + "@types/karma": "^3.0.0", + "@types/react": "^16.7.3", + "@types/react-dom": "^16.0.9", + "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", - "copy-webpack-plugin": "^4.5.2", + "copy-webpack-plugin": "^4.6.0", "core-js": "^2.5.7", - "css-loader": "^1.0.0", - "enzyme": "^3.3.0", - "enzyme-adapter-react-16": "^1.1.1", - "@types/faker": "^4.1.3", + "css-loader": "^1.0.1", + "enzyme": "^3.7.0", + "enzyme-adapter-react-16": "^1.7.0", "extract-text-webpack-plugin": "^4.0.0-beta.0", "fork-ts-checker-webpack-plugin": "^0.4.13", "grunt": "^1.0.3", "grunt-check-dependencies": "^1.0.0", - "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-clean": "^2.0.0", "grunt-contrib-compress": "^1.4.3", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-watch": "^1.1.0", "grunt-file-append": "0.0.7", "grunt-newer": "^1.3.0", - "grunt-webpack": "^3.1.1", + "grunt-webpack": "^3.1.3", "istanbul": "^0.4.3", - "remap-istanbul": "^0.11.1", "istanbul-instrumenter-loader": "^3.0.1", - "jasmine": "^3.1.0", - "karma": "^2.0.3", + "jasmine": "^3.3.0", + "karma": "^3.1.1", "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", - "karma-spec-reporter": "0.0.32", "karma-jasmine": "^1.1.2", "karma-jasmine3-html-reporter": "^0.2.3", "karma-remap-istanbul": "^0.6.0", "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "0.0.32", "karma-webpack": "^3.0.0", - "mendix-client": "^7.15.0", + "mendix-client": "^7.15.3", "mendix-widget-build-script": "^1.0.0-rc2", - "node-sass": "^4.9.2", + "node-sass": "^4.10.0", "npmlog": "^4.1.2", + "pre-commit": "^1.2.2", "raw-loader": "^0.5.1", - "react": "^16.4.1", - "react-dom": "^16.4.1", + "react": "^16.6.1", + "react-dom": "^16.6.1", "react-hot-loader": "^4.3.11", + "remap-istanbul": "^0.12.0", "sass-loader": "^7.0.3", "serviceworker-webpack-plugin": "^1.0.0-alpha02", - "source-map-loader": "^0.2.1", - "style-loader": "^0.21.0", - "ts-loader": "^4.4.2", + "source-map-loader": "^0.2.4", + "style-loader": "^0.23.1", + "ts-loader": "^5.3.0", "tslint": "^5.11.0", - "pre-commit": "^1.2.2", - "tslint-eslint-rules": "^5.3.1", - "typescript": "^3.0.3", - "wdio-dot-reporter": "0.0.9", - "wdio-jasmine-framework": "^0.3.4", + "tslint-eslint-rules": "^5.4.0", + "typescript": "^3.1.6", + "wdio-dot-reporter": "0.0.10", + "wdio-jasmine-framework": "^0.3.7", "wdio-selenium-standalone-service": "0.0.10", "wdio-spec-reporter": "^0.1.3", - "webdriverio": "^4.10.0", - "webpack": "^4.16.5", - "webpack-cli": "^2.1.2", - "webpack-bundle-analyzer": "^2.11.3", - "webpack-dev-server": "^3.1.5", + "webdriverio": "^4.14.0", + "webpack": "^4.25.1", + "webpack-bundle-analyzer": "^3.0.3", + "webpack-cli": "^3.1.2", + "webpack-dev-server": "^3.1.10", "webpack-merge": "^4.1.3", "webworkify-webpack": "^2.1.3" }, diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index a2b9cb0..5ddc0ba 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -1,6 +1,6 @@ import { Component, createElement } from "react"; -import Select , { Async } from "react-select"; import * as classNames from "classnames"; +import Select , { Async } from "react-select"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; @@ -101,7 +101,7 @@ export class DropdownReference extends Component { diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 665860f..12e3098 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -205,9 +205,9 @@ class DropdownReferenceContainer extends Component { minimumCharacter: 1 }; - xit("renders the structure correctly", () => { + it("renders the structure correctly", () => { const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ loaded: true }); expect(DropdownReferenceComponent).toBeElement( createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, - createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, + createElement("div", { className: "widget-dropdown-reference" }, createElement(Select, { clearable: true, - noResultsText: "No options", + noResultsText: "", disabled: false, value: { value: "Kampala" , label: "kampalaId" }, onChange: jasmine.any(Function) as any, clearValueText: "", - options: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ] + options: [ { value: "Kampala" , label: "kampalaId" } ], + onInputChange: jasmine.any(Function) as any }), createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) ) ); }); - xit("with no label caption renders the structure correctly", () => { + it("with no label caption renders the structure correctly", () => { const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ loaded: true }); DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); expect(DropdownReferenceComponent).toBeElement( - createElement("div", { className: "widget-dropdown-type-ahead-wrapper" }, + createElement("div", { className: "widget-dropdown-reference" }, createElement(Select, { clearable: true, - noResultsText: "No options", + noResultsText: "", disabled: false, value: { value: "Kampala" , label: "kampalaId" }, onChange: jasmine.any(Function) as any, clearValueText: "", - options: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ] + options: [ { value: "Kampala" , label: "kampalaId" } ], + onInputChange: jasmine.any(Function) as any }), createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) ); }); - xit("that is still loading renders with the structure", () => { + it("that is still loading renders with the structure", () => { const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ loaded: false }); - DropdownReferenceComponent.setProps({ loaded: true }); - expect(DropdownReferenceComponent).toBeElement(createElement("div", {})); + expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); }); describe("with readOnlyStyle as 'text'", () => { - xit("renders with the structure with a selected value", () => { + it("renders with the structure with a selected value", () => { const DropdownReferenceComponent = render(ReferenceProps); DropdownReferenceComponent.setProps({ readOnlyStyle: "text" }); - expect(DropdownReferenceComponent).toBeElement( - createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, - createElement("p", { className: "form-control-static" }, "kampalaId")) - ); + // tslint:disable-next-line:no-console + console.log(DropdownReferenceComponent.html()); + + expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); }); - xit("renders with the structure with a no value", () => { + it("renders with the structure with a no value", () => { const DropdownReferenceComponent = render(ReferenceProps); DropdownReferenceComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); - expect(DropdownReferenceComponent).toBeElement( - createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, - createElement("p", { className: "form-control-static" }, "")) - ); + expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); }); }); }); diff --git a/src/SharedResources/components/__tests__/Label.spec.ts b/src/SharedResources/components/__tests__/Label.spec.ts index 8d7dff3..98a98de 100644 --- a/src/SharedResources/components/__tests__/Label.spec.ts +++ b/src/SharedResources/components/__tests__/Label.spec.ts @@ -12,7 +12,7 @@ describe("Label", () => { expect(labelComponent).toBeElement( createElement("div", { className: "form-group" }, - createElement("label", { className: "control-label col-sm-6" }, label), + createElement("label", { className: "control-label col-sm-3" }, label), createElement("div", { className: `col-sm-6` }) ) ); diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index a004334..1bcf055 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -109,6 +109,7 @@ export const fetchByXPath = (options: FetchByXPathOptions): Promise const xpath = `//${entityName}${constraint.split("[%CurrentObject%]").join(guid)}`; window.mx.data.get({ + xpath, callback: resolve, error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), filter: { @@ -116,8 +117,7 @@ export const fetchByXPath = (options: FetchByXPathOptions): Promise offset: 0, references, sort: createSortProps(sortAttributes) - }, - xpath + } }); }); From 86c61806a33cfeb0372d658dc02b4a45e5204a49 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Fri, 16 Nov 2018 13:18:11 +0300 Subject: [PATCH 72/89] Refactor code --- package-lock.json | 136 ++++++++------ package.json | 6 +- .../DropdownReference.webmodeler.ts | 10 +- .../components/DropdownReference.ts | 101 ++++------ .../components/DropdownReferenceContainer.ts | 66 ++++--- .../__tests__/DropdownReference.spec.ts | 174 +++++++++--------- .../DropdownReferenceSet.webmodeler.ts | 1 - .../components/DropdownReferenceSet.ts | 82 +++------ .../DropdownReferenceSetContainer.ts | 35 ++-- webpack.config.js | 4 +- 10 files changed, 295 insertions(+), 320 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca0eda5..04bf085 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "dependencies": { "@types/big.js": { "version": "0.0.31", - "resolved": "http://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", + "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", "integrity": "sha1-9lMMemn5j68hjYmS395+SyW/fMk=", "dev": true }, @@ -82,12 +82,14 @@ "@types/prop-types": { "version": "15.5.6", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.6.tgz", - "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==" + "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==", + "dev": true }, "@types/react": { "version": "16.7.3", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.3.tgz", "integrity": "sha512-ve/2lnXuLNaTDR1SPvsEX25m+NoNW3PMJxL2jd372UR8oJPwR5+jgtcheUoN27O+qKLFmQy0y0YKRwZcwtny3w==", + "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" @@ -104,9 +106,10 @@ } }, "@types/react-select": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.3.0.tgz", - "integrity": "sha512-a9XMXDxYTCTFAHGdQ86hWlhdFWtcXCRGN3iXONB7w1vNcO9+J4CvAUsYgWNekIcMMNvpKK/dIrsVaTLSERnwig==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/react-select/-/react-select-1.3.4.tgz", + "integrity": "sha512-0BwjswNzKBszG5O4xq72W54NrrbmOZvJfaM/Dwru3F6DhvFO9nihMP1IRzXSOJ1qGRCS3VCu9FnBYJ+25lSldw==", + "dev": true, "requires": { "@types/react": "*" } @@ -410,7 +413,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, @@ -645,7 +648,7 @@ }, "util": { "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -1196,7 +1199,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -1233,7 +1236,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -1341,7 +1344,7 @@ }, "cacache": { "version": "10.0.4", - "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { @@ -1708,7 +1711,7 @@ }, "colors": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", "dev": true }, @@ -1998,7 +2001,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -2011,7 +2014,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -2120,7 +2123,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -2162,7 +2165,8 @@ "csstype": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz", - "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==" + "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==", + "dev": true }, "currently-unhandled": { "version": "0.4.1", @@ -2388,7 +2392,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -2472,7 +2476,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -2524,7 +2528,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -2570,7 +2574,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true } @@ -2615,7 +2619,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -3039,7 +3043,7 @@ }, "events": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, @@ -3241,7 +3245,7 @@ "dependencies": { "finalhandler": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -3297,7 +3301,7 @@ }, "external-editor": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { @@ -3793,14 +3797,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3820,8 +3822,7 @@ "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", @@ -3969,7 +3970,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4353,7 +4353,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -4888,7 +4888,7 @@ }, "handle-thing": { "version": "1.2.5", - "resolved": "http://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", "dev": true }, @@ -5190,7 +5190,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -5219,7 +5219,7 @@ }, "http-proxy-middleware": { "version": "0.18.0", - "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { @@ -6845,7 +6845,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, @@ -7336,7 +7336,7 @@ "dependencies": { "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -7587,7 +7587,7 @@ }, "npm-install-package": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=", "dev": true }, @@ -7862,7 +7862,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -7905,7 +7905,7 @@ }, "p-is-promise": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", "dev": true }, @@ -7958,7 +7958,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -8166,7 +8166,7 @@ }, "kind-of": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", "dev": true } @@ -8185,7 +8185,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -8610,27 +8610,51 @@ } }, "react": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.6.1.tgz", - "integrity": "sha512-OtawJThYlvRgm9BXK+xTL7BIlDx8vv21j+fbQDjRRUyok6y7NyjlweGorielTahLZHYIdKUoK2Dp9ByVWuMqxw==", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", + "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.11.0" + "scheduler": "^0.11.2" + }, + "dependencies": { + "scheduler": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", + "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } } }, "react-dom": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.1.tgz", - "integrity": "sha512-zm+wBuEMGm009Wt1uE4Zw5KcXOW7qC4E/xW/fpJsCsbOco4U/R84u+DzzO/S4SYSdNBcqcaulcp4w3FXl8pImw==", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz", + "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.11.0" + "scheduler": "^0.11.2" + }, + "dependencies": { + "scheduler": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", + "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", + "dev": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } } }, "react-fastclick": { @@ -8827,7 +8851,7 @@ }, "regjsgen": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", "dev": true }, @@ -8842,7 +8866,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } @@ -8896,7 +8920,7 @@ }, "through2": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", "dev": true, "requires": { @@ -9584,7 +9608,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -10261,7 +10285,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -10370,7 +10394,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -12221,7 +12245,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { diff --git a/package.json b/package.json index 4c2e8e5..4950ef0 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@types/jasmine": "^2.8.11", "@types/karma": "^3.0.0", "@types/react": "^16.7.3", + "@types/react-select": "^1.3.0", "@types/react-dom": "^16.0.9", "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", @@ -91,8 +92,8 @@ "npmlog": "^4.1.2", "pre-commit": "^1.2.2", "raw-loader": "^0.5.1", - "react": "^16.6.1", - "react-dom": "^16.6.1", + "react": "^16.6.3", + "react-dom": "^16.6.3", "react-hot-loader": "^4.3.11", "remap-istanbul": "^0.12.0", "sass-loader": "^7.0.3", @@ -116,7 +117,6 @@ "webworkify-webpack": "^2.1.3" }, "dependencies": { - "@types/react-select": "^1.3.0", "classnames": "^2.2.6", "react-fastclick": "^3.0.2", "react-select": "^1.3.0" diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 5b77b79..bebdd9c 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -36,8 +36,8 @@ export class preview extends Component { loadingText: this.props.loadingText, minimumCharacter: this.props.minimumCharacter, showLabel: this.props.showLabel, - styleObject: parseStyle(this.props.style), - loaded: true + styleObject: parseStyle(this.props.style) + // loaded: true }); } @@ -79,9 +79,9 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.labelCaption = true; } - if (valueMap.selectType !== "asynchronous") { - visibilityMap.searchAttribute = false; - } + // if (valueMap.selectType !== "asynchronous") { + // visibilityMap.searchAttribute = false; + // } return visibilityMap; } diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 5ddc0ba..7a16590 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -1,6 +1,6 @@ import { Component, createElement } from "react"; import * as classNames from "classnames"; -import Select , { Async } from "react-select"; +import Select, { Async, LoadOptionsHandler } from "react-select"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; @@ -11,25 +11,24 @@ import "../../SharedResources/ui/Dropdown.scss"; export interface DropdownReferenceProps { styleObject?: object; labelWidth: number; - data?: ReferenceOption[]; - asyncData?: any; + data: ReferenceOption[]; + asyncData: LoadOptionsHandler<{}>; value?: string; labelCaption: string; - loaded: boolean; showLabel: boolean; emptyOptionCaption: string; isClearable: boolean; isReadOnly: boolean; - selectType: "normal" | "asynchronous"; - selectedValue: ReferenceOption | null; - handleOnchange?: (selectedOption: ReferenceOption | any) => void; + selectedValue: ReferenceOption; className?: string; - readOnlyStyle: "control" | "text"; - labelOrientation: "horizontal" | "vertical"; alertMessage: string; searchText: string; loadingText: string; minimumCharacter: number; + labelOrientation: "horizontal" | "vertical"; + readOnlyStyle: "control" | "text"; + selectType: "normal" | "asynchronous"; + handleOnchange?: (selectedOption: any) => void; } export interface ReferenceOption { @@ -37,79 +36,57 @@ export interface ReferenceOption { label?: string; } -interface DropdownReferenceState { - showOptions: boolean; -} - -export class DropdownReference extends Component { - readonly state: DropdownReferenceState = { - showOptions: false - }; +export class DropdownReference extends Component { render() { - return this.props.loaded ? - this.props.showLabel ? - createElement(Label, { - className: this.props.className, - label: this.props.labelCaption, - orientation: this.props.labelOrientation, - style: this.props.styleObject, - weight: this.props.labelWidth - }, this.renderSelector()) : - this.renderSelector() : - createElement("div", { className: "loading-data" }); + return this.props.showLabel + ? createElement(Label, { + className: this.props.className, + label: this.props.labelCaption, + orientation: this.props.labelOrientation, + style: this.props.styleObject, + weight: this.props.labelWidth + }, this.renderSelector()) + : this.renderSelector(); } private renderSelector() { - const commonProps: object = { + const commonProps = { clearable: this.props.isClearable, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, - onInputChange: (input: string) => this.onInputChange(input), - clearValueText: "", - ...this.createSelectorProp() as object + ...this.createSelectorProp() }; if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { - return createElement("div", { - className: "widget-dropdown-reference" - }, - this.props.selectType === "normal" ? - createElement(Select, { - options: this.state.showOptions ? this.props.data : [ this.props.selectedValue ? this.props.selectedValue : {} ], - noResultsText: "", - ...commonProps }) : - createElement(Async, { - valueKey : "value", - labelKey : "label", - autoFocus: true, - autoload: false, - loadOptions: (input: string) => this.props.asyncData(input), - ...commonProps }), - createElement(Alert, { - className: "widget-dropdown-reference-alert" - }, this.props.alertMessage) - ); + return createElement("div", { + className: "widget-dropdown-reference" + }, + this.props.selectType === "normal" + ? createElement(Select, { + options: this.props.data, + ...commonProps + }) + : createElement(Async, { + searchPromptText: this.props.minimumCharacter > 0 + ? `Type more than ${this.props.minimumCharacter} characters to search` + : "Type to search", + loadOptions: this.props.asyncData, + ...commonProps + }), + createElement(Alert, { className: "widget-dropdown-reference-alert" }, this.props.alertMessage) + ); } else { return createElement("p", { className: classNames("form-control-static", "read-only-text") }, this.props.selectedValue ? this.props.selectedValue.label : ""); } } - private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { + private createSelectorProp(): { placeholder?: string, value?: object } { if (this.props.selectedValue) { return { value: this.props.selectedValue }; } - return { value: null, placeholder: this.props.emptyOptionCaption }; - } - - private onInputChange = (newValue: string) => { - let showOptions = false; - if (newValue.length >= this.props.minimumCharacter) { - showOptions = true; - } - - this.setState({ showOptions }); + return { placeholder: this.props.emptyOptionCaption }; } } diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 12e3098..3377731 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -32,21 +32,20 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceProps { } export interface ContainerState { + isClearable: boolean; options: ReferenceOption[]; - selectedObject: ReferenceOption | null; - loaded: boolean; + selectedObject: any; } class DropdownReferenceContainer extends Component { readonly state: ContainerState = { options: [], - loaded: true, + isClearable: this.props.isClearable ? true : false, selectedObject: {} }; private subscriptionHandles: number[] = []; private association: string = this.props.entityPath.split("/")[0]; - private readonly handleOnClick: (selectedOption: ReferenceOption | any) => void = this.onChange.bind(this); render() { return createElement(DropdownReference, { @@ -55,11 +54,10 @@ class DropdownReferenceContainer extends Component { - new Promise((resolve) => props.mxObject.fetch(props.entityPath, resolve)) + new Promise(resolve => props.mxObject.fetch(props.entityPath, resolve)) .then((newValue: any) => { if (newValue) { this.setState({ + isClearable: this.props.isClearable ? true : false, selectedObject: { value: newValue.getGuid(), label: mx.parser.formatAttribute(newValue, props.attribute) } }); + } else { + this.setState({ + isClearable: false, + selectedObject: { + value: "", + label: "" + } + }); } }); } @@ -148,25 +152,21 @@ class DropdownReferenceContainer extends Component { + if (this.props.mxObject) { - let selected = ""; - - if (!recentSelection) { - selected = ""; - this.props.mxObject.set(this.association, selected); - } else { - selected = recentSelection.value; - this.props.mxObject.set(this.association, selected); - if (!this.state.selectedObject || (this.state.selectedObject.value !== recentSelection.value)) { - this.executeOnChangeEvent(); + if (!selection) { + const references = this.props.mxObject.getReferences(this.association); + this.props.mxObject.removeReferences(this.association, references); + } else { + this.props.mxObject.set(this.association, selection.value); + if (!this.state.selectedObject || (this.state.selectedObject.value !== selection.value)) { + this.executeOnChangeEvent(); + } } } - this.setState({ selectedObject: recentSelection ? recentSelection : null }); + this.setState({ selectedObject: selection ? selection : null }); } private executeOnChangeEvent = () => { @@ -227,13 +227,11 @@ class DropdownReferenceContainer extends Component => { - if (!this.props.mxObject) { - return Promise.resolve({ options: [] }); - } else { + if (this.props.mxObject) { this.props.mxObject.set(this.props.searchAttribute, input); if (input.length >= this.props.minimumCharacter) { this.retrieveOptions(this.props); @@ -242,9 +240,9 @@ class DropdownReferenceContainer extends Component { - const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); - const ReferenceProps: DropdownReferenceProps = { - emptyOptionCaption: "Select city", - labelWidth: 3, - data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], - value: "Kampala", - labelCaption: "City", - loaded: false, - showLabel: true, - isClearable: true, - isReadOnly: false, - selectType: "normal", - selectedValue: { value: "Kampala" , label: "kampalaId" } || null, - handleOnchange: jasmine.createSpy("onClick"), - readOnlyStyle: "control", - labelOrientation: "horizontal", - alertMessage: "No text", - searchText: "search", - loadingText: "loading", - minimumCharacter: 1 - }; +// describe("DropdownReference", () => { +// const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); +// const ReferenceProps: DropdownReferenceProps = { +// emptyOptionCaption: "Select city", +// labelWidth: 3, +// data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], +// value: "Kampala", +// labelCaption: "City", +// loaded: false, +// showLabel: true, +// isClearable: true, +// isReadOnly: false, +// selectType: "normal", +// selectedValue: { value: "Kampala" , label: "kampalaId" } || null, +// handleOnchange: jasmine.createSpy("onClick"), +// readOnlyStyle: "control", +// labelOrientation: "horizontal", +// alertMessage: "No text", +// searchText: "search", +// loadingText: "loading", +// minimumCharacter: 1 +// }; - it("renders the structure correctly", () => { - const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ loaded: true }); +// it("renders the structure correctly", () => { +// const DropdownReferenceComponent = render(ReferenceProps); +// DropdownReferenceComponent.setProps({ loaded: true }); - expect(DropdownReferenceComponent).toBeElement( - createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, - createElement("div", { className: "widget-dropdown-reference" }, - createElement(Select, { - clearable: true, - noResultsText: "", - disabled: false, - value: { value: "Kampala" , label: "kampalaId" }, - onChange: jasmine.any(Function) as any, - clearValueText: "", - options: [ { value: "Kampala" , label: "kampalaId" } ], - onInputChange: jasmine.any(Function) as any - }), - createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) - ) - ); - }); +// expect(DropdownReferenceComponent).toBeElement( +// createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, +// createElement("div", { className: "widget-dropdown-reference" }, +// createElement(Select, { +// clearable: true, +// noResultsText: "", +// disabled: false, +// value: { value: "Kampala" , label: "kampalaId" }, +// onChange: jasmine.any(Function) as any, +// clearValueText: "", +// options: [ { value: "Kampala" , label: "kampalaId" } ], +// onInputChange: jasmine.any(Function) as any +// }), +// createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) +// ) +// ); +// }); - it("with no label caption renders the structure correctly", () => { - const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ loaded: true }); +// it("with no label caption renders the structure correctly", () => { +// const DropdownReferenceComponent = render(ReferenceProps); +// DropdownReferenceComponent.setProps({ loaded: true }); - DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); - expect(DropdownReferenceComponent).toBeElement( - createElement("div", { className: "widget-dropdown-reference" }, - createElement(Select, { - clearable: true, - noResultsText: "", - disabled: false, - value: { value: "Kampala" , label: "kampalaId" }, - onChange: jasmine.any(Function) as any, - clearValueText: "", - options: [ { value: "Kampala" , label: "kampalaId" } ], - onInputChange: jasmine.any(Function) as any - }), - createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) - ); - }); +// DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); +// expect(DropdownReferenceComponent).toBeElement( +// createElement("div", { className: "widget-dropdown-reference" }, +// createElement(Select, { +// clearable: true, +// noResultsText: "", +// disabled: false, +// value: { value: "Kampala" , label: "kampalaId" }, +// onChange: jasmine.any(Function) as any, +// clearValueText: "", +// options: [ { value: "Kampala" , label: "kampalaId" } ], +// onInputChange: jasmine.any(Function) as any +// }), +// createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) +// ); +// }); - it("that is still loading renders with the structure", () => { - const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ loaded: false }); +// it("that is still loading renders with the structure", () => { +// const DropdownReferenceComponent = render(ReferenceProps); +// DropdownReferenceComponent.setProps({ loaded: false }); - expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); - }); +// expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); +// }); - describe("with readOnlyStyle as 'text'", () => { - it("renders with the structure with a selected value", () => { - const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ readOnlyStyle: "text" }); +// describe("with readOnlyStyle as 'text'", () => { +// it("renders with the structure with a selected value", () => { +// const DropdownReferenceComponent = render(ReferenceProps); +// DropdownReferenceComponent.setProps({ readOnlyStyle: "text" }); - // tslint:disable-next-line:no-console - console.log(DropdownReferenceComponent.html()); +// // tslint:disable-next-line:no-console +// console.log(DropdownReferenceComponent.html()); - expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); - }); +// expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); +// }); - it("renders with the structure with a no value", () => { - const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); +// it("renders with the structure with a no value", () => { +// const DropdownReferenceComponent = render(ReferenceProps); +// DropdownReferenceComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); - expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); - }); - }); -}); +// expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); +// }); +// }); +// }); diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index 9c761a7..ca672aa 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -34,7 +34,6 @@ export class preview extends Component { selectedValue, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style), - loaded: true, searchText: this.props.searchText, loadingText: this.props.loadingText, minimumCharacter: this.props.minimumCharacter diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 04cbe2a..0a42c9d 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -14,7 +14,6 @@ export interface DropdownReferenceSetProps { data?: ReferenceOption[]; asyncData?: any; labelCaption: string; - loaded: boolean; showLabel: boolean; emptyOptionCaption: string; isClearable: boolean; @@ -36,42 +35,30 @@ export interface ReferenceOption { label?: string; } -interface DropdownReferenceSetState { - showOptions: boolean; - selectedData: {}[]; -} - export class DropdownReferenceSet extends Component { - readonly state: DropdownReferenceSetState = { - showOptions: false, - selectedData: [] - }; render() { - return this.props.loaded ? - this.props.showLabel ? - createElement(Label, { - className: this.props.className, - label: this.props.labelCaption, - orientation: this.props.labelOrientation, - style: this.props.styleObject, - weight: this.props.labelWidth - }, this.renderSelector()) : - this.renderSelector() : - createElement("div", { className: "loading-data" }); + return this.props.showLabel + ? createElement(Label, { + className: this.props.className, + label: this.props.labelCaption, + orientation: this.props.labelOrientation, + style: this.props.styleObject, + weight: this.props.labelWidth + }, this.renderSelector()) + : this.renderSelector(); } private renderSelector() { - const commonProps: object = { + const commonProps = { clearable: this.props.isClearable, + closeOnSelect: false, multi: true, removeSelected: true, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, searchPromptText: this.props.searchText, - onInputChange: (input: string) => this.onInputChange(input), - clearValueText: "", - ...this.createSelectorProp() as object + ...this.createSelectorProp() }; if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { @@ -88,66 +75,53 @@ export class DropdownReferenceSet extends Component { value: this.processOptions() }) : createElement(Select, { - options: this.state.showOptions ? this.props.data : this.state.selectedData, + options: this.props.data, noResultsText: "", ...commonProps }) : createElement(Async, { - valueKey: "value", - labelKey: "label", - autoload: false, - autoFocus: true, - loadingPlaceholder: this.props.loadingText, - loadOptions: (input: string) => this.props.asyncData(input), + searchPromptText: this.props.minimumCharacter > 0 + ? `Type more than ${this.props.minimumCharacter} characters to search` + : "Type to search", + loadOptions: this.props.asyncData, ...commonProps }), - createElement(Alert, { - className: "widget-dropdown-reference-set-alert" - }, this.props.alertMessage) + createElement(Alert, { className: "widget-dropdown-reference-set-alert" }, this.props.alertMessage) ); } else { return createElement("p", { className: classNames("form-control-static", "read-only-text") }, - this.processOptions()); + this.processOptions() + ); } - } - private createSelectorProp(): { placeholder?: string, value?: ReferenceOption | null } { + private createSelectorProp(): { placeholder?: string, value?: any } { if (this.props.selectedValue.length > 0) { return { value: this.props.selectedValue }; } - return { value: null, placeholder: this.props.emptyOptionCaption }; + return { placeholder: this.props.emptyOptionCaption }; } private processOptions() { let selectedLabel = ""; - let formatedOptions = []; + let formatedOptions = [] as any; if (this.props.selectedValue.length > 0) { - formatedOptions = this.props.selectedValue.map((selectedGuid: string) => { - if (this.props.data) { - this.props.data.forEach((dataObject: any) => { + formatedOptions = this.props.selectedValue.map((selectedGuid: any) => { + if (this.props.selectedValue) { + this.props.selectedValue.forEach((dataObject: any) => { const value = dataObject.value; - if (value === selectedGuid) { + if (value === selectedGuid.value) { selectedLabel = dataObject.label; } }); } - return selectedLabel || undefined; + return selectedLabel; }); } return formatedOptions.join(", "); } - - private onInputChange = (newValue: string) => { - let showOptions = false; - if (newValue.length >= this.props.minimumCharacter) { - showOptions = true; - } - - this.setState({ showOptions, selectedData: this.props.selectedValue }); - } } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 7af23be..cf5ba86 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -32,16 +32,16 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceSetProps } export interface ContainerState { + isClearable: boolean; options: ReferenceOption[]; selected: any; - loaded: boolean; } class DropdownReferenceSetContainer extends Component { readonly state: ContainerState = { + isClearable: this.props.isClearable ? true : false, options: [], - selected: [], - loaded: true + selected: [] }; private subscriptionHandles: number[] = []; @@ -59,7 +59,6 @@ class DropdownReferenceSetContainer extends Component { - new Promise((resolve) => props.mxObject.fetch(props.entityPath, resolve)) + new Promise(resolve => props.mxObject.fetch(props.entityPath, resolve)) .then((values: any) => { if (values) { const newSelectedObject = values.map((mxObject: mendix.lib.MxObject) => { @@ -174,6 +171,14 @@ class DropdownReferenceSetContainer extends Component => { - if (!this.props.mxObject) { - return Promise.resolve({ options: [] }); - } else { + if (this.props.mxObject) { this.props.mxObject.set(this.props.searchAttribute, input); if (input.length >= this.props.minimumCharacter) { this.retrieveOptions(this.props); @@ -249,9 +252,9 @@ class DropdownReferenceSetContainer extends Component npm config set google-maps:mendixhost http://host:port"); + + "> npm config set " + packageName + ":mendixhost http://host:port"); } else { res.end("Error connecting to Mendix server" + "\n " + JSON.stringify(err, null, 2)); From 8b702609f1e95a39c3ae462fbdbe6bf2317e5c12 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Fri, 16 Nov 2018 16:50:06 +0300 Subject: [PATCH 73/89] Fix dropdown in in pop up --- .../components/DropdownReference.ts | 35 +++- .../components/DropdownReferenceSet.ts | 34 +++- src/SharedResources/ui/Dropdown.scss | 156 +----------------- 3 files changed, 72 insertions(+), 153 deletions(-) diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 7a16590..88f25ee 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -37,7 +37,6 @@ export interface ReferenceOption { } export class DropdownReference extends Component { - render() { return this.props.showLabel ? createElement(Label, { @@ -50,6 +49,23 @@ export class DropdownReference extends Component { : this.renderSelector(); } + componentDidMount() { + const scrollContainer = document.querySelector(".region-content .mx-scrollcontainer-wrapper"); + if (scrollContainer) { + const dropdown = document.getElementsByClassName("Select-menu-outer"); + scrollContainer.addEventListener("scroll", () => { + // document.querySelectorAll(".Select.is-focused")[0] + // ? document.querySelectorAll(".Select.is-focused")[0].classList.remove("Select", "is-open", "is-focused") + // : window.logger.warn("Dropdown not available"); + dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); + const activeElement = document.activeElement; + if (activeElement) { + (activeElement as any).blur(); + } + }); + } + } + private renderSelector() { const commonProps = { clearable: this.props.isClearable, @@ -60,7 +76,8 @@ export class DropdownReference extends Component { if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { return createElement("div", { - className: "widget-dropdown-reference" + className: "widget-dropdown-reference", + onClick: this.setDropdownSize }, this.props.selectType === "normal" ? createElement(Select, { @@ -82,6 +99,20 @@ export class DropdownReference extends Component { } } + private setDropdownSize = () => { + const dropdown = document.getElementsByClassName("Select-menu-outer"); + if ((dropdown[0] as HTMLElement).style.visibility !== "visible") { + const dropdownDimensions = dropdown[0].getBoundingClientRect(); + if (dropdown && dropdown.length && dropdownDimensions) { + (dropdown[0] as HTMLElement).style.width = dropdownDimensions.width - .08 + "px"; + (dropdown[0] as HTMLElement).style.left = dropdownDimensions.left + "px"; + (dropdown[0] as HTMLElement).style.top = dropdownDimensions.top + "px"; + (dropdown[0] as HTMLElement).style.visibility = "visible"; + (dropdown[0] as HTMLElement).style.position = "fixed"; + } + } + } + private createSelectorProp(): { placeholder?: string, value?: object } { if (this.props.selectedValue) { return { value: this.props.selectedValue }; diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 0a42c9d..34ca9c4 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -49,6 +49,23 @@ export class DropdownReferenceSet extends Component { : this.renderSelector(); } + componentDidMount() { + const scrollContainer = document.querySelector(".region-content .mx-scrollcontainer-wrapper"); + if (scrollContainer) { + const dropdown = document.getElementsByClassName("Select-menu-outer"); + scrollContainer.addEventListener("scroll", () => { + // document.querySelectorAll(".Select.is-focused")[0] + // ? document.querySelectorAll(".Select.is-focused")[0].classList.remove("Select", "is-open", "is-focused") + // : window.logger.warn("Dropdown not available"); + dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); + const activeElement = document.activeElement; + if (activeElement) { + (activeElement as any).blur(); + } + }); + } + } + private renderSelector() { const commonProps = { clearable: this.props.isClearable, @@ -63,7 +80,8 @@ export class DropdownReferenceSet extends Component { if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { return createElement("div", { - className: classNames("widget-dropdown-reference-set") + className: classNames("widget-dropdown-reference-set"), + onClick: this.setDropdownSize }, this.props.selectType === "normal" ? this.props.isReadOnly ? @@ -95,6 +113,20 @@ export class DropdownReferenceSet extends Component { } } + private setDropdownSize = () => { + const dropdown = document.getElementsByClassName("Select-menu-outer"); + if ((dropdown[0] as HTMLElement).style.visibility !== "visible") { + const dropdownDimensions = dropdown[0].getBoundingClientRect(); + if (dropdown && dropdown.length && dropdownDimensions) { + (dropdown[0] as HTMLElement).style.width = dropdownDimensions.width - .08 + "px"; + (dropdown[0] as HTMLElement).style.left = dropdownDimensions.left + "px"; + (dropdown[0] as HTMLElement).style.top = dropdownDimensions.top + "px"; + (dropdown[0] as HTMLElement).style.visibility = "visible"; + (dropdown[0] as HTMLElement).style.position = "fixed"; + } + } + } + private createSelectorProp(): { placeholder?: string, value?: any } { if (this.props.selectedValue.length > 0) { return { value: this.props.selectedValue }; diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index 0804e9e..e14d980 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,81 +1,26 @@ .widget-dropdown-reference { - height: 37.2px; - display: initial; - - .Select.has-value.is-clearable.is-searchable.Select--single { - .Select-control:focus { - border-color: #0595DB; - box-shadow: unset; - background: #fff; - } - } + overflow: hidden; .Select.is-focused:not(.is-open) > .Select-control { border-color: #0595DB; box-shadow: unset; } - .Select { - display: -webkit-box; - } - .Select.has-value.is-focused.is-open > .Select-control { border-color: #0595DB; box-shadow: unset; } - .Select-clear-zone { - padding-top: 5px; - } - - .Select-clear-zone:hover { - color: inherit; - } - .Select-menu-outer { + visibility: hidden; + top: auto; border-color: #0595DB; box-shadow: none; } - - .Select.is-focused > .Select-control { - border-color: #0595DB; - } - - .Select-option.is-selected { - background-color: #fff; - } - - .Select-option.is-focused { - color: #fff; - background-color: #0595DB ; - } - - .Select-option { - display: default; - padding: 6px 10px; - } - - [class*="is-disabled"] { - background-color: #eee; - opacity: 1; - - :hover { cursor: not-allowed; } - } - - .Select.is-disabled > .Select-control { - background-color: inherit; - opacity: 0.9; - } - - .widget-dropdown-reference-alert { - margin-top: 4px; - margin-bottom: 4px; - } } .widget-dropdown-reference-set { - height: 37.2px; - display: initial; + overflow: hidden; .Select.is-focused:not(.is-open) > .Select-control { border-color: #0595DB; @@ -88,99 +33,10 @@ background: #fff; } - .Select { - display: -webkit-box; - } - - .Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB; - box-shadow: unset; - } - - .Select-clear-zone { - padding-top: 5px; - } - - .Select-clear-zone:hover { - color: inherit; - } - .Select-menu-outer { + visibility: hidden; + top: auto; border-color: #0595DB; box-shadow: none; } - - .Select.is-focused > .Select-control { - border-color: #0595DB; - } - - .Select-option.is-selected { - background-color: #fff; - } - - .Select-option.is-focused { - color: #fff; - background-color: #0595DB; - } - - .Select-option { - display: default; - padding: 6px 10px; - } - - [class*="is-disabled"] { - background-color: #eee; - opacity: 1; - - :hover { cursor: not-allowed; } - } - - .Select.is-disabled > .Select-control { - background-color: inherit; - opacity: 0.9; - } - - .widget-dropdown-reference-set-alert { - margin-top: 4px; - margin-bottom: 4px; - } - - .Select--multi.is-disabled .Select-value { - background-color: inherit; - border: 0px; - font-size: 14px; - color:inherit; - - .Select-value-label { - padding: unset; - } - } - - .Select--multi .Select-value { - background-color: unset; - } - } - - .read-only-text { - height: 37.2px; - } - - .loading-data { - border: 10px dotted white; - border-radius: 50%; - border-top: 9px solid black; - width: 70px; - height: 70px; - -webkit-animation: spin 2s linear infinite; - animation: spin 2s linear infinite; -} - -@keyframes spin { - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } } From 3724fe6af2729649c80f803f59d9efd140bb9454 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Mon, 19 Nov 2018 10:35:28 +0300 Subject: [PATCH 74/89] Simplify css --- Gruntfile.js | 2 +- package-lock.json | 430 +++++++++++++----- package.json | 14 +- .../DropdownReference.webmodeler.ts | 9 +- .../components/DropdownReference.ts | 3 - .../DropdownReferenceSet.webmodeler.ts | 2 +- .../components/DropdownReferenceSet.ts | 5 +- .../DropdownReferenceSetContainer.ts | 2 +- src/SharedResources/ui/Dropdown.scss | 26 +- src/SharedResources/utils/Data.ts | 6 +- tests/e2e/DropdownReference.spec.ts | 2 +- tests/e2e/DropdownReferenceSet.spec.ts | 2 +- tests/e2e/wdio.conf.js | 10 +- 13 files changed, 343 insertions(+), 170 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 357ad8f..36c3aac 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -16,7 +16,7 @@ webpackConfigRelease[0].plugins.push(new ExtractTextPlugin({ })); webpackConfigRelease[0].module.rules[1] = { - test: /\.css$/, loader: ExtractTextPlugin.extract({ + test: /\.s?css$/, loader: ExtractTextPlugin.extract({ fallback: "style-loader", use: [ "css-loader", "sass-loader" ] }) diff --git a/package-lock.json b/package-lock.json index 04bf085..b9bf997 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,9 +57,9 @@ "dev": true }, "@types/jasmine": { - "version": "2.8.11", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.11.tgz", - "integrity": "sha512-ITPYT5rkV9S0BcucyBwXIUzqzSODVhvAzhOGV0bwZMuqWJeU0Kfdd6IJeJjGI8Gob+lDyAtKaWUfhG6QXJIPRg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.0.tgz", + "integrity": "sha512-0VU8WsYEOYmoxVtUuafB66/+9G8gMdGAC3dhCE/CMpjXgNIz9fwC6g41kRlNxFgpQI/uX/aWNLArNg7KmeFYvw==", "dev": true }, "@types/karma": { @@ -86,9 +86,9 @@ "dev": true }, "@types/react": { - "version": "16.7.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.3.tgz", - "integrity": "sha512-ve/2lnXuLNaTDR1SPvsEX25m+NoNW3PMJxL2jd372UR8oJPwR5+jgtcheUoN27O+qKLFmQy0y0YKRwZcwtny3w==", + "version": "16.7.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.6.tgz", + "integrity": "sha512-QBUfzftr/8eg/q3ZRgf/GaDP6rTYc7ZNem+g4oZM38C9vXyV8AWRWaTQuW5yCoZTsfHrN7b3DeEiUnqH9SrnpA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -3452,6 +3452,12 @@ "integrity": "sha512-cAcOHOTbTMlcpNZvr94BNFsnBDBiEu9JP5MYcRLyl12HF/X0z3KvZyNzU9+BtI8lOIaV84PlDQJOKK3f5llJug==", "dev": true }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -6253,10 +6259,13 @@ } }, "karma-jasmine": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", - "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", + "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==", + "dev": true, + "requires": { + "jasmine-core": "^3.3" + } }, "karma-jasmine3-html-reporter": { "version": "0.2.3", @@ -6265,6 +6274,14 @@ "dev": true, "requires": { "karma-jasmine": "^1.0.2" + }, + "dependencies": { + "karma-jasmine": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", + "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", + "dev": true + } } }, "karma-remap-istanbul": { @@ -8388,9 +8405,9 @@ "dev": true }, "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", + "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", "dev": true }, "promise-inflight": { @@ -9309,36 +9326,36 @@ "dev": true }, "selenium-standalone": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/selenium-standalone/-/selenium-standalone-6.15.1.tgz", - "integrity": "sha512-2VXqkcpd+RNJZwCp8UMmqubeSkLvscraRZtg2qdkXwoNNmx5Hu6uaOBy45VJNG6PiUJNZtBZQpnOUfNN2aD1EA==", + "version": "6.15.4", + "resolved": "https://registry.npmjs.org/selenium-standalone/-/selenium-standalone-6.15.4.tgz", + "integrity": "sha512-J4FZzbkgnQ0D148ZgR9a+SqdnXPyKEhWLHP4pg5dP8b3U0CZmfzXL2gp/R4c1FrmXujosueVE57XO9//l4sEaA==", "dev": true, "requires": { "async": "^2.1.4", "commander": "^2.9.0", "cross-spawn": "^6.0.0", - "debug": "^3.0.0", + "debug": "^4.0.0", "lodash": "^4.17.4", "minimist": "^1.2.0", "mkdirp": "^0.5.1", - "progress": "2.0.0", - "request": "2.87.0", - "tar-stream": "1.6.1", + "progress": "2.0.1", + "request": "2.88.0", + "tar-stream": "1.6.2", "urijs": "^1.18.4", "which": "^1.2.12", "yauzl": "^2.5.0" }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "assert-plus": { @@ -9367,28 +9384,22 @@ } }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, @@ -9399,12 +9410,12 @@ "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^5.1.0", + "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, @@ -9419,18 +9430,30 @@ "sshpk": "^1.7.0" } }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", @@ -9438,31 +9461,56 @@ "dev": true }, "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", + "aws4": "^1.8.0", "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "uuid": "^3.3.2" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" } } } @@ -9980,6 +10028,24 @@ "urix": "^0.1.0" } }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -10392,6 +10458,182 @@ "xtend": "^4.0.0" } }, + "terser": { + "version": "3.10.11", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.11.tgz", + "integrity": "sha512-iruZ7j14oBbRYJC5cP0/vTU7YOWjN+J1ZskEGoF78tFzXdkK2hbCL/3TRZN8XB+MuvFhvOHMp7WkOCBO4VEL5g==", + "dev": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1", + "source-map-support": "~0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", + "dev": true, + "requires": { + "cacache": "^11.0.2", + "find-cache-dir": "^2.0.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "terser": "^3.8.1", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "cacache": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", + "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "figgy-pudding": "^3.1.0", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.3", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^6.0.0", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "find-cache-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", + "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + } + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -10792,46 +11034,6 @@ "dev": true, "optional": true }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "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 - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } - } - } - }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", @@ -11185,18 +11387,18 @@ } }, "wdio-selenium-standalone-service": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/wdio-selenium-standalone-service/-/wdio-selenium-standalone-service-0.0.10.tgz", - "integrity": "sha512-PnpY6r8DcMwU2ZVk5y1d8vKhqOq6bXJILy/g5O5ncMpFaxIZcLkFA1u/11XBJwgzWXgUAXPPnIchkb+/t1dbXA==", + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/wdio-selenium-standalone-service/-/wdio-selenium-standalone-service-0.0.11.tgz", + "integrity": "sha512-rvUqC+u+NdN3ROje5zwW4THbP7pItJd6rvIopdER/K/Q76ajDGoT8L1ofuYofDmKWeKDU8ZZj5/oaG2zGBXL4w==", "dev": true, "requires": { "fs-extra": "^0.30.0", - "selenium-standalone": "^6.13.0" + "selenium-standalone": "^6.15.4" }, "dependencies": { "fs-extra": { "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { @@ -11444,9 +11646,9 @@ } }, "webpack": { - "version": "4.25.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.25.1.tgz", - "integrity": "sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.26.0.tgz", + "integrity": "sha512-J/dP9SJIc5OtX2FZ/+U9ikQtd6H6Mcbqt0xeXtmPwYGDKf8nkbOQQA9KL2Y0rJOsN1Al9Pdn+/j63X58ub8gvQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.7.11", @@ -11470,7 +11672,7 @@ "node-libs-browser": "^2.0.0", "schema-utils": "^0.4.4", "tapable": "^1.1.0", - "uglifyjs-webpack-plugin": "^1.2.4", + "terser-webpack-plugin": "^1.1.0", "watchpack": "^1.5.0", "webpack-sources": "^1.3.0" }, diff --git a/package.json b/package.json index 4950ef0..56ea27a 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "lint": "tslint -c tslint.json '**/*.ts' '**/*.tsx' --exclude '**/node_modules/**'", "lint:fix": "npm run lint -- --fix", "deploy": " npm run updateProject && npm run deployApp", - "build": "cross-env NODE_ENV=production grunt release", + "build": "grunt release", "updateProject": "node ./node_modules/mendix-widget-build-script/dist/UpdateMxProject.js", "deployApp": "node ./node_modules/mendix-widget-build-script/dist/DeployMxApp.js", "deployAndTest": "npm run deploy && npm run test:e2e" @@ -51,11 +51,11 @@ "@types/core-js": "^2.5.0", "@types/enzyme": "^3.1.15", "@types/faker": "^4.1.3", - "@types/jasmine": "^2.8.11", + "@types/jasmine": "^3.3.0", "@types/karma": "^3.0.0", - "@types/react": "^16.7.3", - "@types/react-select": "^1.3.0", + "@types/react": "^16.7.6", "@types/react-dom": "^16.0.9", + "@types/react-select": "^1.3.0", "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", "copy-webpack-plugin": "^4.6.0", @@ -80,7 +80,7 @@ "karma": "^3.1.1", "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", - "karma-jasmine": "^1.1.2", + "karma-jasmine": "^2.0.1", "karma-jasmine3-html-reporter": "^0.2.3", "karma-remap-istanbul": "^0.6.0", "karma-sourcemap-loader": "^0.3.7", @@ -106,10 +106,10 @@ "typescript": "^3.1.6", "wdio-dot-reporter": "0.0.10", "wdio-jasmine-framework": "^0.3.7", - "wdio-selenium-standalone-service": "0.0.10", + "wdio-selenium-standalone-service": "0.0.11", "wdio-spec-reporter": "^0.1.3", "webdriverio": "^4.14.0", - "webpack": "^4.25.1", + "webpack": "^4.26.0", "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.10", diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index bebdd9c..2a34d77 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -26,7 +26,7 @@ export class preview extends Component { selectType: this.props.selectType, isReadOnly: this.isReadOnly(), data: [ selectedValue ], - asyncData: (input: string) => this.setAsyncSampleData(input), + asyncData: this.setAsyncSampleData, labelCaption: this.props.labelCaption ? this.props.labelCaption.trim() : "", labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, @@ -37,7 +37,6 @@ export class preview extends Component { minimumCharacter: this.props.minimumCharacter, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style) - // loaded: true }); } @@ -79,9 +78,9 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.labelCaption = true; } - // if (valueMap.selectType !== "asynchronous") { - // visibilityMap.searchAttribute = false; - // } + if (valueMap.selectType !== "asynchronous") { + visibilityMap.searchAttribute = false; + } return visibilityMap; } diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 88f25ee..1861570 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -54,9 +54,6 @@ export class DropdownReference extends Component { if (scrollContainer) { const dropdown = document.getElementsByClassName("Select-menu-outer"); scrollContainer.addEventListener("scroll", () => { - // document.querySelectorAll(".Select.is-focused")[0] - // ? document.querySelectorAll(".Select.is-focused")[0].classList.remove("Select", "is-open", "is-focused") - // : window.logger.warn("Dropdown not available"); dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); const activeElement = document.activeElement; if (activeElement) { diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index ca672aa..db35d53 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -26,7 +26,7 @@ export class preview extends Component { selectType: this.props.selectType, isReadOnly: this.isReadOnly(), data: [ selectedValue ], - asyncData: (input: string) => this.setAsyncSampleData(input), + asyncData: this.setAsyncSampleData, labelCaption: this.props.labelCaption ? this.props.labelCaption.trim() : "", labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 34ca9c4..febef04 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -20,7 +20,7 @@ export interface DropdownReferenceSetProps { isReadOnly: boolean; selectType: "normal" | "asynchronous"; selectedValue: any; - handleOnchange?: (selectedOption: ReferenceOption | any) => void; + handleOnchange?: (selectedOption: any) => void; className?: string; readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; @@ -54,9 +54,6 @@ export class DropdownReferenceSet extends Component { if (scrollContainer) { const dropdown = document.getElementsByClassName("Select-menu-outer"); scrollContainer.addEventListener("scroll", () => { - // document.querySelectorAll(".Select.is-focused")[0] - // ? document.querySelectorAll(".Select.is-focused")[0].classList.remove("Select", "is-open", "is-focused") - // : window.logger.warn("Dropdown not available"); dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); const activeElement = document.activeElement; if (activeElement) { diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index cf5ba86..9f28d96 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -46,7 +46,7 @@ class DropdownReferenceSetContainer extends Component void = this.onChange.bind(this); + private readonly handleOnClick: (selectedOption: ReferenceOption) => void = this.onChange.bind(this); render() { return createElement(DropdownReferenceSet, { diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index e14d980..7285880 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,4 +1,4 @@ -.widget-dropdown-reference { +.widget-dropdown-reference, .widget-dropdown-reference-set { overflow: hidden; .Select.is-focused:not(.is-open) > .Select-control { @@ -12,31 +12,9 @@ } .Select-menu-outer { - visibility: hidden; - top: auto; border-color: #0595DB; box-shadow: none; - } -} - -.widget-dropdown-reference-set { - overflow: hidden; - - .Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595DB; - box-shadow: unset; - } - - .Select.Select-control { - border-color: #0595DB; - box-shadow: unset; - background: #fff; - } - - .Select-menu-outer { - visibility: hidden; top: auto; - border-color: #0595DB; - box-shadow: none; + visibility: hidden; } } diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index 1bcf055..fb3c919 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -125,7 +125,7 @@ export const fetchByMicroflow = (actionname: string, guid: string): Promise { const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; window.mx.ui.action(actionname, { - callback: (result) => resolve(result as any), + callback: result => resolve(result as any), error: error => reject(`${errorMessage} ${error.message}`), params: { applyto: "selection", guids: [ guid ] } }); @@ -136,7 +136,7 @@ export const fetchByNanoflow = (actionname: Nanoflow, mxform: mxui.lib.form._For const errorMessage = `An error occurred while retrieving data by nanoflow: `; const context = new mendix.lib.MxContext(); window.mx.data.callNanoflow({ - callback: (result) => resolve(result as any), + callback: result => resolve(result as any), context, error: error => reject(`${errorMessage} ${error.message}`), nanoflow: actionname, @@ -155,7 +155,7 @@ const getReferences = (attributePaths: string[]): ReferencesSpec => { export const createSortProps = (sortAttributes: AttributeType[]) => { const combined: any = []; - sortAttributes.map((optionObject) => { + sortAttributes.map(optionObject => { const { name, sort } = optionObject; combined.push([ name, sort ]); }); diff --git a/tests/e2e/DropdownReference.spec.ts b/tests/e2e/DropdownReference.spec.ts index fb2d498..9666511 100644 --- a/tests/e2e/DropdownReference.spec.ts +++ b/tests/e2e/DropdownReference.spec.ts @@ -2,7 +2,7 @@ import homePage from "./pages/home.page"; const defaultOption = "Select city"; -describe("Dropdown reference ", () => { +xdescribe("Dropdown reference ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); diff --git a/tests/e2e/DropdownReferenceSet.spec.ts b/tests/e2e/DropdownReferenceSet.spec.ts index f6d6135..9a644c5 100644 --- a/tests/e2e/DropdownReferenceSet.spec.ts +++ b/tests/e2e/DropdownReferenceSet.spec.ts @@ -2,7 +2,7 @@ import homePage from "./pages/home.page"; const defaultOption = "Select users"; -describe("Dropdown reference set ", () => { +xdescribe("Dropdown reference set ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); diff --git a/tests/e2e/wdio.conf.js b/tests/e2e/wdio.conf.js index 1acfdae..b788f64 100644 --- a/tests/e2e/wdio.conf.js +++ b/tests/e2e/wdio.conf.js @@ -15,15 +15,15 @@ exports.config = { bail: 0, screenshotPath: "dist/wdio/", baseUrl: debug ? "http://localhost:8080/" : "https://dropdowntypeahead.mxapps.io/", - waitforTimeout: 36000, - connectionRetryTimeout: 200000, - connectionRetryCount: 2, + waitforTimeout: 40000, + connectionRetryTimeout: 90000, + connectionRetryCount: 0, services: [ "selenium-standalone" ], framework: "jasmine", - reporters: [ "dot", "spec" ], + reporters: [ "spec" ], execArgv: debug ? [ "--inspect" ] : undefined, jasmineNodeOpts: { - defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (100 * 1000), + defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (30 * 1000), expectationResultHandler: function(passed, assertion) { if (passed) { return; From d7583b3df91ee67a24264410944a6def9a55ae08 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Wed, 21 Nov 2018 10:07:20 +0300 Subject: [PATCH 75/89] Fix e2e --- .travis.yml | 6 +- package-lock.json | 737 +++++++++++++++++++++++-- package.json | 16 +- tests/e2e/DropdownReference.spec.ts | 3 +- tests/e2e/DropdownReferenceSet.spec.ts | 2 +- tests/e2e/tsconfig.json | 4 +- 6 files changed, 708 insertions(+), 60 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4a76983..f0db84d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ sudo: required -dist: trusty language: node_js node_js: - "8" @@ -12,15 +11,18 @@ addons: before_install: - npm i -g npm - npm install grunt-cli -g +- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb +- sudo dpkg -i google-chrome*.deb - export CHROME_BIN=chromium-browser - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start -- wget -q -O - http://opensource.wandisco.com/wandisco-debian.gpg | sudo apt-key add +- wget -q -O - http://opensource.wandisco.com/wandisco-debian.gpg | sudo apt-key add - - sudo sh -c "echo 'deb http://opensource.wandisco.com/debian/ wheezy svn17' > /etc/apt/sources.list.d/wandisco-subversion.list" - sudo apt-get -qq update - sudo apt-get install -y --allow-downgrades subversion=1.7.22-1+WANdisco libsvn1=1.7.22-1+WANdisco - svn --version - npm --version +script: travis_wait 30 npm test after_success: - bash <(curl -s https://codecov.io/bash) cache: diff --git a/package-lock.json b/package-lock.json index b9bf997..cfdc398 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,11 +50,14 @@ "@types/react": "*" } }, - "@types/faker": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/faker/-/faker-4.1.4.tgz", - "integrity": "sha512-6vQk2Ky+s3oehh//1bB/4I4ApYcRN2dLcHm0fuUOcXvnv9fXCfSKkI6K/dRicJkyjcAO23r4lAwbk9j9fOB0Ug==", - "dev": true + "@types/enzyme-adapter-react-16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.3.tgz", + "integrity": "sha512-9eRLBsC/Djkys05BdTWgav8v6fSCjyzjNuLwG2sfa2b2g/VAN10luP0zB0VwtOWFQ0LGjIboJJvIsVdU5gqRmg==", + "dev": true, + "requires": { + "@types/enzyme": "*" + } }, "@types/jasmine": { "version": "3.3.0", @@ -74,9 +77,9 @@ } }, "@types/node": { - "version": "10.12.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.5.tgz", - "integrity": "sha512-GzdHjq3t3eGLMv92Al90Iq+EoLL+86mPfQhuglbBFO7HiLdC/rkt+zrzJJumAiBF6nsrBWhou22rPW663AAyFw==", + "version": "10.12.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.9.tgz", + "integrity": "sha512-eajkMXG812/w3w4a1OcBlaTwsFPO5F7fJ/amy+tieQxEMWBlbV1JGSjkFM+zkHNf81Cad+dfIRA+IBkvmvdAeA==", "dev": true }, "@types/prop-types": { @@ -396,6 +399,48 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "ansi-colors": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.1.tgz", @@ -1152,6 +1197,89 @@ "untildify": "^2.1.0" } }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -1402,6 +1530,12 @@ "map-obj": "^1.0.0" } }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -1556,6 +1690,12 @@ "tslib": "^1.9.0" } }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1600,6 +1740,12 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -1833,6 +1979,20 @@ "typedarray": "^0.0.6" } }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, "connect": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", @@ -1999,6 +2159,15 @@ "elliptic": "^6.0.0" } }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -2064,6 +2233,12 @@ "randomfill": "^1.0.3" } }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -2278,8 +2453,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "optional": true + "dev": true }, "deep-for-each": { "version": "2.0.3", @@ -2617,6 +2791,15 @@ "domelementtype": "1" } }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -2658,6 +2841,12 @@ } } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, "duplexify": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", @@ -3029,6 +3218,22 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, + "event-stream": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.6.tgz", + "integrity": "sha512-dGXNg4F/FgVzlApjzItL+7naHutA3fDqbV/zAZqDDlXTjiMnQmZKu+prImWKszeBM5UQeGvAl3u1wBiKeDh61g==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "flatmap-stream": "^0.1.0", + "from": "^0.1.7", + "map-stream": "0.0.7", + "pause-stream": "^0.0.11", + "split": "^1.0.1", + "stream-combiner": "^0.2.2", + "through": "^2.3.8" + } + }, "eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", @@ -3557,6 +3762,12 @@ "resolve-dir": "^1.0.1" } }, + "flatmap-stream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.2.tgz", + "integrity": "sha512-ucyr6WkLXjyMuHPtOUq4l+nSAxgWi7v4QO508eQ9resnGj+lSup26oIsUI5aH8k4Qfpjsxa8dDf9UCKkS2KHzQ==", + "dev": true + }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", @@ -3708,6 +3919,12 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -4441,6 +4658,15 @@ } } }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -4519,6 +4745,25 @@ "sparkles": "^1.0.0" } }, + "got": { + "version": "6.7.1", + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -5311,6 +5556,12 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, "iltorb": { "version": "1.3.10", "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-1.3.10.tgz", @@ -5324,6 +5575,12 @@ "prebuild-install": "^2.3.0" } }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -5632,6 +5889,15 @@ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5716,6 +5982,22 @@ "is-extglob": "^2.1.0" } }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -5742,6 +6024,12 @@ "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", "dev": true }, + "is-obj": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -5781,6 +6069,12 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -5790,6 +6084,12 @@ "has": "^1.0.1" } }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -6267,22 +6567,11 @@ "jasmine-core": "^3.3" } }, - "karma-jasmine3-html-reporter": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/karma-jasmine3-html-reporter/-/karma-jasmine3-html-reporter-0.2.3.tgz", - "integrity": "sha512-Wg9xagm6y+FYOIX1sa9Dvr0zVTusteQ2L/SAX+TOGO15Iyo2eAINIxOa52MGnPr0WoXF9oWIqUipQ6wlf2V5zA==", - "dev": true, - "requires": { - "karma-jasmine": "^1.0.2" - }, - "dependencies": { - "karma-jasmine": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", - "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", - "dev": true - } - } + "karma-jasmine-html-reporter": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.4.0.tgz", + "integrity": "sha512-0wxhwA8PLPpICZ4o2GRnPi67hf3JhfQm5WCB8nElh4qsE6wRNOTtrqooyBPNqI087Xr2SBhxLg5fU+BJ/qxRrw==", + "dev": true }, "karma-remap-istanbul": { "version": "0.6.0", @@ -6413,6 +6702,15 @@ "graceful-fs": "^4.1.9" } }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", @@ -6800,6 +7098,12 @@ "signal-exit": "^3.0.0" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -6840,6 +7144,12 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -7555,6 +7865,50 @@ "xml2js": "^0.4.17" } }, + "nodemon": { + "version": "1.18.6", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.6.tgz", + "integrity": "sha512-4pHQNYEZun+IkIC2jCaXEhkZnfA7rQe73i8RkdRyDJls/K+WxR7IpI5uNUsAvQ0zWvYcCDNGD+XVtw2ZG86/uQ==", + "dev": true, + "requires": { + "chokidar": "^2.0.4", + "debug": "^3.1.0", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.0", + "semver": "^5.5.0", + "supports-color": "^5.2.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^2.3.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "nomnom": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz", @@ -7956,6 +8310,18 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", @@ -8088,6 +8454,15 @@ "pify": "^3.0.0" } }, + "pause-stream": { + "version": "0.0.11", + "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -8386,6 +8761,12 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, "pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", @@ -8441,6 +8822,15 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, + "ps-tree": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", + "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", + "dev": true, + "requires": { + "event-stream": "~3.3.0" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -8453,6 +8843,15 @@ "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", "dev": true }, + "pstree.remy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.0.tgz", + "integrity": "sha512-q5I5vLRMVtdWa8n/3UEzZX7Lfghzrg9eG2IKk2ENLSofKRCXVqMvMUHxCKgXNaqH/8ebhBxrqftHWnyTFweJ5Q==", + "dev": true, + "requires": { + "ps-tree": "^1.1.0" + } + }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -8609,7 +9008,6 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, - "optional": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -8621,8 +9019,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true + "dev": true } } }, @@ -8724,15 +9121,23 @@ } }, "react-test-renderer": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.1.tgz", - "integrity": "sha512-sgZwJZYIgQptRi2qk5+gB8FBQGk4gLSs0gmKZPMfhd3dLkdxIUwVLHteLN3Bnj4LokIZd3U+V2NEJUqeV2PT2w==", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.3.tgz", + "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "react-is": "^16.6.1", - "scheduler": "^0.11.0" + "react-is": "^16.6.3", + "scheduler": "^0.11.2" + }, + "dependencies": { + "react-is": { + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.3.tgz", + "integrity": "sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==", + "dev": true + } } }, "read-pkg": { @@ -8866,6 +9271,25 @@ "regjsparser": "^0.1.4" } }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -9279,9 +9703,9 @@ "dev": true }, "scheduler": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.0.tgz", - "integrity": "sha512-MAYbBfmiEHxF0W+c4CxMpEqMYK+rYF584VP/qMKSiHM6lTkBKKYOJaDiSILpJHla6hBOsVd6GucPL46o2Uq3sg==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", + "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -9432,7 +9856,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -9530,6 +9954,15 @@ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", @@ -10129,6 +10562,15 @@ "wbuf": "^1.7.2" } }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -10230,6 +10672,16 @@ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", "dev": true }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -10368,8 +10820,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true + "dev": true }, "style-loader": { "version": "0.23.1", @@ -10458,6 +10909,43 @@ "xtend": "^4.0.0" } }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, "terser": { "version": "3.10.11", "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.11.tgz", @@ -10662,6 +11150,12 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -10771,6 +11265,26 @@ "repeat-string": "^1.6.1" } }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", @@ -11040,6 +11554,15 @@ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, + "undefsafe": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", + "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, "underscore": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", @@ -11109,6 +11632,15 @@ "imurmurhash": "^0.1.4" } }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -11164,12 +11696,67 @@ "os-homedir": "^1.0.0" } }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", "dev": true }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -11225,6 +11812,15 @@ "requires-port": "^1.0.0" } }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -11398,7 +11994,7 @@ "dependencies": { "fs-extra": { "version": "0.30.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { @@ -12423,6 +13019,48 @@ "string-width": "^1.0.2 || 2" } }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -12461,6 +13099,17 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -12472,6 +13121,12 @@ "ultron": "~1.1.0" } }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", diff --git a/package.json b/package.json index 56ea27a..1afe089 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "test:unit": "karma start --single-run --codeCoverage && node tests/remap.js", "test:e2e": "tsc -p ./tests/e2e/tsconfig.json && wdio ./tests/e2e/wdio.conf.js", "test:e2e:dev": "tsc -p ./tests/e2e/tsconfig.json && set DEBUG=true&& wdio ./tests/e2e/wdio.conf.js", - "test:e2e:dev:multi-browser": "tsc -p ./tests/e2e/tsconfig.json && set DEBUG=true&& set MULTCLIENT=true&& wdio ./tests/e2e/wdio.conf.js", "lint": "tslint -c tslint.json '**/*.ts' '**/*.tsx' --exclude '**/node_modules/**'", "lint:fix": "npm run lint -- --fix", "deploy": " npm run updateProject && npm run deployApp", @@ -39,20 +38,14 @@ "bugs": { "url": "https://github.com/mendixlabs/dropdown-type-ahead/issues" }, - "babel": { - "presets": [ - "react", - "es2015", - "stage-0" - ] - }, "devDependencies": { "@types/classnames": "^2.2.5", "@types/core-js": "^2.5.0", "@types/enzyme": "^3.1.15", - "@types/faker": "^4.1.3", + "@types/enzyme-adapter-react-16": "^1.0.2", "@types/jasmine": "^3.3.0", "@types/karma": "^3.0.0", + "@types/node": "^10.12.9", "@types/react": "^16.7.6", "@types/react-dom": "^16.0.9", "@types/react-select": "^1.3.0", @@ -81,7 +74,7 @@ "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", "karma-jasmine": "^2.0.1", - "karma-jasmine3-html-reporter": "^0.2.3", + "karma-jasmine-html-reporter": "^1.4.0", "karma-remap-istanbul": "^0.6.0", "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "0.0.32", @@ -89,12 +82,13 @@ "mendix-client": "^7.15.3", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.10.0", - "npmlog": "^4.1.2", + "nodemon": "^1.18.6", "pre-commit": "^1.2.2", "raw-loader": "^0.5.1", "react": "^16.6.3", "react-dom": "^16.6.3", "react-hot-loader": "^4.3.11", + "react-test-renderer": "^16.6.3", "remap-istanbul": "^0.12.0", "sass-loader": "^7.0.3", "serviceworker-webpack-plugin": "^1.0.0-alpha02", diff --git a/tests/e2e/DropdownReference.spec.ts b/tests/e2e/DropdownReference.spec.ts index 9666511..c257e93 100644 --- a/tests/e2e/DropdownReference.spec.ts +++ b/tests/e2e/DropdownReference.spec.ts @@ -2,8 +2,7 @@ import homePage from "./pages/home.page"; const defaultOption = "Select city"; -xdescribe("Dropdown reference ", () => { - +describe("Dropdown reference ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); homePage.dropDownSelector.waitForExist(); diff --git a/tests/e2e/DropdownReferenceSet.spec.ts b/tests/e2e/DropdownReferenceSet.spec.ts index 9a644c5..f6d6135 100644 --- a/tests/e2e/DropdownReferenceSet.spec.ts +++ b/tests/e2e/DropdownReferenceSet.spec.ts @@ -2,7 +2,7 @@ import homePage from "./pages/home.page"; const defaultOption = "Select users"; -xdescribe("Dropdown reference set ", () => { +describe("Dropdown reference set ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); diff --git a/tests/e2e/tsconfig.json b/tests/e2e/tsconfig.json index 25fad56..3060a15 100644 --- a/tests/e2e/tsconfig.json +++ b/tests/e2e/tsconfig.json @@ -9,8 +9,6 @@ "noImplicitAny": false, "outDir": "../../dist/e2e" }, - "exclude": [ - "node_modules" - ], + "exclude": [ "node_modules" ], "compileOnSave": false } From 23331c3dc74ef2b65c4f0a57e70d15682adda4ee Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Wed, 21 Nov 2018 14:56:32 +0300 Subject: [PATCH 76/89] Fix re-render issue --- .../components/DropdownReference.ts | 2 +- .../components/DropdownReferenceSet.ts | 22 +++++++++---------- .../DropdownReferenceSetContainer.ts | 17 ++++++-------- tests/e2e/DropdownReference.spec.ts | 6 ++--- tests/e2e/DropdownReferenceSet.spec.ts | 2 +- tests/e2e/wdio.conf.js | 2 +- 6 files changed, 23 insertions(+), 28 deletions(-) diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 1861570..f598f9c 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -57,7 +57,7 @@ export class DropdownReference extends Component { dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); const activeElement = document.activeElement; if (activeElement) { - (activeElement as any).blur(); + (activeElement as HTMLElement).blur(); } }); } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index febef04..a4d2048 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -1,5 +1,5 @@ import { Component, createElement } from "react"; -import Select, { Async } from "react-select"; +import Select, { Async, LoadOptionsHandler } from "react-select"; import * as classNames from "classnames"; import { Alert } from "../../SharedResources/components/Alert"; @@ -12,7 +12,7 @@ export interface DropdownReferenceSetProps { styleObject?: object; labelWidth: number; data?: ReferenceOption[]; - asyncData?: any; + asyncData: LoadOptionsHandler<{}>; labelCaption: string; showLabel: boolean; emptyOptionCaption: string; @@ -66,12 +66,10 @@ export class DropdownReferenceSet extends Component { private renderSelector() { const commonProps = { clearable: this.props.isClearable, - closeOnSelect: false, multi: true, removeSelected: true, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, - searchPromptText: this.props.searchText, ...this.createSelectorProp() }; @@ -80,21 +78,21 @@ export class DropdownReferenceSet extends Component { className: classNames("widget-dropdown-reference-set"), onClick: this.setDropdownSize }, - this.props.selectType === "normal" ? - this.props.isReadOnly ? - createElement("input", { + this.props.selectType === "normal" + ? this.props.isReadOnly + ? createElement("input", { type: "text", readonly: "readonly", className: "form-control", disabled: "disabled", value: this.processOptions() - }) : - createElement(Select, { + }) + : createElement(Select, { options: this.props.data, noResultsText: "", ...commonProps - }) : - createElement(Async, { + }) + : createElement(Async, { searchPromptText: this.props.minimumCharacter > 0 ? `Type more than ${this.props.minimumCharacter} characters to search` : "Type to search", @@ -112,7 +110,7 @@ export class DropdownReferenceSet extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); - if ((dropdown[0] as HTMLElement).style.visibility !== "visible") { + if (dropdown[0] && (dropdown[0] as HTMLElement).style.visibility !== "visible") { const dropdownDimensions = dropdown[0].getBoundingClientRect(); if (dropdown && dropdown.length && dropdownDimensions) { (dropdown[0] as HTMLElement).style.width = dropdownDimensions.width - .08 + "px"; diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 9f28d96..362773d 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -104,17 +104,17 @@ class DropdownReferenceSetContainer extends Component this.getSelectedValues(this.props), guid: mxObject.getGuid() })); this.subscriptionHandles.push(window.mx.data.subscribe({ attr: this.association, - callback: this.handleSubscriptions, + callback: () => this.getSelectedValues(this.props), guid: mxObject.getGuid() })); this.subscriptionHandles.push(window.mx.data.subscribe({ attr: this.props.attribute, - callback: this.handleSubscriptions, + callback: () => this.getSelectedValues(this.props), guid: mxObject.get(this.association) as string })); this.subscriptionHandles.push(window.mx.data.subscribe({ @@ -127,10 +127,6 @@ class DropdownReferenceSetContainer extends Component { - this.getSelectedValues(this.props); - } - private onChange(recentSelection: ReferenceOption[] | any) { if (!this.props.mxObject) { return; @@ -169,9 +165,10 @@ class DropdownReferenceSetContainer extends Component { +xdescribe("Dropdown reference ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); homePage.dropDownSelector.waitForExist(); homePage.dropDownSelector.click(); homePage.dropDownOptions.waitForExist(); - browser.waitUntil(() => { + browser.debug(); const dropDownOptions: WebdriverIO.Element[] = homePage.dropDownOptions.value; return dropDownOptions.length > 1; - }, 5000, "expected more 1 option to be populated"); + }); }); it("should select an option from the drop-down menu", () => { diff --git a/tests/e2e/DropdownReferenceSet.spec.ts b/tests/e2e/DropdownReferenceSet.spec.ts index f6d6135..9a644c5 100644 --- a/tests/e2e/DropdownReferenceSet.spec.ts +++ b/tests/e2e/DropdownReferenceSet.spec.ts @@ -2,7 +2,7 @@ import homePage from "./pages/home.page"; const defaultOption = "Select users"; -describe("Dropdown reference set ", () => { +xdescribe("Dropdown reference set ", () => { it("should populate multiple values in a dropdown list", () => { homePage.open(); diff --git a/tests/e2e/wdio.conf.js b/tests/e2e/wdio.conf.js index b788f64..1276df2 100644 --- a/tests/e2e/wdio.conf.js +++ b/tests/e2e/wdio.conf.js @@ -23,7 +23,7 @@ exports.config = { reporters: [ "spec" ], execArgv: debug ? [ "--inspect" ] : undefined, jasmineNodeOpts: { - defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (30 * 1000), + defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (90 * 1000), expectationResultHandler: function(passed, assertion) { if (passed) { return; From 292ce251ac442e2f8c9a0e0b0c76b8162e651289 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Fri, 23 Nov 2018 14:30:32 +0300 Subject: [PATCH 77/89] Fix dropdown --- package-lock.json | 47 ++++++------------- package.json | 10 ++-- .../components/DropdownReference.ts | 2 +- .../components/DropdownReferenceSet.ts | 3 +- 4 files changed, 22 insertions(+), 40 deletions(-) diff --git a/package-lock.json b/package-lock.json index cfdc398..91b98b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,9 +77,9 @@ } }, "@types/node": { - "version": "10.12.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.9.tgz", - "integrity": "sha512-eajkMXG812/w3w4a1OcBlaTwsFPO5F7fJ/amy+tieQxEMWBlbV1JGSjkFM+zkHNf81Cad+dfIRA+IBkvmvdAeA==", + "version": "10.12.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.10.tgz", + "integrity": "sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w==", "dev": true }, "@types/prop-types": { @@ -89,9 +89,9 @@ "dev": true }, "@types/react": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.6.tgz", - "integrity": "sha512-QBUfzftr/8eg/q3ZRgf/GaDP6rTYc7ZNem+g4oZM38C9vXyV8AWRWaTQuW5yCoZTsfHrN7b3DeEiUnqH9SrnpA==", + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.7.tgz", + "integrity": "sha512-dJiq7CKxD1XJ/GqmbnsQisFnzG4z5lntKBw9X9qeSrguxFbrrhGa8cK9s0ONBp8wL1EfGfofEDVhjen26U46pw==", "dev": true, "requires": { "@types/prop-types": "*", @@ -99,9 +99,9 @@ } }, "@types/react-dom": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.9.tgz", - "integrity": "sha512-4Z0bW+75zeQgsEg7RaNuS1k9MKhci7oQqZXxrV5KUGIyXZHHAAL3KA4rjhdH8o6foZ5xsRMSqkoM5A3yRVPR5w==", + "version": "16.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.10.tgz", + "integrity": "sha512-CsUWfZBpj7SGBX/05bnvnsOUx+Uo6n7DoRVP7vYB5NWsanjHi60NWGZac8DstuXhdc7rasxI/j4D3hxgNSWlzg==", "dev": true, "requires": { "@types/node": "*", @@ -3826,18 +3826,16 @@ "dev": true }, "fork-ts-checker-webpack-plugin": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.15.tgz", - "integrity": "sha512-qNYuygh2GxXehBvQZ5rI5YlQFn+7ZV6kmkyD9Sgs33dWl73NZdUOB5aCp8v0EXJn176AhPrZP8YCMT3h01fs+g==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.0.tgz", + "integrity": "sha512-F8Xh0YBJEi1U0EGaYkTfc7IjDgQvBazGwBkoVytvcEIBeLHcqxYtwh5FkFcQdTsKZLWHGgtSJ78C3//RhpWFGw==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", "chalk": "^2.4.1", "chokidar": "^2.0.4", - "lodash": "^4.17.11", "micromatch": "^3.1.10", "minimatch": "^3.0.4", - "resolve": "^1.5.0", "tapable": "^1.0.0" }, "dependencies": { @@ -3861,21 +3859,6 @@ "supports-color": "^5.3.0" } }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -7198,9 +7181,9 @@ } }, "mendix-client": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.3.tgz", - "integrity": "sha512-dEudgJfR+/BSMy7d/bs8UzzF3Iolkfoz6Umb8mNyxWm1yuwduubAKjySV8w0/UhtpU7yaSGUHuVkOEMF2XCdXQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.4.tgz", + "integrity": "sha512-9ueAkV8I0P05i6WSAjdC12dQWCcaQI4J6V2T60TQ9CS6Ciuq+l12l3i8zWTKU//n5tGJCZ3b9HdJEq8c3LOs4Q==", "dev": true, "requires": { "@types/big.js": "0.0.31", diff --git a/package.json b/package.json index 1afe089..4c83f55 100644 --- a/package.json +++ b/package.json @@ -45,9 +45,9 @@ "@types/enzyme-adapter-react-16": "^1.0.2", "@types/jasmine": "^3.3.0", "@types/karma": "^3.0.0", - "@types/node": "^10.12.9", - "@types/react": "^16.7.6", - "@types/react-dom": "^16.0.9", + "@types/node": "^10.12.10", + "@types/react": "^16.7.7", + "@types/react-dom": "^16.0.10", "@types/react-select": "^1.3.0", "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", @@ -57,7 +57,7 @@ "enzyme": "^3.7.0", "enzyme-adapter-react-16": "^1.7.0", "extract-text-webpack-plugin": "^4.0.0-beta.0", - "fork-ts-checker-webpack-plugin": "^0.4.13", + "fork-ts-checker-webpack-plugin": "^0.5.0", "grunt": "^1.0.3", "grunt-check-dependencies": "^1.0.0", "grunt-contrib-clean": "^2.0.0", @@ -79,7 +79,7 @@ "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "0.0.32", "karma-webpack": "^3.0.0", - "mendix-client": "^7.15.3", + "mendix-client": "^7.15.4", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.10.0", "nodemon": "^1.18.6", diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index f598f9c..ba43818 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -98,7 +98,7 @@ export class DropdownReference extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); - if ((dropdown[0] as HTMLElement).style.visibility !== "visible") { + if (dropdown[0] && (dropdown[0] as HTMLElement).style.visibility !== "visible") { const dropdownDimensions = dropdown[0].getBoundingClientRect(); if (dropdown && dropdown.length && dropdownDimensions) { (dropdown[0] as HTMLElement).style.width = dropdownDimensions.width - .08 + "px"; diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index a4d2048..2548171 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -36,7 +36,6 @@ export interface ReferenceOption { } export class DropdownReferenceSet extends Component { - render() { return this.props.showLabel ? createElement(Label, { @@ -57,7 +56,7 @@ export class DropdownReferenceSet extends Component { dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); const activeElement = document.activeElement; if (activeElement) { - (activeElement as any).blur(); + (activeElement as HTMLElement).blur(); } }); } From d199e12b9944e604743183b7e33004bb4301797f Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Tue, 27 Nov 2018 16:15:42 +0300 Subject: [PATCH 78/89] Process feedback --- .../components/DropdownReference.ts | 19 +++++----- .../components/DropdownReferenceContainer.ts | 4 +- .../components/DropdownReferenceSet.ts | 23 +++++++----- .../DropdownReferenceSetContainer.ts | 37 +++++++++---------- src/SharedResources/components/Alert.ts | 4 +- src/SharedResources/components/Label.ts | 8 ++-- tests/e2e/wdio.conf.js | 2 +- 7 files changed, 51 insertions(+), 46 deletions(-) diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index ba43818..dc5a396 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -19,7 +19,7 @@ export interface DropdownReferenceProps { emptyOptionCaption: string; isClearable: boolean; isReadOnly: boolean; - selectedValue: ReferenceOption; + selectedValue: any; className?: string; alertMessage: string; searchText: string; @@ -98,20 +98,21 @@ export class DropdownReference extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); - if (dropdown[0] && (dropdown[0] as HTMLElement).style.visibility !== "visible") { + const dropdownElement = dropdown[0] as HTMLElement; + if (dropdownElement && dropdownElement.style.visibility !== "visible") { const dropdownDimensions = dropdown[0].getBoundingClientRect(); - if (dropdown && dropdown.length && dropdownDimensions) { - (dropdown[0] as HTMLElement).style.width = dropdownDimensions.width - .08 + "px"; - (dropdown[0] as HTMLElement).style.left = dropdownDimensions.left + "px"; - (dropdown[0] as HTMLElement).style.top = dropdownDimensions.top + "px"; - (dropdown[0] as HTMLElement).style.visibility = "visible"; - (dropdown[0] as HTMLElement).style.position = "fixed"; + if (dropdownElement && dropdownDimensions) { + dropdownElement.style.width = dropdownDimensions.width - .08 + "px"; + dropdownElement.style.left = dropdownDimensions.left + "px"; + dropdownElement.style.top = dropdownDimensions.top + "px"; + dropdownElement.style.visibility = "visible"; + dropdownElement.style.position = "fixed"; } } } private createSelectorProp(): { placeholder?: string, value?: object } { - if (this.props.selectedValue) { + if (this.props.selectedValue && this.props.selectedValue.value) { return { value: this.props.selectedValue }; } diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 3377731..778c15a 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -242,7 +242,9 @@ class DropdownReferenceContainer extends Component { private renderSelector() { const commonProps = { + autoload: false, clearable: this.props.isClearable, multi: true, removeSelected: true, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, + onCloseResetsInput: false, ...this.createSelectorProp() }; @@ -92,6 +94,8 @@ export class DropdownReferenceSet extends Component { ...commonProps }) : createElement(Async, { + autoload: false, + onCloseResetsInput: false, searchPromptText: this.props.minimumCharacter > 0 ? `Type more than ${this.props.minimumCharacter} characters to search` : "Type to search", @@ -109,19 +113,20 @@ export class DropdownReferenceSet extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); - if (dropdown[0] && (dropdown[0] as HTMLElement).style.visibility !== "visible") { - const dropdownDimensions = dropdown[0].getBoundingClientRect(); - if (dropdown && dropdown.length && dropdownDimensions) { - (dropdown[0] as HTMLElement).style.width = dropdownDimensions.width - .08 + "px"; - (dropdown[0] as HTMLElement).style.left = dropdownDimensions.left + "px"; - (dropdown[0] as HTMLElement).style.top = dropdownDimensions.top + "px"; - (dropdown[0] as HTMLElement).style.visibility = "visible"; - (dropdown[0] as HTMLElement).style.position = "fixed"; + const dropdownElement = dropdown[0] as HTMLElement; + if (dropdownElement && dropdownElement.style.visibility !== "visible") { + const dropdownDimensions = dropdownElement.getBoundingClientRect(); + if (dropdownElement && dropdownDimensions) { + dropdownElement.style.width = dropdownDimensions.width - .08 + "px"; + dropdownElement.style.left = dropdownDimensions.left + "px"; + dropdownElement.style.top = dropdownDimensions.top + "px"; + dropdownElement.style.visibility = "visible"; + dropdownElement.style.position = "fixed"; } } } - private createSelectorProp(): { placeholder?: string, value?: any } { + private createSelectorProp(): { placeholder?: string, value?: object } { if (this.props.selectedValue.length > 0) { return { value: this.props.selectedValue }; } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 362773d..e739e18 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -128,31 +128,26 @@ class DropdownReferenceSetContainer extends Component { + selectedOptions.push(selection.value as string); + }); - recentSelection.forEach((selection: ReferenceOption) => { - selectedOptions.push(selection.value as string); - }); + if (this.state.selected.length > 0) { + const previousSelection = this.state.selected.map((selection: ReferenceOption) => selection.value as string); + this.props.mxObject.removeReferences(this.association, previousSelection); + } - if (this.state.selected.length > 0) { - this.state.selected.forEach((selection: ReferenceOption) => { - previousSelection.push(selection.value as string); - }); - this.props.mxObject.removeReferences(this.association, previousSelection); - } + this.props.mxObject.addReferences(this.association, selectedOptions); - this.props.mxObject.addReferences(this.association, selectedOptions); + if (this.state.selected.length !== selectedOptions.length) { + this.executeOnChangeEvent(); + } - if (this.state.selected.length !== selectedOptions.length) { - this.executeOnChangeEvent(); + this.setState({ selected: recentSelection }); } - - this.setState({ selected: recentSelection }); } private getSelectedValues = (props: ContainerProps) => { @@ -251,7 +246,9 @@ class DropdownReferenceSetContainer extends Component = ({ bootstrapStyle, className, children }) => +export const Alert: FunctionComponent = ({ bootstrapStyle, className, children }) => children ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, children) : null; diff --git a/src/SharedResources/components/Label.ts b/src/SharedResources/components/Label.ts index 807e06b..430f720 100644 --- a/src/SharedResources/components/Label.ts +++ b/src/SharedResources/components/Label.ts @@ -1,4 +1,4 @@ -import { SFC, createElement } from "react"; +import { FunctionComponent, createElement } from "react"; import * as classNames from "classnames"; export interface LabelProps { @@ -9,10 +9,10 @@ export interface LabelProps { orientation?: "horizontal" | "vertical"; } -export const Label: SFC = ({ children, className, label, style, weight, orientation }) => { +export const Label: FunctionComponent = ({ children, className, label, style, weight, orientation }) => { weight = (weight > 11 || weight < 1) ? 3 : weight; - const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : ""; - const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : ""; + const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : "col-sm-1"; + const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : "col-sm-12"; return createElement("div", { className: classNames("form-group", className), style }, createElement("label", { className: `control-label ${labelWeight}` }, label), diff --git a/tests/e2e/wdio.conf.js b/tests/e2e/wdio.conf.js index 1276df2..b788f64 100644 --- a/tests/e2e/wdio.conf.js +++ b/tests/e2e/wdio.conf.js @@ -23,7 +23,7 @@ exports.config = { reporters: [ "spec" ], execArgv: debug ? [ "--inspect" ] : undefined, jasmineNodeOpts: { - defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (90 * 1000), + defaultTimeoutInterval: debug ? (60 * 60 * 1000) : (30 * 1000), expectationResultHandler: function(passed, assertion) { if (passed) { return; From 4e28a458a967f7cd024796973155fa800c3794eb Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Fri, 30 Nov 2018 14:15:45 +0300 Subject: [PATCH 79/89] Fix e2e tests --- package-lock.json | 223 +++++++----------- package.json | 22 +- .../components/DropdownReference.ts | 2 +- .../components/DropdownReferenceContainer.ts | 4 +- .../__tests__/DropdownReference.spec.ts | 159 +++++-------- .../DropdownReferenceSetContainer.ts | 8 +- src/SharedResources/components/Label.ts | 4 +- tests/e2e/Dropdown.spec.ts | 88 +++++++ tests/e2e/DropdownReference.spec.ts | 48 ---- tests/e2e/DropdownReferenceSet.spec.ts | 55 ----- tests/e2e/pages/home.page.ts | 40 ++-- tests/mocks/Mendix.ts | 6 +- 12 files changed, 275 insertions(+), 384 deletions(-) create mode 100644 tests/e2e/Dropdown.spec.ts delete mode 100644 tests/e2e/DropdownReference.spec.ts delete mode 100644 tests/e2e/DropdownReferenceSet.spec.ts diff --git a/package-lock.json b/package-lock.json index 91b98b5..2b8df33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,9 +66,9 @@ "dev": true }, "@types/karma": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/karma/-/karma-3.0.0.tgz", - "integrity": "sha512-Z79ClBGWKLz+2Lr95JB0GIDWraSBObg9gC0yTF3m7J42/IhqYT1k1NzCqGaJN2DggpgaagJvMR/2eoiVX+fk+w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/karma/-/karma-3.0.1.tgz", + "integrity": "sha512-rhG6SCZEMbfkuvCBFsT9D7//X3wH2HlRwisZOayx/Jcd86Kg8UBv62/0T3C934CGiCE5Uupd+5FyEXkxOhxeYg==", "dev": true, "requires": { "@types/bluebird": "*", @@ -77,9 +77,9 @@ } }, "@types/node": { - "version": "10.12.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.10.tgz", - "integrity": "sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w==", + "version": "10.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.11.tgz", + "integrity": "sha512-3iIOhNiPGTdcUNVCv9e5G7GotfvJJe2pc9w2UgDXlUwnxSZ3RgcUocIU+xYm+rTU54jIKih998QE4dMOyMN1NQ==", "dev": true }, "@types/prop-types": { @@ -89,9 +89,9 @@ "dev": true }, "@types/react": { - "version": "16.7.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.7.tgz", - "integrity": "sha512-dJiq7CKxD1XJ/GqmbnsQisFnzG4z5lntKBw9X9qeSrguxFbrrhGa8cK9s0ONBp8wL1EfGfofEDVhjen26U46pw==", + "version": "16.7.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.11.tgz", + "integrity": "sha512-KZvX2XjzBPz+Dh7cjgDzzLxUmg4k8CnCSsB1V2Vtt1YtSIGe1sfHp2+Htl3S5DzeKrHnioaDHTMN/fjAvnEsSg==", "dev": true, "requires": { "@types/prop-types": "*", @@ -99,12 +99,11 @@ } }, "@types/react-dom": { - "version": "16.0.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.10.tgz", - "integrity": "sha512-CsUWfZBpj7SGBX/05bnvnsOUx+Uo6n7DoRVP7vYB5NWsanjHi60NWGZac8DstuXhdc7rasxI/j4D3hxgNSWlzg==", + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.11.tgz", + "integrity": "sha512-x6zUx9/42B5Kl2Vl9HlopV8JF64wLpX3c+Pst9kc1HgzrsH+mkehe/zmHMQTplIrR48H2gpU7ZqurQolYu8XBA==", "dev": true, "requires": { - "@types/node": "*", "@types/react": "*" } }, @@ -2338,9 +2337,9 @@ "dev": true }, "csstype": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz", - "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==", + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.8.tgz", + "integrity": "sha512-r4DbsyNJ7slwBSKoGesxDubRWJ71ghG8W2+1HcsDlAo12KGca9dDLv0u98tfdFw7ldBdoA7XmCnI6Q8LpAJXaQ==", "dev": true }, "currently-unhandled": { @@ -3218,22 +3217,6 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, - "event-stream": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.6.tgz", - "integrity": "sha512-dGXNg4F/FgVzlApjzItL+7naHutA3fDqbV/zAZqDDlXTjiMnQmZKu+prImWKszeBM5UQeGvAl3u1wBiKeDh61g==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "flatmap-stream": "^0.1.0", - "from": "^0.1.7", - "map-stream": "0.0.7", - "pause-stream": "^0.0.11", - "split": "^1.0.1", - "stream-combiner": "^0.2.2", - "through": "^2.3.8" - } - }, "eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", @@ -3652,10 +3635,21 @@ } }, "fibers": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fibers/-/fibers-3.0.0.tgz", - "integrity": "sha512-cAcOHOTbTMlcpNZvr94BNFsnBDBiEu9JP5MYcRLyl12HF/X0z3KvZyNzU9+BtI8lOIaV84PlDQJOKK3f5llJug==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-3.1.1.tgz", + "integrity": "sha512-dl3Ukt08rHVQfY8xGD0ODwyjwrRALtaghuqGH2jByYX1wpY+nAnRQjJ6Dbqq0DnVgNVQ9yibObzbF4IlPyiwPw==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3" + }, + "dependencies": { + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + } + } }, "figgy-pudding": { "version": "3.5.1", @@ -3762,10 +3756,10 @@ "resolve-dir": "^1.0.1" } }, - "flatmap-stream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.2.tgz", - "integrity": "sha512-ucyr6WkLXjyMuHPtOUq4l+nSAxgWi7v4QO508eQ9resnGj+lSup26oIsUI5aH8k4Qfpjsxa8dDf9UCKkS2KHzQ==", + "flatted": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", + "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", "dev": true }, "flush-write-stream": { @@ -3902,12 +3896,6 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", - "dev": true - }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -6470,9 +6458,9 @@ } }, "karma": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.1.tgz", - "integrity": "sha512-NetT3wPCQMNB36uiL9LLyhrOt8SQwrEKt0xD3+KpTCfm0VxVyUJdPL5oTq2Ic5ouemgL/Iz4wqXEbF3zea9kQQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.3.tgz", + "integrity": "sha512-JU4FYUtFEGsLZd6ZJzLrivcPj0TkteBiIRDcXWFsltPMGgZMDtby/MIzNOzgyZv/9dahs9vHpSxerC/ZfeX9Qw==", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -6485,11 +6473,12 @@ "di": "^0.0.1", "dom-serialize": "^2.2.0", "expand-braces": "^0.1.1", + "flatted": "^2.0.0", "glob": "^7.1.1", "graceful-fs": "^4.1.2", "http-proxy": "^1.13.0", "isbinaryfile": "^3.0.0", - "lodash": "^4.17.4", + "lodash": "^4.17.5", "log4js": "^3.0.0", "mime": "^2.3.1", "minimatch": "^3.0.2", @@ -6501,7 +6490,7 @@ "socket.io": "2.1.1", "source-map": "^0.6.1", "tmp": "0.0.33", - "useragent": "2.2.1" + "useragent": "2.3.0" }, "dependencies": { "colors": { @@ -7127,12 +7116,6 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, - "map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", - "dev": true - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -7849,16 +7832,16 @@ } }, "nodemon": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.6.tgz", - "integrity": "sha512-4pHQNYEZun+IkIC2jCaXEhkZnfA7rQe73i8RkdRyDJls/K+WxR7IpI5uNUsAvQ0zWvYcCDNGD+XVtw2ZG86/uQ==", + "version": "1.18.7", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.7.tgz", + "integrity": "sha512-xuC1V0F5EcEyKQ1VhHYD13owznQbUw29JKvZ8bVH7TmuvVNHvvbp9pLgE4PjTMRJVe0pJ8fGRvwR2nMiosIsPQ==", "dev": true, "requires": { "chokidar": "^2.0.4", "debug": "^3.1.0", "ignore-by-default": "^1.0.1", "minimatch": "^3.0.4", - "pstree.remy": "^1.1.0", + "pstree.remy": "^1.1.2", "semver": "^5.5.0", "supports-color": "^5.2.0", "touch": "^3.1.0", @@ -8306,9 +8289,9 @@ } }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==", "dev": true }, "parallel-transform": { @@ -8437,15 +8420,6 @@ "pify": "^3.0.0" } }, - "pause-stream": { - "version": "0.0.11", - "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "dev": true, - "requires": { - "through": "~2.3" - } - }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -8805,15 +8779,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "ps-tree": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", - "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", - "dev": true, - "requires": { - "event-stream": "~3.3.0" - } - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -8827,13 +8792,10 @@ "dev": true }, "pstree.remy": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.0.tgz", - "integrity": "sha512-q5I5vLRMVtdWa8n/3UEzZX7Lfghzrg9eG2IKk2ENLSofKRCXVqMvMUHxCKgXNaqH/8ebhBxrqftHWnyTFweJ5Q==", - "dev": true, - "requires": { - "ps-tree": "^1.1.0" - } + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.2.tgz", + "integrity": "sha512-vL6NLxNHzkNTjGJUpMm5PLC+94/0tTlC1vkP9bdU0pOHih+EujMjgMTwfZopZvHWRFbqJ5Y73OMoau50PewDDA==", + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -10545,15 +10507,6 @@ "wbuf": "^1.7.2" } }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" - } - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -10655,16 +10608,6 @@ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=", "dev": true }, - "stream-combiner": { - "version": "0.2.2", - "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", - "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", - "dev": true, - "requires": { - "duplexer": "~0.1.1", - "through": "~2.3.4" - } - }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -10930,9 +10873,9 @@ } }, "terser": { - "version": "3.10.11", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.11.tgz", - "integrity": "sha512-iruZ7j14oBbRYJC5cP0/vTU7YOWjN+J1ZskEGoF78tFzXdkK2hbCL/3TRZN8XB+MuvFhvOHMp7WkOCBO4VEL5g==", + "version": "3.10.13", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.13.tgz", + "integrity": "sha512-AgdHqw2leuADuHiP4Kkk1i40m10RMGguPaiCw6MVD6jtDR7N94zohGqAS2lkDXIS7eIkGit3ief3eQGh/Md+GQ==", "dev": true, "requires": { "commander": "~2.17.1", @@ -11313,9 +11256,9 @@ "dev": true }, "ts-loader": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.0.tgz", - "integrity": "sha512-lGSNs7szRFj/rK9T1EQuayE3QNLg6izDUxt5jpmq0RG1rU2bapAt7E7uLckLCUPeO1jwxCiet2oRaWovc53UAg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.1.tgz", + "integrity": "sha512-fDDgpBH3SR8xlt2MasLdz3Yy611PQ/UY/KGyo7TgXhTRU/6sS8uGG0nJYnU1OdFBNKcoYbId1UTNaAOUn+i41g==", "dev": true, "requires": { "chalk": "^2.3.0", @@ -11507,9 +11450,9 @@ "dev": true }, "typescript": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", - "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.1.tgz", + "integrity": "sha512-jw7P2z/h6aPT4AENXDGjcfHTu5CSqzsbZc6YlUIebTyBAq8XaKp78x7VcSh30xwSCcsu5irZkYZUSFP1MrAMbg==", "dev": true }, "uglify-js": { @@ -11811,21 +11754,13 @@ "dev": true }, "useragent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", - "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", + "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": "2.2.x", + "lru-cache": "4.1.x", "tmp": "0.0.x" - }, - "dependencies": { - "lru-cache": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", - "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", - "dev": true - } } }, "util": { @@ -11955,9 +11890,9 @@ "dev": true }, "wdio-jasmine-framework": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/wdio-jasmine-framework/-/wdio-jasmine-framework-0.3.7.tgz", - "integrity": "sha512-V89ONEVVbVYK5k6KT5WO05x+WJ1ye/1/m/aUg5ffkvz3GKYdEFN+yeQJ+dDks6AeHX37VJb2JSF0S5N8f1Ll/w==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/wdio-jasmine-framework/-/wdio-jasmine-framework-0.3.8.tgz", + "integrity": "sha512-oOM/h8HcXdmbFEZcm2Cm3rKxaz9o0KDk7pMwJ3Coqk29qDUwaUChZHrF3L1ls1mTxL28o5q8ad+Fbm6d4Kzdvg==", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -12044,9 +11979,9 @@ } }, "webdriverio": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.14.0.tgz", - "integrity": "sha512-642Iqp9en2hvuVINkTfQvWoQCaLb6zJyLHgQFUFLx7s+8l8GnrHzMjkv5DbecZHwnBkhybpphbTW7k0B2ARH5A==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.14.1.tgz", + "integrity": "sha512-Gjb5ft6JtO7WdoZifedeM6U941UZi03IlG0t3Xq9M9SxSm6FuyqMEmNZ4HI3UcBRkSbWxdOWGAvpFShYxVr7iA==", "dev": true, "requires": { "archiver": "~2.1.0", @@ -12074,9 +12009,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", - "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -12225,9 +12160,9 @@ } }, "webpack": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.26.0.tgz", - "integrity": "sha512-J/dP9SJIc5OtX2FZ/+U9ikQtd6H6Mcbqt0xeXtmPwYGDKf8nkbOQQA9KL2Y0rJOsN1Al9Pdn+/j63X58ub8gvQ==", + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.26.1.tgz", + "integrity": "sha512-i2oOvEvuvLLSuSCkdVrknaxAhtUZ9g+nLSoHCWV0gDzqGX2DXaCrMmMUpbRsTSSLrUqAI56PoEiyMUZIZ1msug==", "dev": true, "requires": { "@webassemblyjs/ast": "1.7.11", @@ -12263,9 +12198,9 @@ "dev": true }, "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", + "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", "dev": true }, "webpack-sources": { diff --git a/package.json b/package.json index 4c83f55..fd5310c 100644 --- a/package.json +++ b/package.json @@ -44,10 +44,10 @@ "@types/enzyme": "^3.1.15", "@types/enzyme-adapter-react-16": "^1.0.2", "@types/jasmine": "^3.3.0", - "@types/karma": "^3.0.0", - "@types/node": "^10.12.10", - "@types/react": "^16.7.7", - "@types/react-dom": "^16.0.10", + "@types/karma": "^3.0.1", + "@types/node": "^10.12.11", + "@types/react": "^16.7.10", + "@types/react-dom": "^16.0.11", "@types/react-select": "^1.3.0", "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", @@ -70,7 +70,7 @@ "istanbul": "^0.4.3", "istanbul-instrumenter-loader": "^3.0.1", "jasmine": "^3.3.0", - "karma": "^3.1.1", + "karma": "^3.1.3", "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", "karma-jasmine": "^2.0.1", @@ -82,7 +82,7 @@ "mendix-client": "^7.15.4", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.10.0", - "nodemon": "^1.18.6", + "nodemon": "^1.18.7", "pre-commit": "^1.2.2", "raw-loader": "^0.5.1", "react": "^16.6.3", @@ -94,16 +94,16 @@ "serviceworker-webpack-plugin": "^1.0.0-alpha02", "source-map-loader": "^0.2.4", "style-loader": "^0.23.1", - "ts-loader": "^5.3.0", + "ts-loader": "^5.3.1", "tslint": "^5.11.0", "tslint-eslint-rules": "^5.4.0", - "typescript": "^3.1.6", + "typescript": "^3.2.1", "wdio-dot-reporter": "0.0.10", - "wdio-jasmine-framework": "^0.3.7", + "wdio-jasmine-framework": "^0.3.8", "wdio-selenium-standalone-service": "0.0.11", "wdio-spec-reporter": "^0.1.3", - "webdriverio": "^4.14.0", - "webpack": "^4.26.0", + "webdriverio": "^4.14.1", + "webpack": "^4.26.1", "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.10", diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index dc5a396..9ad6bbb 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -12,7 +12,7 @@ export interface DropdownReferenceProps { styleObject?: object; labelWidth: number; data: ReferenceOption[]; - asyncData: LoadOptionsHandler<{}>; + asyncData?: LoadOptionsHandler<{}>; value?: string; labelCaption: string; showLabel: boolean; diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 778c15a..aee989e 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -113,9 +113,9 @@ class DropdownReferenceContainer extends Component { - const { editable, mxObject, readOnly, attribute } = this.props; + const { editable, mxObject, readOnly } = this.props; - return editable !== "default" || (!mxObject || readOnly || !!(attribute && mxObject.isReadonlyAttr(attribute))); + return editable !== "default" || !mxObject || readOnly; } private resetSubscriptions(mxObject?: mendix.lib.MxObject) { diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index e912361..773a103 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -1,100 +1,71 @@ -// import { shallow } from "enzyme"; -// import { createElement } from "react"; +import { shallow } from "enzyme"; +import { createElement } from "react"; -// import Select from "react-select"; -// import { Label } from "../../../SharedResources/components/Label"; -// import { DropdownReference, DropdownReferenceProps } from "../DropdownReference"; -// import { Alert } from "../../../SharedResources/components/Alert"; +import Select from "react-select"; +import { Label } from "../../../SharedResources/components/Label"; +import { DropdownReference, DropdownReferenceProps } from "../DropdownReference"; +import { Alert } from "../../../SharedResources/components/Alert"; -// describe("DropdownReference", () => { -// const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); -// const ReferenceProps: DropdownReferenceProps = { -// emptyOptionCaption: "Select city", -// labelWidth: 3, -// data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], -// value: "Kampala", -// labelCaption: "City", -// loaded: false, -// showLabel: true, -// isClearable: true, -// isReadOnly: false, -// selectType: "normal", -// selectedValue: { value: "Kampala" , label: "kampalaId" } || null, -// handleOnchange: jasmine.createSpy("onClick"), -// readOnlyStyle: "control", -// labelOrientation: "horizontal", -// alertMessage: "No text", -// searchText: "search", -// loadingText: "loading", -// minimumCharacter: 1 -// }; +describe("DropdownReference", () => { + const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); + const ReferenceProps: DropdownReferenceProps = { + emptyOptionCaption: "Select city", + labelWidth: 3, + data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], + value: "Kampala", + labelCaption: "City", + showLabel: true, + isClearable: true, + isReadOnly: false, + selectType: "normal", + selectedValue: { value: "Kampala" , label: "kampalaId" } || null, + handleOnchange: jasmine.createSpy("onClick"), + readOnlyStyle: "control", + labelOrientation: "horizontal", + alertMessage: "No text", + searchText: "search", + loadingText: "loading", + minimumCharacter: 1 + }; -// it("renders the structure correctly", () => { -// const DropdownReferenceComponent = render(ReferenceProps); -// DropdownReferenceComponent.setProps({ loaded: true }); + it("renders the structure correctly", () => { + const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ loaded: true }); -// expect(DropdownReferenceComponent).toBeElement( -// createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, -// createElement("div", { className: "widget-dropdown-reference" }, -// createElement(Select, { -// clearable: true, -// noResultsText: "", -// disabled: false, -// value: { value: "Kampala" , label: "kampalaId" }, -// onChange: jasmine.any(Function) as any, -// clearValueText: "", -// options: [ { value: "Kampala" , label: "kampalaId" } ], -// onInputChange: jasmine.any(Function) as any -// }), -// createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) -// ) -// ); -// }); + expect(DropdownReferenceComponent).toBeElement( + createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, + createElement("div", { className: "widget-dropdown-reference", onClick: jasmine.any(Function) }, + createElement(Select, { + clearable: true, + noResultsText: "No results found", + disabled: false, + value: { value: "Kampala" , label: "kampalaId" }, + onChange: jasmine.any(Function) as any, + clearValueText: "Clear value", + options: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ] + }), + createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) + ) + ); + }); -// it("with no label caption renders the structure correctly", () => { -// const DropdownReferenceComponent = render(ReferenceProps); -// DropdownReferenceComponent.setProps({ loaded: true }); + it("with no label caption renders the structure correctly", () => { + const DropdownReferenceComponent = render(ReferenceProps); + DropdownReferenceComponent.setProps({ loaded: true }); -// DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); -// expect(DropdownReferenceComponent).toBeElement( -// createElement("div", { className: "widget-dropdown-reference" }, -// createElement(Select, { -// clearable: true, -// noResultsText: "", -// disabled: false, -// value: { value: "Kampala" , label: "kampalaId" }, -// onChange: jasmine.any(Function) as any, -// clearValueText: "", -// options: [ { value: "Kampala" , label: "kampalaId" } ], -// onInputChange: jasmine.any(Function) as any -// }), -// createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) -// ); -// }); - -// it("that is still loading renders with the structure", () => { -// const DropdownReferenceComponent = render(ReferenceProps); -// DropdownReferenceComponent.setProps({ loaded: false }); - -// expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); -// }); - -// describe("with readOnlyStyle as 'text'", () => { -// it("renders with the structure with a selected value", () => { -// const DropdownReferenceComponent = render(ReferenceProps); -// DropdownReferenceComponent.setProps({ readOnlyStyle: "text" }); - -// // tslint:disable-next-line:no-console -// console.log(DropdownReferenceComponent.html()); - -// expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); -// }); - -// it("renders with the structure with a no value", () => { -// const DropdownReferenceComponent = render(ReferenceProps); -// DropdownReferenceComponent.setProps({ readOnlyStyle: "text", selectedValue: null }); - -// expect(DropdownReferenceComponent).toBeElement(createElement("div", { className: "loading-data" })); -// }); -// }); -// }); + DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); + expect(DropdownReferenceComponent).toBeElement( + createElement("div", { className: "widget-dropdown-reference", onClick: jasmine.any(Function) }, + createElement(Select, { + clearable: true, + noResultsText: "No results found", + disabled: false, + value: { value: "Kampala" , label: "kampalaId" }, + onChange: jasmine.any(Function) as any, + clearValueText: "Clear value", + options: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ] + }), + createElement(Alert, { className: "widget-dropdown-type-ahead-alert", bootstrapStyle: "danger" }, "No text")) + ); + }); +}); diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index e739e18..35f82fa 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -46,7 +46,7 @@ class DropdownReferenceSetContainer extends Component void = this.onChange.bind(this); + private readonly handleOnClick: (selectedOption: ReferenceOption | any) => void = this.onChange.bind(this); render() { return createElement(DropdownReferenceSet, { @@ -93,9 +93,9 @@ class DropdownReferenceSetContainer extends Component { - const { editable, mxObject, readOnly, attribute } = this.props; + const { editable, mxObject, readOnly } = this.props; - return editable !== "default" || (!mxObject || readOnly || !(attribute && mxObject.isReadonlyAttr(attribute))); + return editable !== "default" || !mxObject || readOnly; } private resetSubscriptions(mxObject?: mendix.lib.MxObject) { @@ -127,7 +127,7 @@ class DropdownReferenceSetContainer extends Component = ({ children, className, label, style, weight, orientation }) => { weight = (weight > 11 || weight < 1) ? 3 : weight; - const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : "col-sm-1"; - const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : "col-sm-12"; + const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : ""; + const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : ""; return createElement("div", { className: classNames("form-group", className), style }, createElement("label", { className: `control-label ${labelWeight}` }, label), diff --git a/tests/e2e/Dropdown.spec.ts b/tests/e2e/Dropdown.spec.ts new file mode 100644 index 0000000..3881e9c --- /dev/null +++ b/tests/e2e/Dropdown.spec.ts @@ -0,0 +1,88 @@ +import homePage from "./pages/home.page"; + +const defaultOption = "Select city"; +const defaultOption2 = "Select users"; + +describe("Dropdown reference ", () => { + it("should populate multiple values in a dropdown list", () => { + homePage.open(); + homePage.dropDownSelector.waitForValue(); + browser.pause(500); + homePage.dropDownSelector.click(); + homePage.dropDownOptions.waitForValue(); + browser.pause(500); + + const options = homePage.dropDownOptions.value.length; + + expect(options).toBeGreaterThan(1); + }); + + it("should select an option from the drop-down menu", () => { + homePage.dropDownSelector.waitForExist(); + homePage.clearIndicator.click(); + browser.pause(100); + expect(homePage.selectPlaceholder).toBe(defaultOption); + + homePage.dropDownSelector.click(); + homePage.dropDownOptions.waitForExist(); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("Enter"); + + homePage.dropDownSelector.waitForValue(); + expect(homePage.selectedElement.getHTML()).toContain(homePage.selectedValue); + }); + + it("should clear the selected option", () => { + homePage.open(); + homePage.dropDownSelector.waitForExist(); + + browser.pause(1000); + expect(homePage.selectedElement.getHTML()).toContain(homePage.selectedValue); + + homePage.clearIndicator.click(); + homePage.dropDownSelector.waitForValue(); + + expect(homePage.selectPlaceholder).toBe(defaultOption); + }); +}); + +describe("Dropdown reference set ", () => { + xit("should select multi options from the drop-down menu", () => { + homePage.open(); + homePage.dropDownReferenceSet.waitForExist(); + homePage.clearSetIndicator.click(); + expect(homePage.selectSetPlaceholder).toBe(defaultOption2); + + homePage.dropDownReferenceSet.click(); + homePage.dropDownOptions2.waitForExist(); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("Enter"); + + homePage.dropDownReferenceSet.click(); + homePage.dropDownOptions2.waitForExist(); + browser.keys("ArrowDown"); + browser.keys("ArrowDown"); + browser.keys("Enter"); + + homePage.dropDownReferenceSet.waitForValue(); + expect(homePage.selectedSetElement.getHTML()).toContain(homePage.selectedSetValue); + }); + + it("should clear the selected options", () => { + homePage.open(); + homePage.dropDownReferenceSet.waitForExist(); + browser.pause(1000); + + expect(homePage.selectedSetElement.getHTML()).toContain(homePage.selectedSetValue); + + homePage.clearSetIndicator.click(); + browser.pause(1000); + homePage.dropDownReferenceSet.waitForValue(); + + expect(homePage.selectSetPlaceholder).toBe(defaultOption2); + }); +}); diff --git a/tests/e2e/DropdownReference.spec.ts b/tests/e2e/DropdownReference.spec.ts deleted file mode 100644 index f8e4b9d..0000000 --- a/tests/e2e/DropdownReference.spec.ts +++ /dev/null @@ -1,48 +0,0 @@ -import homePage from "./pages/home.page"; - -const defaultOption = "Select city"; - -xdescribe("Dropdown reference ", () => { - it("should populate multiple values in a dropdown list", () => { - homePage.open(); - homePage.dropDownSelector.waitForExist(); - - homePage.dropDownSelector.click(); - homePage.dropDownOptions.waitForExist(); - browser.waitUntil(() => { - browser.debug(); - const dropDownOptions: WebdriverIO.Element[] = homePage.dropDownOptions.value; - - return dropDownOptions.length > 1; - }); - }); - - it("should select an option from the drop-down menu", () => { - homePage.open(); - homePage.dropDownSelector.waitForExist(); - homePage.clearIndicator.click(); - expect(homePage.selectPlaceholder).toBe(defaultOption); - - homePage.dropDownSelector.click(); - homePage.dropDownOptions.waitForExist(); - browser.keys("ArrowDown"); - browser.keys("ArrowDown"); - browser.keys("ArrowDown"); - browser.keys("Enter"); - - homePage.dropDownSelector.waitForValue(); - expect(homePage.selectedElement.getHTML()).toContain(homePage.selectedValue); - }); - - it("should clear the selected option", () => { - homePage.open(); - homePage.dropDownSelector.waitForExist(); - - expect(homePage.selectedElement.getHTML()).toContain(homePage.selectedValue); - - homePage.clearIndicator.click(); - homePage.dropDownSelector.waitForValue(); - - expect(homePage.selectPlaceholder).toBe(defaultOption); - }); -}); diff --git a/tests/e2e/DropdownReferenceSet.spec.ts b/tests/e2e/DropdownReferenceSet.spec.ts deleted file mode 100644 index 9a644c5..0000000 --- a/tests/e2e/DropdownReferenceSet.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -import homePage from "./pages/home.page"; - -const defaultOption = "Select users"; - -xdescribe("Dropdown reference set ", () => { - - it("should populate multiple values in a dropdown list", () => { - homePage.open(); - homePage.dropDownReferenceSet.waitForExist(); - - homePage.dropDownReferenceSet.click(); - homePage.dropDownOptions.waitForExist(); - - browser.waitUntil(() => { - const dropDownOptions: WebdriverIO.Element[] = homePage.dropDownOptions.value; - - return dropDownOptions.length > 1; - }, 5000, "expected more 1 option to be populated"); - }); - - it("should select multi options from the drop-down menu", () => { - homePage.open(); - homePage.dropDownReferenceSet.waitForExist(); - homePage.clearSetIndicator.click(); - expect(homePage.selectSetPlaceholder).toBe(defaultOption); - - homePage.dropDownReferenceSet.click(); - homePage.dropDownOptions.waitForExist(); - browser.keys("ArrowDown"); - browser.keys("ArrowDown"); - browser.keys("ArrowDown"); - browser.keys("Enter"); - - homePage.dropDownReferenceSet.click(); - homePage.dropDownOptions.waitForExist(); - browser.keys("ArrowDown"); - browser.keys("ArrowDown"); - browser.keys("Enter"); - - homePage.dropDownReferenceSet.waitForValue(); - expect(homePage.selectedSetElement.getHTML()).toContain(homePage.selectedSetValue); - }); - - it("should clear the selected options", () => { - homePage.open(); - homePage.dropDownReferenceSet.waitForExist(); - - expect(homePage.selectedSetElement.getHTML()).toContain(homePage.selectedSetValue); - - homePage.clearSetIndicator.click(); - homePage.dropDownReferenceSet.waitForValue(); - - expect(homePage.selectSetPlaceholder).toBe(defaultOption); - }); -}); diff --git a/tests/e2e/pages/home.page.ts b/tests/e2e/pages/home.page.ts index 3c537f7..5ce967d 100644 --- a/tests/e2e/pages/home.page.ts +++ b/tests/e2e/pages/home.page.ts @@ -1,10 +1,30 @@ class HomePage { public get dropDownSelector() { - return browser.element(".mx-name-dropdownReference1 .Select-control"); + return browser.element(".mx-name-dropdownReference1"); + } + + public get dropDownOptions() { + return browser.elements(".mx-name-dropdownReference1 .Select-menu-outer .Select-menu .Select-option"); + } + + public get dropDownOptions2() { + return browser.elements(".mx-name-dropdownReferenceSet1 .Select-menu-outer .Select-menu .Select-option"); + } + + public get selectPlaceholder() { + return browser.getText(".mx-name-dropdownReference1 .Select-control .Select-placeholder"); } public get dropDownReferenceSet() { - return browser.element(".mx-name-dropdownReferenceSet2 .Select-control"); + return browser.element(".mx-name-dropdownReferenceSet1"); + } + + public get selectedElement() { + return browser.element(".mx-name-dropdownReference1 .Select-control .Select-value-label"); + } + + public get clearIndicator() { + return browser.element(".mx-name-dropdownReference1 .Select-clear-zone .Select-clear"); } public get selectedValue() { @@ -15,34 +35,18 @@ class HomePage { return browser.getText("#react-select-3--value-0").trim(); } - public get selectPlaceholder() { - return browser.getText(".mx-name-dropdownReference1 .Select-control .Select-placeholder"); - } - public get selectSetPlaceholder() { return browser.getText(".mx-name-dropdownReferenceSet2 .Select-control .Select-placeholder"); } - public get selectedElement() { - return browser.element(".mx-name-dropdownReference1 .Select-control .Select-value-label"); - } - public get selectedSetElement() { return browser.element(".mx-name-dropdownReferenceSet2 .Select-control .Select-value-label"); } - public get clearIndicator() { - return browser.element(".mx-name-dropdownReference1 .Select-clear-zone .Select-clear"); - } - public get clearSetIndicator() { return browser.element(".mx-name-dropdownReferenceSet2 .Select-clear-zone .Select-clear"); } - public get dropDownOptions() { - return browser.elements(".Select-option"); - } - public open(): void { browser.url("/p/home"); } diff --git a/tests/mocks/Mendix.ts b/tests/mocks/Mendix.ts index d122412..922a780 100644 --- a/tests/mocks/Mendix.ts +++ b/tests/mocks/Mendix.ts @@ -1,9 +1,5 @@ /* tslint:disable */ -interface OnlineData { - getByXpath(xpath: string, options?:{ count: boolean, sort: Sort[] }): Promise<{count: number, mxobjs: mendix.lib.MxObject[]}>; -} -type Sort = [ string, "desc" | "asc" ]; class MxMock implements mx.MxInterface { appUrl: string = ""; baseUrl: string = ""; @@ -18,9 +14,9 @@ class MxMock implements mx.MxInterface { server!: mx.server; session!: mx.session; ui!: mx.ui; + onlineData!: mx.OnlineData; onError(_error: Error): void { /* */ } isOffline(): boolean { return false; } - onlineData!: OnlineData; } class MxUiMock implements mx.ui { From fb4654c61dcf43754aaa5b87fbe97429c94e0696 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Wed, 5 Dec 2018 10:50:26 +0300 Subject: [PATCH 80/89] Refactor code --- package-lock.json | 595 +----------------- package.json | 1 - .../DropdownReference.webmodeler.ts | 1 + .../components/DropdownReference.ts | 39 +- .../components/DropdownReferenceContainer.ts | 5 +- .../__tests__/DropdownReference.spec.ts | 7 +- .../DropdownReferenceSet.webmodeler.ts | 3 +- .../components/DropdownReferenceSet.ts | 34 +- .../DropdownReferenceSetContainer.ts | 1 + src/SharedResources/ui/Dropdown.scss | 12 +- src/SharedResources/utils/ContainerUtils.ts | 30 + 11 files changed, 76 insertions(+), 652 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b8df33..5bedd14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -398,48 +398,6 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "ansi-colors": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.1.tgz", @@ -1196,89 +1154,6 @@ "untildify": "^2.1.0" } }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -1529,12 +1404,6 @@ "map-obj": "^1.0.0" } }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", - "dev": true - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -1689,12 +1558,6 @@ "tslib": "^1.9.0" } }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1739,12 +1602,6 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -1978,20 +1835,6 @@ "typedarray": "^0.0.6" } }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, "connect": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", @@ -2158,15 +2001,6 @@ "elliptic": "^6.0.0" } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -2232,12 +2066,6 @@ "randomfill": "^1.0.3" } }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, "css": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", @@ -2452,7 +2280,8 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true + "dev": true, + "optional": true }, "deep-for-each": { "version": "2.0.3", @@ -2790,15 +2619,6 @@ "domelementtype": "1" } }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -2840,12 +2660,6 @@ } } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "duplexify": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", @@ -4629,15 +4443,6 @@ } } }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -4716,25 +4521,6 @@ "sparkles": "^1.0.0" } }, - "got": { - "version": "6.7.1", - "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - } - }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", @@ -5527,12 +5313,6 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, "iltorb": { "version": "1.3.10", "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-1.3.10.tgz", @@ -5546,12 +5326,6 @@ "prebuild-install": "^2.3.0" } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -5860,15 +5634,6 @@ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5953,22 +5718,6 @@ "is-extglob": "^2.1.0" } }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -5995,12 +5744,6 @@ "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", "dev": true }, - "is-obj": { - "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -6040,12 +5783,6 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -6055,12 +5792,6 @@ "has": "^1.0.1" } }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -6674,15 +6405,6 @@ "graceful-fs": "^4.1.9" } }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "^4.0.0" - } - }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", @@ -7070,12 +6792,6 @@ "signal-exit": "^3.0.0" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -7831,50 +7547,6 @@ "xml2js": "^0.4.17" } }, - "nodemon": { - "version": "1.18.7", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.7.tgz", - "integrity": "sha512-xuC1V0F5EcEyKQ1VhHYD13owznQbUw29JKvZ8bVH7TmuvVNHvvbp9pLgE4PjTMRJVe0pJ8fGRvwR2nMiosIsPQ==", - "dev": true, - "requires": { - "chokidar": "^2.0.4", - "debug": "^3.1.0", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.2", - "semver": "^5.5.0", - "supports-color": "^5.2.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.2", - "update-notifier": "^2.3.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "nomnom": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz", @@ -8276,18 +7948,6 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, "pako": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", @@ -8718,12 +8378,6 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, "pretty-bytes": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", @@ -8791,12 +8445,6 @@ "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", "dev": true }, - "pstree.remy": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.2.tgz", - "integrity": "sha512-vL6NLxNHzkNTjGJUpMm5PLC+94/0tTlC1vkP9bdU0pOHih+EujMjgMTwfZopZvHWRFbqJ5Y73OMoau50PewDDA==", - "dev": true - }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -8953,6 +8601,7 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "optional": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -8964,7 +8613,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "dev": true, + "optional": true } } }, @@ -9216,25 +8866,6 @@ "regjsparser": "^0.1.4" } }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -9899,15 +9530,6 @@ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "^5.0.3" - } - }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", @@ -10746,7 +10368,8 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "dev": true, + "optional": true }, "style-loader": { "version": "0.23.1", @@ -10835,43 +10458,6 @@ "xtend": "^4.0.0" } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - } - } - }, "terser": { "version": "3.10.13", "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.13.tgz", @@ -11076,12 +10662,6 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -11191,26 +10771,6 @@ "repeat-string": "^1.6.1" } }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", @@ -11480,15 +11040,6 @@ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "undefsafe": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", - "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", - "dev": true, - "requires": { - "debug": "^2.2.0" - } - }, "underscore": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", @@ -11558,15 +11109,6 @@ "imurmurhash": "^0.1.4" } }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" - } - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -11622,67 +11164,12 @@ "os-homedir": "^1.0.0" } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", "dev": true }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -11738,15 +11225,6 @@ "requires-port": "^1.0.0" } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -12937,48 +12415,6 @@ "string-width": "^1.0.2 || 2" } }, - "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "dev": true, - "requires": { - "string-width": "^2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -13017,17 +12453,6 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -13039,12 +12464,6 @@ "ultron": "~1.1.0" } }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", diff --git a/package.json b/package.json index fd5310c..f26bf86 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,6 @@ "mendix-client": "^7.15.4", "mendix-widget-build-script": "^1.0.0-rc2", "node-sass": "^4.10.0", - "nodemon": "^1.18.7", "pre-commit": "^1.2.2", "raw-loader": "^0.5.1", "react": "^16.6.3", diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 2a34d77..301af8e 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -30,6 +30,7 @@ export class preview extends Component { labelCaption: this.props.labelCaption ? this.props.labelCaption.trim() : "", labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, + location: this.props.location, readOnlyStyle: this.props.readOnlyStyle, selectedValue, searchText: this.props.searchText, diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 9ad6bbb..747fc1f 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -1,41 +1,14 @@ import { Component, createElement } from "react"; import * as classNames from "classnames"; -import Select, { Async, LoadOptionsHandler } from "react-select"; +import Select, { Async } from "react-select"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; +import { DropdownReferenceProps } from "../../SharedResources/utils/ContainerUtils"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; -export interface DropdownReferenceProps { - styleObject?: object; - labelWidth: number; - data: ReferenceOption[]; - asyncData?: LoadOptionsHandler<{}>; - value?: string; - labelCaption: string; - showLabel: boolean; - emptyOptionCaption: string; - isClearable: boolean; - isReadOnly: boolean; - selectedValue: any; - className?: string; - alertMessage: string; - searchText: string; - loadingText: string; - minimumCharacter: number; - labelOrientation: "horizontal" | "vertical"; - readOnlyStyle: "control" | "text"; - selectType: "normal" | "asynchronous"; - handleOnchange?: (selectedOption: any) => void; -} - -export interface ReferenceOption { - value?: string | boolean; - label?: string; -} - export class DropdownReference extends Component { render() { return this.props.showLabel @@ -51,7 +24,8 @@ export class DropdownReference extends Component { componentDidMount() { const scrollContainer = document.querySelector(".region-content .mx-scrollcontainer-wrapper"); - if (scrollContainer) { + if (scrollContainer && this.props.location === "popup") { + (document.getElementsByClassName("widget-dropdown-reference")[0] as HTMLElement).style.overflow = "hidden"; const dropdown = document.getElementsByClassName("Select-menu-outer"); scrollContainer.addEventListener("scroll", () => { dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); @@ -99,9 +73,10 @@ export class DropdownReference extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); const dropdownElement = dropdown[0] as HTMLElement; - if (dropdownElement && dropdownElement.style.visibility !== "visible") { + if (dropdownElement && dropdownElement.style.visibility !== "visible" && this.props.location === "popup") { + dropdownElement.style.visibility = "hidden"; const dropdownDimensions = dropdown[0].getBoundingClientRect(); - if (dropdownElement && dropdownDimensions) { + if (dropdownDimensions) { dropdownElement.style.width = dropdownDimensions.width - .08 + "px"; dropdownElement.style.left = dropdownDimensions.left + "px"; dropdownElement.style.top = dropdownDimensions.top + "px"; diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index aee989e..ebbed97 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -2,9 +2,9 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; -import { AttributeType, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { AttributeType, DropdownReferenceProps, ReferenceOption, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; -import { DropdownReference, DropdownReferenceProps, ReferenceOption } from "./DropdownReference"; +import { DropdownReference } from "./DropdownReference"; interface WrapperProps { class: string; @@ -61,6 +61,7 @@ class DropdownReferenceContainer extends Component { const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); const ReferenceProps: DropdownReferenceProps = { + asyncData: jasmine.any(Function), emptyOptionCaption: "Select city", labelWidth: 3, data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], value: "Kampala", labelCaption: "City", + location: "content", showLabel: true, isClearable: true, isReadOnly: false, @@ -30,7 +33,6 @@ describe("DropdownReference", () => { it("renders the structure correctly", () => { const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ loaded: true }); expect(DropdownReferenceComponent).toBeElement( createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, @@ -51,7 +53,6 @@ describe("DropdownReference", () => { it("with no label caption renders the structure correctly", () => { const DropdownReferenceComponent = render(ReferenceProps); - DropdownReferenceComponent.setProps({ loaded: true }); DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); expect(DropdownReferenceComponent).toBeElement( diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index db35d53..c1f39ee 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -30,8 +30,9 @@ export class preview extends Component { labelCaption: this.props.labelCaption ? this.props.labelCaption.trim() : "", labelOrientation: this.props.labelOrientation, labelWidth: this.props.labelWidth, + location: this.props.location, readOnlyStyle: this.props.readOnlyStyle, - selectedValue, + selectedValue: this.props.selectedValue, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style), searchText: this.props.searchText, diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 3e9b56a..1b09a94 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -19,11 +19,12 @@ export interface DropdownReferenceSetProps { isClearable: boolean; isReadOnly: boolean; selectType: "normal" | "asynchronous"; - selectedValue: any; + selectedValue: ReferenceOption[]; handleOnchange?: (selectedOption: any) => void; className?: string; readOnlyStyle: "control" | "text"; labelOrientation: "horizontal" | "vertical"; + location: "content" | "popup" | "modal" | "node"; alertMessage: string; searchText: string; loadingText: string; @@ -31,8 +32,8 @@ export interface DropdownReferenceSetProps { } export interface ReferenceOption { - value?: string | boolean; - label?: string; + value: string | boolean; + label: string; } export class DropdownReferenceSet extends Component { @@ -50,8 +51,9 @@ export class DropdownReferenceSet extends Component { componentDidMount() { const scrollContainer = document.querySelector(".region-content .mx-scrollcontainer-wrapper"); - if (scrollContainer) { + if (scrollContainer && this.props.location === "popup") { const dropdown = document.getElementsByClassName("Select-menu-outer"); + (document.getElementsByClassName("widget-dropdown-reference-set")[0] as HTMLElement).style.overflow = "hidden"; scrollContainer.addEventListener("scroll", () => { dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); const activeElement = document.activeElement; @@ -64,13 +66,11 @@ export class DropdownReferenceSet extends Component { private renderSelector() { const commonProps = { - autoload: false, clearable: this.props.isClearable, multi: true, removeSelected: true, disabled: this.props.isReadOnly, onChange: this.props.handleOnchange, - onCloseResetsInput: false, ...this.createSelectorProp() }; @@ -90,19 +90,18 @@ export class DropdownReferenceSet extends Component { }) : createElement(Select, { options: this.props.data, - noResultsText: "", ...commonProps }) : createElement(Async, { autoload: false, - onCloseResetsInput: false, + autoFocus: true, + loadOptions: this.props.asyncData, searchPromptText: this.props.minimumCharacter > 0 - ? `Type more than ${this.props.minimumCharacter} characters to search` + ? `Type more than ${this.props.minimumCharacter} character(s) to search` : "Type to search", - loadOptions: this.props.asyncData, ...commonProps }), - createElement(Alert, { className: "widget-dropdown-reference-set-alert" }, this.props.alertMessage) + createElement(Alert, { className: "widget-dropdown-type-ahead-alert" }, this.props.alertMessage) ); } else { return createElement("p", { className: classNames("form-control-static", "read-only-text") }, @@ -114,9 +113,10 @@ export class DropdownReferenceSet extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); const dropdownElement = dropdown[0] as HTMLElement; - if (dropdownElement && dropdownElement.style.visibility !== "visible") { - const dropdownDimensions = dropdownElement.getBoundingClientRect(); - if (dropdownElement && dropdownDimensions) { + if (dropdownElement && dropdownElement.style.visibility !== "visible" && this.props.location === "popup") { + dropdownElement.style.visibility = "hidden"; + const dropdownDimensions = dropdown[0].getBoundingClientRect(); + if (dropdownDimensions) { dropdownElement.style.width = dropdownDimensions.width - .08 + "px"; dropdownElement.style.left = dropdownDimensions.left + "px"; dropdownElement.style.top = dropdownDimensions.top + "px"; @@ -136,12 +136,12 @@ export class DropdownReferenceSet extends Component { private processOptions() { let selectedLabel = ""; - let formatedOptions = [] as any; + let formatedOptions: string[] = []; if (this.props.selectedValue.length > 0) { - formatedOptions = this.props.selectedValue.map((selectedGuid: any) => { + formatedOptions = this.props.selectedValue.map((selectedGuid: ReferenceOption) => { if (this.props.selectedValue) { - this.props.selectedValue.forEach((dataObject: any) => { + this.props.selectedValue.forEach((dataObject: ReferenceOption) => { const value = dataObject.value; if (value === selectedGuid.value) { selectedLabel = dataObject.label; diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 35f82fa..2c5de75 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -62,6 +62,7 @@ class DropdownReferenceSetContainer extends Component .Select-control { - border-color: #0595DB; + border-color: #0595db; box-shadow: unset; } - .Select.has-value.is-focused.is-open > .Select-control { - border-color: #0595DB; + select.has-value.is-focused.is-open > .Select-control { + border-color: #0595db; box-shadow: unset; } .Select-menu-outer { - border-color: #0595DB; + border-color: #0595db; box-shadow: none; - top: auto; - visibility: hidden; } } diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index b3483c0..875f242 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -1,11 +1,41 @@ import { ContainerProps } from "../../DropdownReference/components/DropdownReferenceContainer"; import { ContainerProps as ReferenceSetProps } from "../../DropdownReferenceSet/components/DropdownReferenceSetContainer"; +import { LoadOptionsHandler } from "react-select"; export interface AttributeType { name: string; sort: string; } +export interface ReferenceOption { + value?: string | boolean; + label?: string; +} + +export interface DropdownReferenceProps { + styleObject?: object; + labelWidth: number; + data: ReferenceOption[]; + asyncData: LoadOptionsHandler<{}>; + value?: string; + labelCaption: string; + showLabel: boolean; + emptyOptionCaption: string; + isClearable: boolean; + isReadOnly: boolean; + selectedValue: any; + className?: string; + alertMessage: string; + searchText: string; + loadingText: string; + minimumCharacter: number; + labelOrientation: "horizontal" | "vertical"; + location: "content" | "popup" | "modal" | "node"; + readOnlyStyle: "control" | "text"; + selectType: "normal" | "asynchronous"; + handleOnchange?: (selectedOption: any) => void; +} + export const parseStyle = (style = ""): { [key: string]: string } => { try { return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { From b854f915bbff0d83a536b0724f0b2742882ad410 Mon Sep 17 00:00:00 2001 From: Andries Smit Date: Wed, 5 Dec 2018 14:44:31 +0100 Subject: [PATCH 81/89] Fix prevent early options loading for async --- src/DropdownReference/components/DropdownReferenceContainer.ts | 2 ++ .../components/DropdownReferenceSetContainer.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index ebbed97..16e5cfd 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -76,7 +76,9 @@ class DropdownReferenceContainer extends Component Date: Wed, 5 Dec 2018 15:42:57 +0100 Subject: [PATCH 82/89] Add lazy contraint xpath start contains --- .../DropdownReference.webmodeler.ts | 10 ++--- src/DropdownReference/DropdownReference.xml | 19 ++++++--- .../components/DropdownReferenceContainer.ts | 39 ++++++++++--------- .../__tests__/DropdownReference.spec.ts | 1 + .../DropdownReferenceSet.webmodeler.ts | 9 +++-- .../DropdownReferenceSet.xml | 11 +++++- .../components/DropdownReferenceSet.ts | 1 + .../DropdownReferenceSetContainer.ts | 30 +++++++------- src/SharedResources/utils/ContainerUtils.ts | 1 + 9 files changed, 73 insertions(+), 48 deletions(-) diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 301af8e..54d8927 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -32,6 +32,7 @@ export class preview extends Component { labelWidth: this.props.labelWidth, location: this.props.location, readOnlyStyle: this.props.readOnlyStyle, + lazyFilter: this.props.lazyFilter, selectedValue, searchText: this.props.searchText, loadingText: this.props.loadingText, @@ -67,9 +68,12 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.onChangeMicroflow = valueMap.onChangeEvent === "callMicroflow"; visibilityMap.onChangeNanoflow = valueMap.onChangeEvent === "callNanoflow"; + visibilityMap.minimumCharacter = valueMap.selectType === "asynchronous"; + visibilityMap.searchAttribute = valueMap.selectType === "asynchronous" && valueMap.source !== "xpath"; + visibilityMap.lazyFilter = valueMap.selectType === "asynchronous" && valueMap.source === "xpath"; + if (valueMap.source !== "xpath") { visibilityMap.sortAttributes = false; - visibilityMap.sortOrder = false; visibilityMap.entityConstraint = false; } @@ -79,9 +83,5 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.labelCaption = true; } - if (valueMap.selectType !== "asynchronous") { - visibilityMap.searchAttribute = false; - } - return visibilityMap; } diff --git a/src/DropdownReference/DropdownReference.xml b/src/DropdownReference/DropdownReference.xml index 4ae6262..a7c88eb 100644 --- a/src/DropdownReference/DropdownReference.xml +++ b/src/DropdownReference/DropdownReference.xml @@ -166,11 +166,6 @@ - - Minimal search characters - Selectable objects - Number of characters typed before an initial search is triggered - Lazy loading Selectable objects @@ -180,6 +175,20 @@ False + + Lazy loading filter + Selectable objects + For source database, lazy data is could be filtered server side. "Start width" best performing option + + Starts with + Contains + + + + Minimal search characters + Selectable objects + Number of characters typed before an initial search is triggered + On change Events diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 16e5cfd..c7c6c08 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -21,7 +21,7 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceProps { entityConstraint: string; searchAttribute: string; source: "xpath" | "microflow" | "nanoflow"; - sortOrder: "asc" | "desc"; + // sortOrder: "asc" | "desc"; sortAttributes: AttributeType[]; nanoflow: Nanoflow; microflow: string; @@ -57,13 +57,14 @@ class DropdownReferenceContainer extends Component { - new Promise(resolve => props.mxObject.fetch(props.entityPath, resolve)) + return new Promise(resolve => props.mxObject.fetch(props.entityPath, resolve)) .then((newValue: any) => { if (newValue) { this.setState({ - isClearable: this.props.isClearable ? true : false, + isClearable: this.props.isClearable, selectedObject: { value: newValue.getGuid(), label: mx.parser.formatAttribute(newValue, props.attribute) @@ -172,7 +173,7 @@ class DropdownReferenceContainer extends Component { + private executeOnChangeEvent() { const { mxform, mxObject, onChangeEvent, onChangeMicroflow, onChangeNanoflow } = this.props; const context = new mendix.lib.MxContext(); @@ -196,13 +197,16 @@ class DropdownReferenceContainer extends Component this.setOptions(optionObjects)) .catch(errorMessage => window.mx.ui.error(errorMessage.message)); } @@ -237,13 +240,11 @@ class DropdownReferenceContainer extends Component= this.props.minimumCharacter) { - this.retrieveOptions(this.props); - - return Promise.resolve({ options: this.state.options }); + return this.retrieveOptions(this.props, input) + .then(() => Promise.resolve({ options: this.state.options })); } else { - this.getSelectedValue(this.props); - - return Promise.resolve({ options: [] }); + return this.getSelectedValue(this.props) + .then(() => Promise.resolve({ options: [] })); } } diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index e4ac08e..1abdee2 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -21,6 +21,7 @@ describe("DropdownReference", () => { isClearable: true, isReadOnly: false, selectType: "normal", + lazyFilter: "startWith", selectedValue: { value: "Kampala" , label: "kampalaId" } || null, handleOnchange: jasmine.createSpy("onClick"), readOnlyStyle: "control", diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index c1f39ee..7bdd17d 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -24,6 +24,7 @@ export class preview extends Component { emptyOptionCaption: this.props.emptyOptionCaption, isClearable: this.props.isClearable, selectType: this.props.selectType, + lazyFilter: this.props.lazyFilter, isReadOnly: this.isReadOnly(), data: [ selectedValue ], asyncData: this.setAsyncSampleData, @@ -67,6 +68,10 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.onChangeMicroflow = valueMap.onChangeEvent === "callMicroflow"; visibilityMap.onChangeNanoflow = valueMap.onChangeEvent === "callNanoflow"; + visibilityMap.minimumCharacter = valueMap.selectType === "asynchronous"; + visibilityMap.searchAttribute = valueMap.selectType === "asynchronous" && valueMap.source !== "xpath"; + visibilityMap.lazyFilter = valueMap.selectType === "asynchronous" && valueMap.source === "xpath"; + if (valueMap.source !== "xpath") { visibilityMap.sortAttributes = false; visibilityMap.sortOrder = false; @@ -79,9 +84,5 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi visibilityMap.labelCaption = true; } - if (valueMap.selectType !== "asynchronous") { - visibilityMap.searchAttribute = false; - } - return visibilityMap; } diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.xml b/src/DropdownReferenceSet/DropdownReferenceSet.xml index 6706254..27d911f 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.xml +++ b/src/DropdownReferenceSet/DropdownReferenceSet.xml @@ -175,7 +175,16 @@ False - + + Lazy loading filter + Selectable objects + For source database, lazy data is could be filtered server side. "Start width" best performing option + + Starts with + Contains + + + Minimal search characters Selectable objects Number of characters typed before an initial search is triggered diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 1b09a94..30c77bd 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -19,6 +19,7 @@ export interface DropdownReferenceSetProps { isClearable: boolean; isReadOnly: boolean; selectType: "normal" | "asynchronous"; + lazyFilter: "startWith" | "contains"; selectedValue: ReferenceOption[]; handleOnchange?: (selectedOption: any) => void; className?: string; diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index a54a7f4..f1ee73e 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -58,6 +58,7 @@ class DropdownReferenceSetContainer extends Component { - new Promise(resolve => props.mxObject.fetch(props.entityPath, resolve)) + return new Promise(resolve => props.mxObject.fetch(props.entityPath, resolve)) .then((values: any) => { if (values) { const newSelectedObject = values.map((mxObject: mendix.lib.MxObject) => { @@ -202,13 +203,16 @@ class DropdownReferenceSetContainer extends Component this.setOptions(optionObjects)) .catch(errorMessage => window.mx.ui.error(errorMessage.message)); } @@ -241,13 +245,11 @@ class DropdownReferenceSetContainer extends Component= this.props.minimumCharacter) { - this.retrieveOptions(this.props); - - return Promise.resolve({ options: this.state.options }); + return this.retrieveOptions(this.props, input) + .then(() => Promise.resolve({ options: this.state.options })); } else { - this.getSelectedValues(this.props); - - return Promise.resolve({ options: [] }); + return this.getSelectedValues(this.props) + .then(() => Promise.resolve({ options: [] })); } } diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index 875f242..e501418 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -33,6 +33,7 @@ export interface DropdownReferenceProps { location: "content" | "popup" | "modal" | "node"; readOnlyStyle: "control" | "text"; selectType: "normal" | "asynchronous"; + lazyFilter: "startWith" | "contains"; handleOnchange?: (selectedOption: any) => void; } From baafc94dd649a7c7265d32aa4c6fcabf13b87379 Mon Sep 17 00:00:00 2001 From: Andries Smit Date: Wed, 5 Dec 2018 18:40:48 +0100 Subject: [PATCH 83/89] Improve xpath filter --- src/DropdownReference/components/DropdownReferenceContainer.ts | 2 +- .../components/DropdownReferenceSetContainer.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index c7c6c08..6b52da8 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -201,7 +201,7 @@ class DropdownReferenceContainer extends Component Date: Thu, 6 Dec 2018 00:32:26 +0300 Subject: [PATCH 84/89] Process feedback --- .travis.yml | 8 +- README.md | 18 +- package-lock.json | 70 +- package.json | 16 +- .../DropdownReference.webmodeler.ts | 2 +- src/DropdownReference/DropdownReference.xml | 22 +- .../components/DropdownReference.ts | 25 +- .../components/DropdownReferenceContainer.ts | 38 +- .../__tests__/DropdownReference.spec.ts | 4 +- .../DropdownReferenceSet.webmodeler.ts | 5 +- .../DropdownReferenceSet.xml | 22 +- .../components/DropdownReferenceSet.ts | 28 +- .../DropdownReferenceSetContainer.ts | 36 +- src/SharedResources/components/Alert.ts | 2 +- src/SharedResources/ui/Dropdown.scss | 54 +- src/SharedResources/ui/_variables.scss | 626 ++++++++++++++++++ src/SharedResources/utils/ContainerUtils.ts | 20 +- src/SharedResources/utils/Data.ts | 39 +- typings/{Dropdown.d.ts => webdriverIO.d.ts} | 0 webpack.config.js | 1 - 20 files changed, 855 insertions(+), 181 deletions(-) create mode 100644 src/SharedResources/ui/_variables.scss rename typings/{Dropdown.d.ts => webdriverIO.d.ts} (100%) diff --git a/.travis.yml b/.travis.yml index f0db84d..2ed8c95 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,7 @@ sudo: required language: node_js node_js: -- "8" -addons: - apt: - sources: - - google-chrome - packages: - - google-chrome-stable +- "8.10.0" before_install: - npm i -g npm - npm install grunt-cli -g diff --git a/README.md b/README.md index b45f860..d9654ec 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ![badge](https://img.shields.io/badge/mendix-7.14.1-green.svg) # Dropdown -An input widget used to display and edit associations +An input widget used to display and edit associations for reference and reference sets ## Features * Search for matching options @@ -25,12 +25,12 @@ An input widget used to display and edit associations Mendix 7.13.1 ## Demo project -[https://dropdowntypeahead.mxapps.io]( https://dropdowntypeahead.mxapps.io) +[https://dropdowntypeahead.mxapps.io](https://dropdowntypeahead.mxapps.io) ## Usage ![dropdown-type-ahead](/assets/dropdown-typeahead-normal-loading.gif) -* Place the widget in data form within the context of an entity +* Place the widget in data form within the context of an entity * Select entity path and attribute over reference for selectable objects * Select the data source @@ -38,19 +38,19 @@ Mendix 7.13.1 For a basic configuration, set up the widget as indicated below:- ### Data source ![dropdown-typeahead-data-source](/assets/dropdown-typeahead-data-source.png) -### Appearance -![dropdown-typeahead-appearance](/assets/dropdown-typeahead-appearance.png) +### Appearance +![dropdown-typeahead-appearance](/assets/dropdown-typeahead-appearance.png) ### Label -![dropdown-typeahead-label](/assets/dropdown-typeahead-label.png) +![dropdown-typeahead-label](/assets/dropdown-typeahead-label.png) ### Selectable objects -![dropdown-typeahead-selectable-objects](/assets/dropdown-typeahead-selectable.png) +![dropdown-typeahead-selectable-objects](/assets/dropdown-typeahead-selectable.png) ### Search -![dropdown-typeahead-search](/assets/dropdown-typeahead-search.png) +![dropdown-typeahead-search](/assets/dropdown-typeahead-search.png) ### Events ![dropdown-typeahead-events](/assets/dropdown-typeahead-events.png) ## Issues, suggestions and feature requests -We are actively maintaining this widget, please report any issues or suggestion for improvement at +We are actively maintaining this widget, please report any issues or suggestion for improvement at https://github.com/mendixlabs/dropdown-type-ahead/issues ## Development and contribution diff --git a/package-lock.json b/package-lock.json index 5bedd14..d8cd364 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,9 +60,9 @@ } }, "@types/jasmine": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.0.tgz", - "integrity": "sha512-0VU8WsYEOYmoxVtUuafB66/+9G8gMdGAC3dhCE/CMpjXgNIz9fwC6g41kRlNxFgpQI/uX/aWNLArNg7KmeFYvw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.1.tgz", + "integrity": "sha512-JnKB+cEIFuQZXizZP6N0zxma+JlvowkjefWuL61otVmXN7Ebbs4ka3IbDVIz1pc+TCiT00q925jANz3gQJ9qXw==", "dev": true }, "@types/karma": { @@ -77,9 +77,9 @@ } }, "@types/node": { - "version": "10.12.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.11.tgz", - "integrity": "sha512-3iIOhNiPGTdcUNVCv9e5G7GotfvJJe2pc9w2UgDXlUwnxSZ3RgcUocIU+xYm+rTU54jIKih998QE4dMOyMN1NQ==", + "version": "10.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.12.tgz", + "integrity": "sha512-Pr+6JRiKkfsFvmU/LK68oBRCQeEg36TyAbPhc2xpez24OOZZCuoIhWGTd39VZy6nGafSbxzGouFPTFD/rR1A0A==", "dev": true }, "@types/prop-types": { @@ -89,9 +89,9 @@ "dev": true }, "@types/react": { - "version": "16.7.11", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.11.tgz", - "integrity": "sha512-KZvX2XjzBPz+Dh7cjgDzzLxUmg4k8CnCSsB1V2Vtt1YtSIGe1sfHp2+Htl3S5DzeKrHnioaDHTMN/fjAvnEsSg==", + "version": "16.7.13", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.13.tgz", + "integrity": "sha512-WhqrQLAE9z65hfcvWqZfR6qUtIazFRyb8LXqHo8440R53dAQqNkt2OlVJ3FXwqOwAXXg4nfYxt0qgBvE18o5XA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -650,7 +650,7 @@ }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -1201,7 +1201,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -1238,7 +1238,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -1961,9 +1961,9 @@ } }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", + "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==", "dev": true }, "core-util-is": { @@ -2003,7 +2003,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -2016,7 +2016,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -2478,7 +2478,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -3045,7 +3045,7 @@ }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, @@ -5068,9 +5068,9 @@ } }, "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -6059,9 +6059,9 @@ } }, "jasmine": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.3.0.tgz", - "integrity": "sha512-haZzMvmoWSI2VCKfDgPqyEOPBQA7C1fgtIMgKNU4hVMcrVkWU5NPOWQqOTA6mVFyKcSUUrnkXu/ZEgY0bRnd6A==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.3.1.tgz", + "integrity": "sha512-/vU3/H7U56XsxIXHwgEuWpCgQ0bRi2iiZeUpx7Nqo8n1TpoDHfZhkPIc7CO8I4pnMzYsi3XaSZEiy8cnTfujng==", "dev": true, "requires": { "glob": "^7.0.6", @@ -7345,7 +7345,7 @@ "dependencies": { "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -7967,7 +7967,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -9656,7 +9656,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -10216,7 +10216,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { @@ -10459,9 +10459,9 @@ } }, "terser": { - "version": "3.10.13", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.13.tgz", - "integrity": "sha512-AgdHqw2leuADuHiP4Kkk1i40m10RMGguPaiCw6MVD6jtDR7N94zohGqAS2lkDXIS7eIkGit3ief3eQGh/Md+GQ==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.11.0.tgz", + "integrity": "sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==", "dev": true, "requires": { "commander": "~2.17.1", @@ -11638,9 +11638,9 @@ } }, "webpack": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.26.1.tgz", - "integrity": "sha512-i2oOvEvuvLLSuSCkdVrknaxAhtUZ9g+nLSoHCWV0gDzqGX2DXaCrMmMUpbRsTSSLrUqAI56PoEiyMUZIZ1msug==", + "version": "4.27.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.27.1.tgz", + "integrity": "sha512-WArHiLvHrlfyRM8i7f+2SFbr/XbQ0bXqTkPF8JpHOzub5482Y3wx7rEO8stuLGOKOgZJcqcisLhD7LrM/+fVMw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.7.11", diff --git a/package.json b/package.json index f26bf86..f842d84 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "copyright": "Mendix BV", "scripts": { "start": "webpack-dev-server --hot --open", - "emit": "tsc", + "typeCheck": "tsc --noEmit", "pretest": "tsc && npm run lint && npm run build", "test": "npm run test:unit && npm run test:conditional", "test:conditional": "node ./node_modules/mendix-widget-build-script/dist/CheckPullRequestFromFork.js && echo 'Skip tests on forked pull request' || npm run deployAndTest", @@ -27,7 +27,7 @@ "developmentPort": 3000 }, "pre-commit": [ - "emit", + "typeCheck", "lint" ], "repository": { @@ -43,16 +43,16 @@ "@types/core-js": "^2.5.0", "@types/enzyme": "^3.1.15", "@types/enzyme-adapter-react-16": "^1.0.2", - "@types/jasmine": "^3.3.0", + "@types/jasmine": "^3.3.1", "@types/karma": "^3.0.1", - "@types/node": "^10.12.11", - "@types/react": "^16.7.10", + "@types/node": "^10.12.12", + "@types/react": "^16.7.13", "@types/react-dom": "^16.0.11", "@types/react-select": "^1.3.0", "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", "copy-webpack-plugin": "^4.6.0", - "core-js": "^2.5.7", + "core-js": "^2.6.0", "css-loader": "^1.0.1", "enzyme": "^3.7.0", "enzyme-adapter-react-16": "^1.7.0", @@ -69,7 +69,7 @@ "grunt-webpack": "^3.1.3", "istanbul": "^0.4.3", "istanbul-instrumenter-loader": "^3.0.1", - "jasmine": "^3.3.0", + "jasmine": "^3.3.1", "karma": "^3.1.3", "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", @@ -102,7 +102,7 @@ "wdio-selenium-standalone-service": "0.0.11", "wdio-spec-reporter": "^0.1.3", "webdriverio": "^4.14.1", - "webpack": "^4.26.1", + "webpack": "^4.27.1", "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.10", diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 54d8927..9319dd7 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -34,9 +34,9 @@ export class preview extends Component { readOnlyStyle: this.props.readOnlyStyle, lazyFilter: this.props.lazyFilter, selectedValue, - searchText: this.props.searchText, loadingText: this.props.loadingText, minimumCharacter: this.props.minimumCharacter, + searchPromptText: this.props.searchPromptText, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style) }); diff --git a/src/DropdownReference/DropdownReference.xml b/src/DropdownReference/DropdownReference.xml index a7c88eb..fe2d4eb 100644 --- a/src/DropdownReference/DropdownReference.xml +++ b/src/DropdownReference/DropdownReference.xml @@ -1,7 +1,7 @@ Dropdown reference - + An input widget used to display and edit associations for reference @@ -36,6 +36,10 @@ Empty caption Appearance Text displayed when no selection is made + + (no option selected) + (geen option selecteerd) + Read-only style @@ -115,7 +119,7 @@ Sort order Selectable objects - + Sorting only applies to source 'Database' Attribute @@ -158,11 +162,6 @@ Selectable objects Attribute set with search text of the user, this could be used for filter results in microflow or nanoflow - - - - - @@ -189,6 +188,15 @@ Selectable objects Number of characters typed before an initial search is triggered + + Search prompt text + Selectable objects + Text to display on dropdown before typing + + Type to search + Type om te zoeken + + On change Events diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index 747fc1f..ffca61e 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -4,7 +4,7 @@ import Select, { Async } from "react-select"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; -import { DropdownReferenceProps } from "../../SharedResources/utils/ContainerUtils"; +import { DropdownReferenceProps, hideDropDown } from "../../SharedResources/utils/ContainerUtils"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; @@ -23,17 +23,18 @@ export class DropdownReference extends Component { } componentDidMount() { - const scrollContainer = document.querySelector(".region-content .mx-scrollcontainer-wrapper"); + const scrollContainer = document.querySelector(".mx-window-body"); if (scrollContainer && this.props.location === "popup") { (document.getElementsByClassName("widget-dropdown-reference")[0] as HTMLElement).style.overflow = "hidden"; - const dropdown = document.getElementsByClassName("Select-menu-outer"); - scrollContainer.addEventListener("scroll", () => { - dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); - const activeElement = document.activeElement; - if (activeElement) { - (activeElement as HTMLElement).blur(); - } - }); + scrollContainer.addEventListener("scroll", () => { hideDropDown(); }); + } + } + + componentWillUnmount() { + const scrollContainer = document.querySelector(".mx-window-body"); + if (scrollContainer && this.props.location === "popup") { + (document.getElementsByClassName("widget-dropdown-reference")[0] as HTMLElement).style.overflow = "hidden"; + scrollContainer.removeEventListener("scroll", () => { hideDropDown(); }); } } @@ -56,9 +57,7 @@ export class DropdownReference extends Component { ...commonProps }) : createElement(Async, { - searchPromptText: this.props.minimumCharacter > 0 - ? `Type more than ${this.props.minimumCharacter} characters to search` - : "Type to search", + searchPromptText: this.props.searchPromptText, loadOptions: this.props.asyncData, ...commonProps }), diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 6b52da8..be826b1 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -3,11 +3,11 @@ import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; import { AttributeType, DropdownReferenceProps, ReferenceOption, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; +import { FetchDataOptions, fetchData } from "../../SharedResources/utils/Data"; import { DropdownReference } from "./DropdownReference"; interface WrapperProps { - class: string; + "class": string; mxObject: mendix.lib.MxObject; mxform: mxui.lib.form._FormBase; style: string; @@ -21,11 +21,10 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceProps { entityConstraint: string; searchAttribute: string; source: "xpath" | "microflow" | "nanoflow"; - // sortOrder: "asc" | "desc"; sortAttributes: AttributeType[]; - nanoflow: Nanoflow; + nanoflow: mx.Nanoflow; microflow: string; - onChangeNanoflow: Nanoflow; + onChangeNanoflow: mx.Nanoflow; onChangeMicroflow: string; onChangeEvent: "callMicroflow" | "callNanoflow"; editable: "default" | "never"; @@ -40,7 +39,7 @@ export interface ContainerState { class DropdownReferenceContainer extends Component { readonly state: ContainerState = { options: [], - isClearable: this.props.isClearable ? true : false, + isClearable: this.props.isClearable, selectedObject: {} }; @@ -59,14 +58,14 @@ class DropdownReferenceContainer extends Component { if (this.props.mxObject) { - if (!selection) { const references = this.props.mxObject.getReferences(this.association); this.props.mxObject.removeReferences(this.association, references); @@ -180,19 +178,19 @@ class DropdownReferenceContainer extends Component window.mx.ui.error(`Error while executing onchange microflow ${onChangeMicroflow}: ${error.message}`), // tslint:disable-line max-line-length - origin: mxform, params: { applyto: "selection", guids: [ mxObject.getGuid() ] - } + }, + origin: mxform, + error: error => window.mx.ui.error(`Error while executing onchange microflow ${onChangeMicroflow}: ${error.message}`) }); } else if (onChangeEvent === "callNanoflow" && onChangeNanoflow.nanoflow) { window.mx.data.callNanoflow({ - context, - error: error => window.mx.ui.error(`Error while executing onchange nanoflow: ${error.message}`), nanoflow: onChangeNanoflow, - origin: mxform + origin: mxform, + context, + error: error => window.mx.ui.error(`Error while executing onchange nanoflow: ${error.message}`) }); } } @@ -224,13 +222,11 @@ class DropdownReferenceContainer extends Component { - const options: ReferenceOption[] = []; - - mendixObjects.forEach(mxObject => { - options.push({ + const options: ReferenceOption[] = mendixObjects.map(mxObject => { + return { label: mx.parser.formatAttribute(mxObject, this.props.attribute), value: mxObject.getGuid() - }); + }; }); this.setState({ options }); diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index 1abdee2..73e3458 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -27,9 +27,9 @@ describe("DropdownReference", () => { readOnlyStyle: "control", labelOrientation: "horizontal", alertMessage: "No text", - searchText: "search", loadingText: "loading", - minimumCharacter: 1 + minimumCharacter: 1, + searchPromptText: "Type to search" }; it("renders the structure correctly", () => { diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index 7bdd17d..a371682 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -36,9 +36,9 @@ export class preview extends Component { selectedValue: this.props.selectedValue, showLabel: this.props.showLabel, styleObject: parseStyle(this.props.style), - searchText: this.props.searchText, loadingText: this.props.loadingText, - minimumCharacter: this.props.minimumCharacter + minimumCharacter: this.props.minimumCharacter, + searchPromptText: this.props.searchPromptText }); } @@ -74,7 +74,6 @@ export function getVisibleProperties(valueMap: ContainerProps, visibilityMap: Vi if (valueMap.source !== "xpath") { visibilityMap.sortAttributes = false; - visibilityMap.sortOrder = false; visibilityMap.entityConstraint = false; } diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.xml b/src/DropdownReferenceSet/DropdownReferenceSet.xml index 27d911f..b3dcd58 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.xml +++ b/src/DropdownReferenceSet/DropdownReferenceSet.xml @@ -1,7 +1,7 @@ Dropdown reference set - + An input widget used to display and edit associations for reference sets @@ -36,6 +36,10 @@ Empty caption Appearance Text displayed when no selection is made + + (no option selected) + (geen option selecteerd) + Read-only style @@ -115,7 +119,7 @@ Sort order Selectable objects - + Sorting only applies to source 'Database' Attribute @@ -158,11 +162,6 @@ Selectable objects Attribute set with search text of the user, this could be used for filter results in microflow or nanoflow - - - - - @@ -189,6 +188,15 @@ Selectable objects Number of characters typed before an initial search is triggered + + Search prompt text + Selectable objects + Text to display on dropdown before typing + + Type to search + Type om te zoeken + + On change Events diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 30c77bd..b964774 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -4,6 +4,7 @@ import * as classNames from "classnames"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; +import { hideDropDown } from "../../SharedResources/utils/ContainerUtils"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; @@ -27,9 +28,9 @@ export interface DropdownReferenceSetProps { labelOrientation: "horizontal" | "vertical"; location: "content" | "popup" | "modal" | "node"; alertMessage: string; - searchText: string; loadingText: string; minimumCharacter: number; + searchPromptText: string; } export interface ReferenceOption { @@ -51,17 +52,18 @@ export class DropdownReferenceSet extends Component { } componentDidMount() { - const scrollContainer = document.querySelector(".region-content .mx-scrollcontainer-wrapper"); + const scrollContainer = document.querySelector(".mx-window-body"); if (scrollContainer && this.props.location === "popup") { - const dropdown = document.getElementsByClassName("Select-menu-outer"); (document.getElementsByClassName("widget-dropdown-reference-set")[0] as HTMLElement).style.overflow = "hidden"; - scrollContainer.addEventListener("scroll", () => { - dropdown[0] ? (dropdown[0] as HTMLElement).style.visibility = "hidden" : window.logger.warn("Dropdown not available"); - const activeElement = document.activeElement; - if (activeElement) { - (activeElement as HTMLElement).blur(); - } - }); + scrollContainer.addEventListener("scroll", () => { hideDropDown(); }); + } + } + + componentWillUnmount() { + const scrollContainer = document.querySelector(".mx-window-body"); + if (scrollContainer && this.props.location === "popup") { + (document.getElementsByClassName("widget-dropdown-reference-set")[0] as HTMLElement).style.overflow = "hidden"; + scrollContainer.removeEventListener("scroll", () => { hideDropDown(); }); } } @@ -77,7 +79,7 @@ export class DropdownReferenceSet extends Component { if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { return createElement("div", { - className: classNames("widget-dropdown-reference-set"), + className: "widget-dropdown-reference-set", onClick: this.setDropdownSize }, this.props.selectType === "normal" @@ -97,9 +99,7 @@ export class DropdownReferenceSet extends Component { autoload: false, autoFocus: true, loadOptions: this.props.asyncData, - searchPromptText: this.props.minimumCharacter > 0 - ? `Type more than ${this.props.minimumCharacter} character(s) to search` - : "Type to search", + searchPromptText: this.props.searchPromptText, ...commonProps }), createElement(Alert, { className: "widget-dropdown-type-ahead-alert" }, this.props.alertMessage) diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index f9976c7..2469e0b 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -3,11 +3,11 @@ import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; import { AttributeType, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; -import { FetchDataOptions, Nanoflow, fetchData } from "../../SharedResources/utils/Data"; +import { FetchDataOptions, fetchData } from "../../SharedResources/utils/Data"; import { DropdownReferenceSet, DropdownReferenceSetProps, ReferenceOption } from "./DropdownReferenceSet"; interface WrapperProps { - class: string; + "class": string; mxObject: mendix.lib.MxObject; mxform: mxui.lib.form._FormBase; style: string; @@ -21,11 +21,10 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceSetProps entityConstraint: string; searchAttribute: string; source: "xpath" | "microflow" | "nanoflow"; - sortOrder: "asc" | "desc"; sortAttributes: AttributeType[]; - nanoflow: Nanoflow; + nanoflow: mx.Nanoflow; microflow: string; - onChangeNanoflow: Nanoflow; + onChangeNanoflow: mx.Nanoflow; onChangeMicroflow: string; onChangeEvent: "callMicroflow" | "callNanoflow"; editable: "default" | "never"; @@ -39,7 +38,7 @@ export interface ContainerState { class DropdownReferenceSetContainer extends Component { readonly state: ContainerState = { - isClearable: this.props.isClearable ? true : false, + isClearable: this.props.isClearable, options: [], selected: [] }; @@ -60,23 +59,23 @@ class DropdownReferenceSetContainer extends Component { + private executeOnChangeEvent() { const { mxform, mxObject, onChangeEvent, onChangeMicroflow, onChangeNanoflow } = this.props; const context = new mendix.lib.MxContext(); context.setContext(mxObject.getEntity(), mxObject.getGuid()); if (onChangeEvent === "callMicroflow" && onChangeMicroflow) { window.mx.ui.action(onChangeMicroflow, { - error: error => window.mx.ui.error(`Error while executing microflow ${onChangeMicroflow}: ${error.message}`), // tslint:disable-line max-line-length - origin: mxform, params: { applyto: "selection", guids: [ mxObject.getGuid() ] - } + }, + origin: mxform, + error: error => window.mx.ui.error(`Error while executing microflow ${onChangeMicroflow}: ${error.message}`) }); } else if (onChangeEvent === "callNanoflow" && onChangeNanoflow.nanoflow) { window.mx.data.callNanoflow({ - context, - error: error => window.mx.ui.error(`Error while executing the onchange nanoflow: ${error.message}`), nanoflow: onChangeNanoflow, - origin: mxform + origin: mxform, + context, + error: error => window.mx.ui.error(`Error while executing the onchange nanoflow: ${error.message}`) }); } } private retrieveOptions(props: ContainerProps, input?: string) { const entity = this.props.entityPath.split("/")[1]; - const { sortAttributes, attribute, entityConstraint, source, sortOrder, microflow, selectType, lazyFilter, mxObject, nanoflow } = props; + const { sortAttributes, attribute, entityConstraint, source, microflow, selectType, lazyFilter, mxObject, nanoflow } = props; let lazyConstraint = ""; if (selectType === "asynchronous" && input) { lazyConstraint = lazyFilter === "contains" ? `[contains(${attribute}, '${input}')]` : `[starts-with(${attribute}, '${input}')]`; @@ -221,7 +220,6 @@ class DropdownReferenceSetContainer extends Component = ({ bootstrapStyle, className, children }) => children - ? createElement("div", { className: classNames(`alert alert-${bootstrapStyle}`, className) }, children) + ? createElement("div", { className: classNames("alert", `alert-${bootstrapStyle}`, className) }, children) : null; Alert.displayName = "Alert"; diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index d20e337..61f48b3 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,16 +1,58 @@ +@import "variables"; .widget-dropdown-reference, .widget-dropdown-reference-set { - .Select.is-focused:not(.is-open) > .Select-control { - border-color: #0595db; - box-shadow: unset; + .Select-arrow { + display: none; } - + .Select.is-focused:not(.is-open) > .Select-control, select.has-value.is-focused.is-open > .Select-control { - border-color: #0595db; + border-color: $brand-primary; box-shadow: unset; } .Select-menu-outer { - border-color: #0595db; + border-color: $brand-primary; box-shadow: none; } + + .Select.is-disabled.is-searchable > .Select-control { + background-color: $gray-lighter; + } + + .Select-control { + border: 1px solid $gray-primary; + } + + .Select-value { + color: $brand-primary; + border-color: $brand-default; + background-color: $topbar-bg; + } + + .Select-value-icon:hover { + background-color: $brand-default; + border-right-color: $brand-default; + } + + .Select-value-icon { + border-right-color: $brand-default; + } + + .Select-arrow-zone { + background-position: center center; + background-repeat: no-repeat; + background-image: url("data:image/svg+xml;utf8,"); + } +} +.widget-dropdown-reference-set { + .Select.has-value.is-disabled > .Select-control > .Select-multi-value-wrapper > .Select-value { + background-color: $gray-lighter; + border: none; + color: $gray; + font-size: 14px; + font-family: "Open Sans"; + } +} + +.form-control-static.read-only-text { + min-height: 34px; } diff --git a/src/SharedResources/ui/_variables.scss b/src/SharedResources/ui/_variables.scss new file mode 100644 index 0000000..3a72bd0 --- /dev/null +++ b/src/SharedResources/ui/_variables.scss @@ -0,0 +1,626 @@ +// +// ██████╗ █████╗ ███████╗██╗ ██████╗ +// ██╔══██╗██╔══██╗██╔════╝██║██╔════╝ +// ██████╔╝███████║███████╗██║██║ +// ██╔══██╗██╔══██║╚════██║██║██║ +// ██████╔╝██║ ██║███████║██║╚██████╗ +// ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ +// + + +//== Gray Shades +//## Different gray shades to be used for our variables and components +$gray-darker: #222 !default; +$gray-dark: #333 !default; +$gray: #555 !default; +$gray-light: #888 !default; +$gray-primary: #d7d7d7 !default; +$gray-lighter: #eee !default; + + +//== Step 1: Brand Colors +$brand-default: #DDDDDD !default; +$brand-primary: #0595DB !default; +$brand-inverse: #252C36 !default; +$brand-info: #48B0F7 !default; +$brand-success: #76CA02 !default; +$brand-warning: #f99b1d !default; +$brand-danger: #ed1c24 !default; + +$brand-logo: false !default; +$brand-logo-height: 26px !default; +$brand-logo-width: 26px !default; // Only used for CSS brand logo + + + + + +//== Step 2: UI Customization + +// Default Font Size & Color +$font-size-default: 14px !default; +$font-color-default: #555 !default; + +// Global Border Color +$border-color-default: $gray-primary !default; +$border-radius-default: 4px !default; + +// Topbar +$topbar-bg: #FFF !default; +$topbar-minimalheight: 60px !default; +$topbar-border-color: $border-color-default !default; + +// Topbar mobile +$m-header-height: 45px !default; +$m-header-bg: $topbar-bg !default; +$m-header-color: #555 !default; +$m-header-title-size: 17px !default; + + +// Sidebar +$sidebar-bg: $brand-inverse !default; + +// Navbar Brand Name / For your company, product, or project name (used in layouts/base/) +$navbar-brand-name: $font-color-default !default; + +// Background Colors +$bg-color: #FFF !default; +$bg-color-secondary: #F5F8FD !default; // Background color that is used for specific page templates background + +// Default Link Color +$link-color: $brand-primary !default; +$link-hover-color: darken($link-color, 15%) !default; + + + + + +// +// █████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗███████╗██████╗ +// ██╔══██╗██╔══██╗██║ ██║██╔══██╗████╗ ██║██╔════╝██╔════╝██╔══██╗ +// ███████║██║ ██║██║ ██║███████║██╔██╗ ██║██║ █████╗ ██║ ██║ +// ██╔══██║██║ ██║╚██╗ ██╔╝██╔══██║██║╚██╗██║██║ ██╔══╝ ██║ ██║ +// ██║ ██║██████╔╝ ╚████╔╝ ██║ ██║██║ ╚████║╚██████╗███████╗██████╔╝ +// ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ +// + + +//== Typography +//## Change your font family, weight, line-height, headings and more (used in components/typography) + +// Font Family Import (Used for google font plugin in theme creater https://ux.mendix.com/theme-creator.html) +$font-family-import: "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" !default; +@if $font-family-import != false { // Only import, if the import is set + @import url($font-family-import); +} + +// Font Family / False = fallback from Bootstrap (Helvetica Neue) +$font-family-base: 'Open Sans', sans-serif !default; + +// Font Sizes +$font-size-large: 16px !default; +$font-size-small: 12px !default; + +// Font Weights +$font-weight-light: 100 !default; +$font-weight-normal: normal !default; +$font-weight-semibold: 600 !default; +$font-weight-bold: bold !default; + +// Font Size Headers +$font-size-h1: 31px !default; +$font-size-h2: 26px !default; +$font-size-h3: 24px !default; +$font-size-h4: 18px !default; +$font-size-h5: $font-size-default !default; +$font-size-h6: 12px !default; + +// Font Weight Headers +$font-weight-header: $font-weight-normal !default; + +// Line Height +$line-height-base: 1.428571429 !default; + +// Spacing +$font-header-margin: 15px 0 30px 0 !default; + +// Text Colors +$font-color-header: #17347B !default; +$font-color-detail: $gray-light !default; + + + + + +//== Navigation +//## Used in components/navigation + +// Default Navigation styling +$navigation-item-height: 60px !default; +$navigation-item-padding: 5px 15px !default; + +$navigation-font-size: $font-size-default !default; +$navigation-sub-font-size: $font-size-small !default; +$navigation-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler + +$navigation-bg: $brand-inverse !default; +$navigation-bg-hover: lighten($navigation-bg, 4) !default; +$navigation-bg-active: lighten($navigation-bg, 8) !default; +$navigation-color: #FFF !default; +$navigation-color-hover: #FFF !default; +$navigation-color-active: #FFF !default; + +$navigation-sub-bg: darken($navigation-bg, 4) !default; +$navigation-sub-bg-hover: $navigation-sub-bg !default; +$navigation-sub-bg-active: $navigation-sub-bg !default; +$navigation-sub-color: #AAA !default; +$navigation-sub-color-hover: $brand-primary !default; +$navigation-sub-color-active: $brand-primary !default; + +$navigation-border-color: $navigation-bg-hover !default; + +// Navigation Sidebar +$navsidebar-font-size: $font-size-default !default; +$navsidebar-sub-font-size: $font-size-small !default; +$navsidebar-glyph-size: 20px !default; // For glyphicons that you can select in the Mendix Modeler + +$navsidebar-bg: $sidebar-bg !default; +$navsidebar-bg-hover: lighten($navsidebar-bg, 4) !default; +$navsidebar-bg-active: lighten($navsidebar-bg, 8) !default; +$navsidebar-color: #FFF !default; +$navsidebar-color-hover: #FFF !default; +$navsidebar-color-active: #FFF !default; + +$navsidebar-sub-bg: darken($navsidebar-bg, 4) !default; +$navsidebar-sub-bg-hover: $navsidebar-sub-bg !default; +$navsidebar-sub-bg-active: $navsidebar-sub-bg !default; +$navsidebar-sub-color: #AAA !default; +$navsidebar-sub-color-hover: $brand-primary !default; +$navsidebar-sub-color-active: $brand-primary !default; + +$navsidebar-border-color: $navsidebar-bg-hover !default; + +// Navigation topbar +$navtopbar-font-size: $font-size-default !default; +$navtopbar-sub-font-size: $font-size-small !default; +$navtopbar-glyph-size: 1.2em !default; // For glyphicons that you can select in the Mendix Modeler + +$navtopbar-bg: $topbar-bg !default; +$navtopbar-bg-hover: darken($navtopbar-bg, 4) !default; +$navtopbar-bg-active: darken($navtopbar-bg, 8) !default; +$navtopbar-color: $font-color-default !default; +$navtopbar-color-hover: $navtopbar-color !default; +$navtopbar-color-active: $navtopbar-color !default; + +$navtopbar-sub-bg: lighten($navtopbar-bg, 4) !default; +$navtopbar-sub-bg-hover: $navtopbar-sub-bg !default; +$navtopbar-sub-bg-active: $navtopbar-sub-bg !default; +$navtopbar-sub-color: #AAA !default; +$navtopbar-sub-color-hover: $brand-primary !default; +$navtopbar-sub-color-active: #FFF !default; + +//## Used in layouts/base +$navtopbar-border-color: $topbar-border-color !default; + + + + +//== Form +//## Used in components/inputs + +// Values that can be used default | lined +$form-input-style: default !default; + +// Form Label +$form-label-color: #666 !default; +$form-label-size: $font-size-default !default; +$form-label-weight: $font-weight-semibold !default; + +// Form Input dimensions +$form-input-height: auto !default; +$form-input-padding-y: 8px !default; +$form-input-padding-x: 10px !default; +$form-input-font-size: $form-label-size !default; +$form-input-line-height: $line-height-base !default; +$form-input-border-radius: $border-radius-default !default; + +// Form Input styling +$form-input-bg: #FFF !default; +$form-input-bg-focus: #FFF !default; +$form-input-bg-disabled: $gray-lighter !default; +$form-input-color: $font-color-default !default; +$form-input-focus-color: $form-input-color !default; +$form-input-disabled-color: $form-input-color !default; +$form-input-placeholder-color: $gray-light !default; +$form-input-border-color: $border-color-default !default; +$form-input-border-focus-color: $brand-primary !default; + +// Form Input Static styling +$form-input-static-border-color: #F0F0EE !default; + +// Form Group +$form-group-margin-bottom: 15px !default; +$form-group-gutter: 15px !default; + + + + +//== Buttons +//## Define background-color, border-color and text. Used in components/buttons + +// Default button style +$btn-font-size: 14px !default; +$btn-bordered: false !default; // Default value false, set to true if you want this effect +$btn-border-radius: $border-radius-default !default; + +// Button Background Color +$btn-default-bg: #FFF !default; +$btn-inverse-bg: $brand-inverse !default; +$btn-primary-bg: $brand-primary !default; +$btn-info-bg: $brand-info !default; +$btn-success-bg: $brand-success !default; +$btn-warning-bg: $brand-warning !default; +$btn-danger-bg: $brand-danger !default; + +// Button Border Color +$btn-default-border-color: $brand-default !default; +$btn-inverse-border-color: $btn-inverse-bg !default; +$btn-primary-border-color: $btn-primary-bg !default; +$btn-info-border-color: $btn-info-bg !default; +$btn-success-border-color: $btn-success-bg !default; +$btn-warning-border-color: $btn-warning-bg !default; +$btn-danger-border-color: $btn-danger-bg !default; + +// Button Text Color +$btn-default-color: $brand-primary !default; +$btn-inverse-color: #FFF !default; +$btn-primary-color: #FFF !default; +$btn-info-color: #FFF !default; +$btn-success-color: #FFF !default; +$btn-warning-color: #FFF !default; +$btn-danger-color: #FFF !default; + +// Button Background Color +$btn-default-bg-hover: $btn-default-border-color !default; +$btn-inverse-bg-hover: mix($btn-inverse-bg, white, 80%) !default; +$btn-primary-bg-hover: mix($btn-primary-bg, black, 80%) !default; +$btn-info-bg-hover: mix($btn-info-bg, black, 80%) !default; +$btn-success-bg-hover: mix($btn-success-bg, black, 80%) !default; +$btn-warning-bg-hover: mix($btn-warning-bg, black, 80%) !default; +$btn-danger-bg-hover: mix($btn-danger-bg, black, 80%) !default; +$btn-link-bg-hover: $gray-lighter !default; + + + + +//== Header blocks +//## Define look and feel over multible building blocks that serve as header +$header-bg-color: $bg-color-secondary !default; +$header-text-color: #FFF !default; +$header-text-color-detail: rgba(0,0,0, 0.2) !default; + + + + + +// +// ███████╗██╗ ██╗██████╗ ███████╗██████╗ ████████╗ +// ██╔════╝╚██╗██╔╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ +// █████╗ ╚███╔╝ ██████╔╝█████╗ ██████╔╝ ██║ +// ██╔══╝ ██╔██╗ ██╔═══╝ ██╔══╝ ██╔══██╗ ██║ +// ███████╗██╔╝ ██╗██║ ███████╗██║ ██║ ██║ +// ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ +// + +//== Color variations +//## These variations are used to support several other variables and components + +// Color variations +$color-default-darker: mix($brand-default, black, 60%) !default; +$color-default-dark: mix($brand-default, black, 70%) !default; +$color-default-light: mix($brand-default, white, 60%) !default; +$color-default-lighter: mix($brand-default, white, 20%) !default; + +$color-inverse-darker: mix($brand-inverse, black, 60%) !default; +$color-inverse-dark: mix($brand-inverse, black, 70%) !default; +$color-inverse-light: mix($brand-inverse, white, 60%) !default; +$color-inverse-lighter: mix($brand-inverse, white, 20%) !default; + +$color-primary-darker: mix($brand-primary, black, 60%) !default; +$color-primary-dark: mix($brand-primary, black, 70%) !default; +$color-primary-light: mix($brand-primary, white, 60%) !default; +$color-primary-lighter: mix($brand-primary, white, 20%) !default; + +$color-info-darker: mix($brand-info, black, 60%) !default; +$color-info-dark: mix($brand-info, black, 70%) !default; +$color-info-light: mix($brand-info, white, 60%) !default; +$color-info-lighter: mix($brand-info, white, 20%) !default; + +$color-success-darker: mix($brand-success, black, 60%) !default; +$color-success-dark: mix($brand-success, black, 70%) !default; +$color-success-light: mix($brand-success, white, 60%) !default; +$color-success-lighter: mix($brand-success, white, 20%) !default; + +$color-warning-darker: mix($brand-warning, black, 60%) !default; +$color-warning-dark: mix($brand-warning, black, 70%) !default; +$color-warning-light: mix($brand-warning, white, 60%) !default; +$color-warning-lighter: mix($brand-warning, white, 20%) !default; + +$color-danger-darker: mix($brand-danger, black, 60%) !default; +$color-danger-dark: mix($brand-danger, black, 70%) !default; +$color-danger-light: mix($brand-danger, white, 60%) !default; +$color-danger-lighter: mix($brand-danger, white, 20%) !default; + +$brand-gradient: linear-gradient(152deg, #0CC7F0 0%, #087ECC 51%, #077AC9 55%, #0659B9 78%) !default; + + +//== Grids +//## Used for Datagrid, Templategrid, Listview & Tables (see components folder) + +// Default Border Colors +$grid-border-color: $border-color-default !default; + +// Spacing +// Default +$grid-padding-top: 15px !default; +$grid-padding-right: 15px !default; +$grid-padding-bottom: 15px !default; +$grid-padding-left: 15px !default; + +// Listview +$listview-padding-top: 15px !default; +$listview-padding-right: 15px !default; +$listview-padding-bottom: 15px !default; +$listview-padding-left: 15px !default; + +// Background Colors +$grid-bg: #FFF !default; +$grid-bg-header: transparent !default; // Grid Headers +$grid-bg-hover: mix($grid-border-color, #FFF, 20%) !default; +$grid-bg-selected: mix($grid-border-color, #FFF, 30%) !default; +$grid-bg-selected-hover: mix($grid-border-color, #FFF, 50%) !default; + +// Striped Background Color +$grid-bg-striped: mix($grid-border-color, #FFF, 10%) !default; + +// Background Footer Color +$grid-footer-bg: $gray-primary !default; + +// Text Color +$grid-selected-color: $font-color-default !default; + +// Paging Colors +$grid-paging-bg: transparent !default; +$grid-paging-bg-hover: transparent !default; +$grid-paging-border-color: transparent !default; +$grid-paging-border-color-hover: transparent !default; +$grid-paging-color: $gray-light !default; +$grid-paging-color-hover: $brand-primary !default; + + + + +//== Tabs +//## Default variables for Tab Container Widget (used in components/tabcontainer) + +// Text Color +$tabs-color: $font-color-detail !default; +$tabs-color-active: $font-color-default !default; +$tabs-lined-color-active: $brand-primary !default; + +// Border Color +$tabs-border-color: $border-color-default !default; +$tabs-lined-border-color: $brand-primary !default; + +// Background Color +$tabs-bg: #FFF !default; +$tabs-bg-hover: lighten($tabs-border-color,5) !default; +$tabs-bg-active: $brand-primary !default; + + + + +//== Modals +//## Default Mendix Modal, Blocking Modal and Login Modal (used in components/modals) + +// Background Color +$modal-header-bg: transparent !default; + +// Border Color +$modal-header-border-color: $border-color-default !default; + +// Text Color +$modal-header-color: $font-color-default !default; + + + + +//== Dataview +//## Default variables for Dataview Widget (used in components/dataview) + +// Controls +$dataview-controls-bg: transparent !default; +$dataview-controls-border-color: $border-color-default !default; + +// Empty Message +$dataview-emptymessage-bg: $bg-color !default; +$dataview-emptymessage-color: $font-color-default !default; + + + + +//== Alerts +//## Default Bootstrap alerts, not a widget in the Modeler (used in components/alerts) + +// Background Color +$alert-info-bg: $color-info-lighter !default; +$alert-success-bg: $color-success-lighter !default; +$alert-warning-bg: $color-warning-lighter !default; +$alert-danger-bg: $color-danger-lighter !default; + +// Text Color +$alert-info-color: $color-info-darker !default; +$alert-success-color: $color-success-darker !default; +$alert-warning-color: $color-warning-darker !default; +$alert-danger-color: $color-danger-darker !default; + +// Border Color +$alert-info-border-color: $color-info-dark !default; +$alert-success-border-color: $color-success-dark !default; +$alert-warning-border-color: $color-warning-dark !default; +$alert-danger-border-color: $color-danger-dark !default; + + + + +//== Labels +//## Default Bootstrap Labels, not a widget in the Modeler (used in components/labels) + +// Background Color +$label-default-bg: $brand-default !default; +$label-primary-bg: $brand-primary !default; +$label-info-bg: $brand-info !default; +$label-success-bg: $brand-success !default; +$label-warning-bg: $brand-warning !default; +$label-danger-bg: $brand-danger !default; + +// Border Color +$label-default-border-color: $brand-default !default; +$label-primary-border-color: $brand-primary !default; +$label-info-border-color: $brand-info !default; +$label-success-border-color: $brand-success !default; +$label-warning-border-color: $brand-warning !default; +$label-danger-border-color: $brand-danger !default; + +// Text Color +$label-default-color: $font-color-default !default; +$label-primary-color: #FFF !default; +$label-info-color: #FFF !default; +$label-success-color: #FFF !default; +$label-warning-color: #FFF !default; +$label-danger-color: #FFF !default; + + + + +//== Groupbox +//## Default variables for Groupbox Widget (used in components/groupbox) + +// Background Color +$groupbox-default-bg: $brand-default !default; +$groupbox-inverse-bg: $brand-inverse !default; +$groupbox-primary-bg: $brand-primary !default; +$groupbox-info-bg: $brand-info !default; +$groupbox-success-bg: $brand-success !default; +$groupbox-warning-bg: $brand-warning !default; +$groupbox-danger-bg: $brand-danger !default; +$groupbox-white-bg: #FFF !default; + +// Text Color +$groupbox-default-color: $font-color-default !default; +$groupbox-inverse-color: #FFF !default; +$groupbox-primary-color: #FFF !default; +$groupbox-info-color: #FFF !default; +$groupbox-success-color: #FFF !default; +$groupbox-warning-color: #FFF !default; +$groupbox-danger-color: #FFF !default; +$groupbox-white-color: $font-color-default !default; + + + + +//== Callout (groupbox) Colors +//## Extended variables for Groupbox Widget (used in components/groupbox) + +// Text and Border Color +$callout-default-color: $font-color-default !default; +$callout-info-color: $brand-info !default; +$callout-success-color: $brand-success !default; +$callout-warning-color: $brand-warning !default; +$callout-danger-color: $brand-danger !default; + +// Background Color +$callout-default-bg: $color-default-lighter!default; +$callout-info-bg: $color-info-lighter !default; +$callout-success-bg: $color-success-lighter !default; +$callout-warning-bg: $color-warning-lighter !default; +$callout-danger-bg: $color-danger-lighter !default; + + + + + +//== Spacing +//## Advanced layout options (used in base/mixins/default-spacing) + +// Small spacing +$spacing-small: 5px !default; + +// Medium spacing +$spacing-medium: 15px !default; +$t-spacing-medium: 15px !default; +$m-spacing-medium: 15px !default; + +// Large spacing +$spacing-large: 30px !default; +$t-spacing-large: 30px !default; +$m-spacing-large: 15px !default; + +// Layout spacing +$layout-spacing-top: 30px !default; +$layout-spacing-right: 30px !default; +$layout-spacing-bottom: 30px !default; +$layout-spacing-left: 30px !default; + +$t-layout-spacing-top: 30px !default; +$t-layout-spacing-right: 30px !default; +$t-layout-spacing-bottom: 30px !default; +$t-layout-spacing-left: 30px !default; + +$m-layout-spacing-top: 15px !default; +$m-layout-spacing-right: 15px !default; +$m-layout-spacing-bottom: 15px !default; +$m-layout-spacing-left: 15px !default; + +// Combined layout spacing +$layout-spacing: $layout-spacing-top $layout-spacing-right $layout-spacing-bottom $layout-spacing-left !default; +$m-layout-spacing: $m-layout-spacing-top $m-layout-spacing-right $m-layout-spacing-bottom $m-layout-spacing-left !default; +$t-layout-spacing: $t-layout-spacing-top $t-layout-spacing-right $t-layout-spacing-bottom $t-layout-spacing-left !default; + +// Gutter size +$gutter-size: 15px !default; + + + + + +//== Tables +//## Table spacing options (used in components/tables) + +$padding-table-cell-top: 8px !default; +$padding-table-cell-bottom: 8px !default; +$padding-table-cell-left: 8px !default; +$padding-table-cell-right: 8px !default; + + + + +//== Media queries breakpoints +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +// Extra small screen / phone Deprecated `$screen-xs` as of v3.0.1 +$screen-xs: 480px !default; + +// Small screen / tablet Deprecated `$screen-sm` as of v3.0.1 +$screen-sm: 768px !default; + +// Medium screen / desktop Deprecated `$screen-md` as of v3.0.1 +$screen-md: 992px !default; + +// Large screen / wide desktop Deprecated `$screen-lg` as of v3.0.1 +$screen-lg: 1200px !default; + +// So media queries don't overlap when required, provide a maximum (used for max-width) +$screen-xs-max: ($screen-sm - 1) !default; +$screen-sm-max: ($screen-md - 1) !default; +$screen-md-max: ($screen-lg - 1) !default; diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index e501418..d3a152d 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -26,9 +26,9 @@ export interface DropdownReferenceProps { selectedValue: any; className?: string; alertMessage: string; - searchText: string; loadingText: string; minimumCharacter: number; + searchPromptText: string; labelOrientation: "horizontal" | "vertical"; location: "content" | "popup" | "modal" | "node"; readOnlyStyle: "control" | "text"; @@ -37,6 +37,17 @@ export interface DropdownReferenceProps { handleOnchange?: (selectedOption: any) => void; } +export function hideDropDown() { + const dropdown = document.getElementsByClassName("Select-menu-outer"); + if (dropdown[0]) { + (dropdown[0] as HTMLElement).style.visibility = "hidden"; + } + const activeElement = document.activeElement; + if (activeElement) { + (activeElement as HTMLElement).blur(); + } +} + export const parseStyle = (style = ""): { [key: string]: string } => { try { return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { @@ -75,9 +86,12 @@ export const validateProps = (props: ContainerProps | ReferenceSetProps): string message.push("Label width should be a value between 0 and 12"); } + if (props.selectType === "asynchronous" && props.minimumCharacter === 0) { + message.push("Minimal search characters must be greater than 0"); + } + if (message.length) { - const widgetName = props.friendlyId.split(".")[2]; - const errorMessage = `Configuration error in widget - ${widgetName}: ${message.join(", ")}`; + const errorMessage = `Configuration error in widget: ${message.join(", ")}`; return errorMessage; } diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index fb3c919..98d507a 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -1,6 +1,5 @@ type MxObject = mendix.lib.MxObject; -type SortOrder = "asc" | "desc"; import { AttributeType } from "./ContainerUtils"; export interface FetchDataOptions { @@ -9,10 +8,9 @@ export interface FetchDataOptions { guid: string; constraint?: string; sortAttributes: AttributeType[]; - sortOrder?: SortOrder; attributes?: string[]; microflow?: string; - nanoflow?: Nanoflow; + nanoflow?: mx.Nanoflow; mxform?: mxui.lib.form._FormBase; } @@ -21,7 +19,6 @@ export interface FetchByXPathOptions { entity: string; constraint: string; sortAttributes: AttributeType[]; - sortOrder?: SortOrder; attributes?: string[]; references?: any; } @@ -29,7 +26,7 @@ export interface FetchByXPathOptions { export interface ReferencesSpec { attributes?: string[]; amount?: number; - sort?: Array<[ string, SortOrder ]>; + sort?: Array<[ string ]>; references?: { [ index: string ]: ReferencesSpec; }; @@ -39,11 +36,6 @@ export interface FetchedData { mxObjects?: mendix.lib.MxObject[]; } -export interface Nanoflow { - nanoflow: object[]; - paramsSpec: { Progress: string }; -} - const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => path.split("/").reduce((referenceSet, part, index, pathParts) => { let parent = referenceSet; @@ -72,7 +64,7 @@ const addPathReference = (references: ReferencesSpec, path: string): ReferencesS export const fetchData = (options: FetchDataOptions): Promise => new Promise((resolve, reject) => { - const { guid, entity, sortAttributes, sortOrder } = options; + const { guid, entity, sortAttributes } = options; if (entity && guid) { if (options.source === "xpath") { const references = getReferences(options.attributes || []); @@ -82,8 +74,7 @@ export const fetchData = (options: FetchDataOptions): Promise resolve(mxObjects)) .catch(message => reject({ message })); @@ -121,6 +112,16 @@ export const fetchByXPath = (options: FetchByXPathOptions): Promise }); }); +export const createSortProps = (sortAttributes: AttributeType[]) => { + const combined: any = []; + sortAttributes.map(optionObject => { + const { name, sort } = optionObject; + combined.push([ name, sort ]); + }); + + return combined; +}; + export const fetchByMicroflow = (actionname: string, guid: string): Promise => new Promise((resolve, reject) => { const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; @@ -131,7 +132,7 @@ export const fetchByMicroflow = (actionname: string, guid: string): Promise => +export const fetchByNanoflow = (actionname: mx.Nanoflow, mxform: mxui.lib.form._FormBase): Promise => new Promise((resolve, reject) => { const errorMessage = `An error occurred while retrieving data by nanoflow: `; const context = new mendix.lib.MxContext(); @@ -152,13 +153,3 @@ const getReferences = (attributePaths: string[]): ReferencesSpec => { return references; }; - -export const createSortProps = (sortAttributes: AttributeType[]) => { - const combined: any = []; - sortAttributes.map(optionObject => { - const { name, sort } = optionObject; - combined.push([ name, sort ]); - }); - - return combined; -}; diff --git a/typings/Dropdown.d.ts b/typings/webdriverIO.d.ts similarity index 100% rename from typings/Dropdown.d.ts rename to typings/webdriverIO.d.ts diff --git a/webpack.config.js b/webpack.config.js index 5333e72..99d1b77 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -25,7 +25,6 @@ const widgetConfig = { `!/widgets/com/mendix/widget/custom/dropdown/DropdownReferenceSet.js` ], target: mxHost, - ws: true, onError: function(err, req, res) { if (res && res.writeHead) { res.writeHead(500, { From 7b487f07b3f21b5f89bac5faf1793137632a145c Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Fri, 7 Dec 2018 11:38:01 +0300 Subject: [PATCH 85/89] Add debounce --- package-lock.json | 28 +++++++-------- package.json | 2 +- .../DropdownReference.webmodeler.ts | 6 +--- .../components/DropdownReference.ts | 8 ++--- .../components/DropdownReferenceContainer.ts | 18 +++++----- .../__tests__/DropdownReference.spec.ts | 7 ++-- .../DropdownReferenceSet.webmodeler.ts | 8 ++--- .../components/DropdownReferenceSet.ts | 36 ++++--------------- .../DropdownReferenceSetContainer.ts | 14 ++++---- src/SharedResources/ui/Dropdown.scss | 11 +++++- src/SharedResources/utils/ContainerUtils.ts | 27 ++++++++++---- 11 files changed, 77 insertions(+), 88 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8cd364..de6ce48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -650,7 +650,7 @@ }, "util": { "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -1201,7 +1201,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -1238,7 +1238,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -2003,7 +2003,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -2016,7 +2016,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -2478,7 +2478,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -3045,7 +3045,7 @@ }, "events": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, @@ -7345,7 +7345,7 @@ "dependencies": { "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -7967,7 +7967,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -9656,7 +9656,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -10216,7 +10216,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { @@ -11010,9 +11010,9 @@ "dev": true }, "typescript": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.1.tgz", - "integrity": "sha512-jw7P2z/h6aPT4AENXDGjcfHTu5CSqzsbZc6YlUIebTyBAq8XaKp78x7VcSh30xwSCcsu5irZkYZUSFP1MrAMbg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", + "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", "dev": true }, "uglify-js": { diff --git a/package.json b/package.json index f842d84..891e499 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "ts-loader": "^5.3.1", "tslint": "^5.11.0", "tslint-eslint-rules": "^5.4.0", - "typescript": "^3.2.1", + "typescript": "^3.2.2", "wdio-dot-reporter": "0.0.10", "wdio-jasmine-framework": "^0.3.8", "wdio-selenium-standalone-service": "0.0.11", diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 9319dd7..9999572 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -46,12 +46,8 @@ export class preview extends Component { return (this.props.editable !== "default") || this.props.readOnly; } - private setAsyncSampleData(input: string): Promise<{}> | undefined { - if (!input) { + private setAsyncSampleData(): Promise<{}> { return Promise.resolve({ options: [ ] }); - } - - return; } } diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index ffca61e..bfdc90b 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -4,12 +4,12 @@ import Select, { Async } from "react-select"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; -import { DropdownReferenceProps, hideDropDown } from "../../SharedResources/utils/ContainerUtils"; +import { DropdownProps, debounce, hideDropDown } from "../../SharedResources/utils/ContainerUtils"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; -export class DropdownReference extends Component { +export class DropdownReference extends Component { render() { return this.props.showLabel ? createElement(Label, { @@ -42,7 +42,7 @@ export class DropdownReference extends Component { const commonProps = { clearable: this.props.isClearable, disabled: this.props.isReadOnly, - onChange: this.props.handleOnchange, + onChange: this.props.handleOnchange as () => void, ...this.createSelectorProp() }; @@ -58,7 +58,7 @@ export class DropdownReference extends Component { }) : createElement(Async, { searchPromptText: this.props.searchPromptText, - loadOptions: this.props.asyncData, + loadOptions: debounce(this.props.asyncData, 200), ...commonProps }), createElement(Alert, { className: "widget-dropdown-reference-alert" }, this.props.alertMessage) diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index be826b1..cd66988 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -2,7 +2,7 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; -import { AttributeType, DropdownReferenceProps, ReferenceOption, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { AttributeType, DropdownProps, ReferenceOption, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, fetchData } from "../../SharedResources/utils/Data"; import { DropdownReference } from "./DropdownReference"; @@ -15,7 +15,7 @@ interface WrapperProps { friendlyId: string; } -export interface ContainerProps extends WrapperProps, DropdownReferenceProps { +export interface ContainerProps extends WrapperProps, DropdownProps { attribute: string; entityPath: string; entityConstraint: string; @@ -33,7 +33,7 @@ export interface ContainerProps extends WrapperProps, DropdownReferenceProps { export interface ContainerState { isClearable: boolean; options: ReferenceOption[]; - selectedObject: any; + selectedObject: ReferenceOption; } class DropdownReferenceContainer extends Component { @@ -143,7 +143,7 @@ class DropdownReferenceContainer extends Component { - this.setState({ selectedObject: null }); + this.setState({ selectedObject: {} }); this.getSelectedValue(this.props); this.retrieveOptions(this.props); } @@ -163,15 +163,15 @@ class DropdownReferenceContainer extends Component => { + private setAsyncOptions = (input?: string): Promise<{ options: ReferenceOption[] }> => { if (this.props.mxObject) { this.props.mxObject.set(this.props.searchAttribute, input); - if (input.length >= this.props.minimumCharacter) { + if (input && input.length >= this.props.minimumCharacter) { return this.retrieveOptions(this.props, input) .then(() => Promise.resolve({ options: this.state.options })); } else { diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index 73e3458..d2fb0e0 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -4,17 +4,16 @@ import { createElement } from "react"; import Select from "react-select"; import { Label } from "../../../SharedResources/components/Label"; import { DropdownReference } from "../DropdownReference"; -import { DropdownReferenceProps } from "../../../SharedResources/utils/ContainerUtils"; +import { DropdownProps } from "../../../SharedResources/utils/ContainerUtils"; import { Alert } from "../../../SharedResources/components/Alert"; describe("DropdownReference", () => { - const render = (props: DropdownReferenceProps) => shallow(createElement(DropdownReference, props)); - const ReferenceProps: DropdownReferenceProps = { + const render = (props: DropdownProps) => shallow(createElement(DropdownReference, props)); + const ReferenceProps: DropdownProps = { asyncData: jasmine.any(Function), emptyOptionCaption: "Select city", labelWidth: 3, data: [ { value: "KampalaId" , label: "kampala" }, { value: "AmsterdamId" , label: "Amsterdam" } ], - value: "Kampala", labelCaption: "City", location: "content", showLabel: true, diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index a371682..0f8d1a9 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -46,12 +46,8 @@ export class preview extends Component { return (this.props.editable !== "default") || this.props.readOnly; } - private setAsyncSampleData(input: string): Promise<{}> | undefined { - if (!input) { - return Promise.resolve({ options: [ ] }); - } - - return; + private setAsyncSampleData(): Promise<{}> { + return Promise.resolve({ options: [ ] }); } } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index b964774..50e14bf 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -1,44 +1,20 @@ import { Component, createElement } from "react"; -import Select, { Async, LoadOptionsHandler } from "react-select"; +import Select, { Async } from "react-select"; import * as classNames from "classnames"; import { Alert } from "../../SharedResources/components/Alert"; import { Label } from "../../SharedResources/components/Label"; -import { hideDropDown } from "../../SharedResources/utils/ContainerUtils"; +import { DropdownProps, debounce, hideDropDown } from "../../SharedResources/utils/ContainerUtils"; import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; -export interface DropdownReferenceSetProps { - styleObject?: object; - labelWidth: number; - data?: ReferenceOption[]; - asyncData: LoadOptionsHandler<{}>; - labelCaption: string; - showLabel: boolean; - emptyOptionCaption: string; - isClearable: boolean; - isReadOnly: boolean; - selectType: "normal" | "asynchronous"; - lazyFilter: "startWith" | "contains"; - selectedValue: ReferenceOption[]; - handleOnchange?: (selectedOption: any) => void; - className?: string; - readOnlyStyle: "control" | "text"; - labelOrientation: "horizontal" | "vertical"; - location: "content" | "popup" | "modal" | "node"; - alertMessage: string; - loadingText: string; - minimumCharacter: number; - searchPromptText: string; -} - export interface ReferenceOption { value: string | boolean; label: string; } -export class DropdownReferenceSet extends Component { +export class DropdownReferenceSet extends Component { render() { return this.props.showLabel ? createElement(Label, { @@ -73,7 +49,7 @@ export class DropdownReferenceSet extends Component { multi: true, removeSelected: true, disabled: this.props.isReadOnly, - onChange: this.props.handleOnchange, + onChange: this.props.handleOnchange as () => void, ...this.createSelectorProp() }; @@ -98,7 +74,7 @@ export class DropdownReferenceSet extends Component { : createElement(Async, { autoload: false, autoFocus: true, - loadOptions: this.props.asyncData, + loadOptions: debounce(this.props.asyncData, 200), searchPromptText: this.props.searchPromptText, ...commonProps }), @@ -145,7 +121,7 @@ export class DropdownReferenceSet extends Component { this.props.selectedValue.forEach((dataObject: ReferenceOption) => { const value = dataObject.value; if (value === selectedGuid.value) { - selectedLabel = dataObject.label; + selectedLabel = dataObject.label as string; } }); } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 2469e0b..81c7b8d 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -2,9 +2,9 @@ import { Component, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; -import { AttributeType, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; +import { AttributeType, DropdownProps, parseStyle, validateProps } from "../../SharedResources/utils/ContainerUtils"; import { FetchDataOptions, fetchData } from "../../SharedResources/utils/Data"; -import { DropdownReferenceSet, DropdownReferenceSetProps, ReferenceOption } from "./DropdownReferenceSet"; +import { DropdownReferenceSet, ReferenceOption } from "./DropdownReferenceSet"; interface WrapperProps { "class": string; @@ -15,7 +15,7 @@ interface WrapperProps { friendlyId: string; } -export interface ContainerProps extends WrapperProps, DropdownReferenceSetProps { +export interface ContainerProps extends WrapperProps, DropdownProps { attribute: string; entityPath: string; entityConstraint: string; @@ -146,7 +146,7 @@ class DropdownReferenceSetContainer extends Component => { + private setAsyncOptions = (input?: string): Promise<{ options: ReferenceOption[] }> => { if (this.props.mxObject) { this.props.mxObject.set(this.props.searchAttribute, input); - if (input.length >= this.props.minimumCharacter) { + if (input && input.length >= this.props.minimumCharacter) { return this.retrieveOptions(this.props, input) .then(() => Promise.resolve({ options: this.state.options })); } else { diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index 61f48b3..3330fb1 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -3,6 +3,11 @@ .Select-arrow { display: none; } + + .Select-clear { + color: $gray-dark; + } + .Select.is-focused:not(.is-open) > .Select-control, select.has-value.is-focused.is-open > .Select-control { border-color: $brand-primary; @@ -14,8 +19,12 @@ box-shadow: none; } - .Select.is-disabled.is-searchable > .Select-control { + .Select.is-disabled.is-searchable > .Select-control, .Select.is-disabled.Select--single .Select-value { background-color: $gray-lighter; + cursor: not-allowed; + .Select-arrow-zone { + opacity: 1.35; + } } .Select-control { diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index d3a152d..b272e8f 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -1,6 +1,5 @@ import { ContainerProps } from "../../DropdownReference/components/DropdownReferenceContainer"; import { ContainerProps as ReferenceSetProps } from "../../DropdownReferenceSet/components/DropdownReferenceSetContainer"; -import { LoadOptionsHandler } from "react-select"; export interface AttributeType { name: string; @@ -12,12 +11,10 @@ export interface ReferenceOption { label?: string; } -export interface DropdownReferenceProps { +export interface DropdownProps { styleObject?: object; labelWidth: number; data: ReferenceOption[]; - asyncData: LoadOptionsHandler<{}>; - value?: string; labelCaption: string; showLabel: boolean; emptyOptionCaption: string; @@ -29,12 +26,13 @@ export interface DropdownReferenceProps { loadingText: string; minimumCharacter: number; searchPromptText: string; + selectType: "normal" | "asynchronous"; + lazyFilter: "startWith" | "contains"; labelOrientation: "horizontal" | "vertical"; location: "content" | "popup" | "modal" | "node"; readOnlyStyle: "control" | "text"; - selectType: "normal" | "asynchronous"; - lazyFilter: "startWith" | "contains"; - handleOnchange?: (selectedOption: any) => void; + asyncData: (input?: string) => Promise<{}>; + handleOnchange?: (selectedOption: ReferenceOption) => void; } export function hideDropDown() { @@ -48,6 +46,21 @@ export function hideDropDown() { } } +export function debounce(input: (input?: string) => Promise<{}>, wait = 0) { + let timeout: any = null; + let resolves: any = null; + + return (...args: []) => { + clearTimeout(timeout); + timeout = setTimeout(() => { + resolves(input(...args)); + resolves = null; + }, wait); + + return new Promise(resolve => resolves = resolve); + }; +} + export const parseStyle = (style = ""): { [key: string]: string } => { try { return style.split(";").reduce<{ [key: string]: string }>((styleObject, line) => { From a034b9f62ed90b6071f7959c86503ecb8f9888f4 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Mon, 10 Dec 2018 11:31:50 +0300 Subject: [PATCH 86/89] Add widget art work --- assets/dropdown-reference_appstore.png | Bin 0 -> 8860 bytes package-lock.json | 152 +++++++++--------- package.json | 12 +- src/DropdownReference/DropdownReference.xml | 2 +- .../DropdownReferenceSet.xml | 2 +- src/SharedResources/ui/Dropdown.scss | 1 - src/SharedResources/utils/ContainerUtils.ts | 2 +- tsconfig.json | 1 + 8 files changed, 87 insertions(+), 85 deletions(-) create mode 100644 assets/dropdown-reference_appstore.png diff --git a/assets/dropdown-reference_appstore.png b/assets/dropdown-reference_appstore.png new file mode 100644 index 0000000000000000000000000000000000000000..704eeaf28e2581083bb451af795f7cab3917610a GIT binary patch literal 8860 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index de6ce48..df9ba0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "dependencies": { "@types/big.js": { "version": "0.0.31", - "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", + "resolved": "http://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", "integrity": "sha1-9lMMemn5j68hjYmS395+SyW/fMk=", "dev": true }, @@ -2087,23 +2087,21 @@ } }, "css-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", - "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.0.0.tgz", + "integrity": "sha512-3Fq8HJYs7ruBiDpJA/w2ZROtivA769ePuH3/vgPdOB+FQiotErJ7VJYRZq86SPRVFaccn1wEktUnaaUyf+Uslw==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "icss-utils": "^2.1.0", + "icss-utils": "^4.0.0", "loader-utils": "^1.0.2", "lodash": "^4.17.11", - "postcss": "^6.0.23", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", + "postcss": "^7.0.6", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.2", + "postcss-modules-scope": "^2.0.0", + "postcss-modules-values": "^2.0.0", "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" + "schema-utils": "^1.0.0" }, "dependencies": { "lodash": { @@ -2111,6 +2109,17 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } } } }, @@ -2858,9 +2867,9 @@ } }, "enzyme-adapter-react-16": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.7.0.tgz", - "integrity": "sha512-rDr0xlnnFPffAPYrvG97QYJaRl9unVDslKee33wTStsBEwZTkESX1H7VHGT5eUc6ifNzPgOJGvSh2zpHT4gXjA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.7.1.tgz", + "integrity": "sha512-OQXKgfHWyHN3sFu2nKj3mhgRcqIPIJX6aOzq5AHVFES4R9Dw/vCBZFMPyaG81g2AZ5DogVh39P3MMNUbqNLTcw==", "dev": true, "requires": { "enzyme-adapter-utils": "^1.9.0", @@ -2945,9 +2954,9 @@ } }, "es5-ext": { - "version": "0.10.45", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", - "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "version": "0.10.46", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", + "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", "dev": true, "requires": { "es6-iterator": "~2.0.3", @@ -5287,12 +5296,12 @@ "dev": true }, "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.0.0.tgz", + "integrity": "sha512-bA/xGiwWM17qjllIs9X/y0EjsB7e0AV08F3OL8UPsoNkNRibIuu8f1eKTnQ8QO1DteKKTxTUAn+IEWUToIwGOA==", "dev": true, "requires": { - "postcss": "^6.0.1" + "postcss": "^7.0.5" } }, "ieee754": { @@ -6371,9 +6380,9 @@ } }, "karma-webpack": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.0.tgz", - "integrity": "sha512-Ja1o9LLoqWaJyUNhTKaXjWiEH9y7a9H3mzP8pYB30SBsgoF5KBS/65NeHFd+QPuT9ITrym8xFt8BZeGbcOfujA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.5.tgz", + "integrity": "sha512-nRudGJWstvVuA6Tbju9tyGUfXTtI1UXMXoRHVmM2/78D0q6s/Ye2IC157PKNDC15PWFGR0mVIRtWLAdcfsRJoA==", "dev": true, "requires": { "async": "^2.0.0", @@ -6712,9 +6721,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -6880,9 +6889,9 @@ } }, "mendix-client": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.4.tgz", - "integrity": "sha512-9ueAkV8I0P05i6WSAjdC12dQWCcaQI4J6V2T60TQ9CS6Ciuq+l12l3i8zWTKU//n5tGJCZ3b9HdJEq8c3LOs4Q==", + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.5.tgz", + "integrity": "sha512-Ab1q3818tzBxIqrytWcJ7sTMUJHJkApEalmmdKBadQEDrwTnAlUwdrNO53NuBsZKS2TGdY0bo/8rFs29Werwqw==", "dev": true, "requires": { "@types/big.js": "0.0.31", @@ -7363,9 +7372,9 @@ } }, "node-sass": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz", - "integrity": "sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", + "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -7390,9 +7399,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", - "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -8207,14 +8216,14 @@ "dev": true }, "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz", + "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==", "dev": true, "requires": { "chalk": "^2.4.1", "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "supports-color": "^5.5.0" }, "dependencies": { "ansi-styles": { @@ -8255,42 +8264,43 @@ } }, "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", "dev": true, "requires": { - "postcss": "^6.0.1" + "postcss": "^7.0.5" } }, "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.2.tgz", + "integrity": "sha512-qghHvHeydUBQ3EQic5NjYryZ5jzXzAYxHR7lZQlCNmjGpJtINRyX/ELnh/7fxBBmHNkEzNkq2l5cV6trfidYng==", "dev": true, "requires": { "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "postcss": "^7.0.6", + "postcss-value-parser": "^3.3.1" } }, "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz", + "integrity": "sha512-7+6k9c3/AuZ5c596LJx9n923A/j3nF3ormewYBF1RrIQvjvjXe1xE8V8A1KFyFwXbvnshT6FBZFX0k/F1igneg==", "dev": true, "requires": { "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "postcss": "^7.0.6" } }, "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", "dev": true, "requires": { "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" + "postcss": "^7.0.6" } }, "postcss-value-parser": { @@ -8694,9 +8704,9 @@ } }, "react-is": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.1.tgz", - "integrity": "sha512-wOKsGtvTMYs7WAscmwwdM8sfRRvE17Ym30zFj3n37Qx5tHRfhenPKEPILHaHob6WoLFADmQm1ZNrE5xMCM6sCw==", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.3.tgz", + "integrity": "sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==", "dev": true }, "react-lifecycles-compat": { @@ -12007,14 +12017,6 @@ "range-parser": "^1.0.3", "url-join": "^2.0.2", "webpack-log": "^1.0.1" - }, - "dependencies": { - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - } } }, "webpack-dev-server": { @@ -12319,9 +12321,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -12330,9 +12332,9 @@ } }, "webpack-merge": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", - "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.5.tgz", + "integrity": "sha512-sVcM+MMJv6DO0C0GLLltx8mUlGMKXE0zBsuMqZ9jz2X9gsekALw6Rs0cAfTWc97VuWS6NpVUa78959zANnMMLQ==", "dev": true, "requires": { "lodash": "^4.17.5" diff --git a/package.json b/package.json index 891e499..b63b494 100644 --- a/package.json +++ b/package.json @@ -53,9 +53,9 @@ "check-dependencies": "^1.0.1", "copy-webpack-plugin": "^4.6.0", "core-js": "^2.6.0", - "css-loader": "^1.0.1", + "css-loader": "^2.0.0", "enzyme": "^3.7.0", - "enzyme-adapter-react-16": "^1.7.0", + "enzyme-adapter-react-16": "^1.7.1", "extract-text-webpack-plugin": "^4.0.0-beta.0", "fork-ts-checker-webpack-plugin": "^0.5.0", "grunt": "^1.0.3", @@ -78,10 +78,10 @@ "karma-remap-istanbul": "^0.6.0", "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "0.0.32", - "karma-webpack": "^3.0.0", - "mendix-client": "^7.15.4", + "karma-webpack": "^3.0.5", + "mendix-client": "^7.15.5", "mendix-widget-build-script": "^1.0.0-rc2", - "node-sass": "^4.10.0", + "node-sass": "^4.11.0", "pre-commit": "^1.2.2", "raw-loader": "^0.5.1", "react": "^16.6.3", @@ -106,7 +106,7 @@ "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.10", - "webpack-merge": "^4.1.3", + "webpack-merge": "^4.1.5", "webworkify-webpack": "^2.1.3" }, "dependencies": { diff --git a/src/DropdownReference/DropdownReference.xml b/src/DropdownReference/DropdownReference.xml index fe2d4eb..39e87bf 100644 --- a/src/DropdownReference/DropdownReference.xml +++ b/src/DropdownReference/DropdownReference.xml @@ -2,7 +2,7 @@ Dropdown reference An input widget used to display and edit associations for reference - + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABBZJREFUeAHtWs1rE0EUn9naxmJBe1RTL4IgXivtVfGQKLbxEAuieFDqP2DVmx6kiPoXBD0pQhIoaUXbgx9HWyyCBxEELxr1qlBp048d39tu0v2Y2TjJdDNpZiHkzXtv3rzfb95OdjNDiLkMA4YBw4BhwDBgGOhUBmgQ+NjYWNq27Rzok0Fbm7fLlmWN5/P5WS8Oy9tAeYeCR2hJFxvKtStEAFh22szXwPKw8Qjwdtjx8q56CIvFYmidqNdHJ3s2m2VR+XR8BRgCosqjE2x11wDdSIB7+j3kNCjIaxHWrOMCG1fddrcAPMxcAyTrHDTrro1jEqvajgB4kvsAcCY5kCZdG8ckVrUdAQilv7//LqX0YxUWyqirtmW+25KAXC63BqAvwwe/HRl1MsCrvm1JACYP5Y4VcAc+t10ZRPmL9ytQhjDV9wGUfVd6ZiVNbJZjhO6DR8SfhLBFRq3SoYM9pdwg5c7C+CLr/vZjNUOZnSGEDsKj2QFK2G9i0fHZkd2+tzPfYHUahUKBtxbU6eU3hyoAXxnBBYE7r49+d2g54JEg1scIOwJgLhBmF76XK59Tpcq5oD/q0IY+6It9NvtCDIgV9I+7HaoAKCeckQHZRADYYQA2lZpeeTA8kriF/ednKvcA+ETkw7jsQIr9QwTUjQ9lS2tVwPFmbAKAbxpA5ng4Krh9yngLiOxx6Rt+08u+ZX1//6wdY9S+AjN8lTAWHYtSdHhEmfV4z97uT8UTdOl/QKr+hyr4ditfAW7WLoAFaC6kni/nyQZ5AvJ+AahfgP/i7EjvG4FdqN7uf6hCi6AwkwjD3Nne16SLXCKAMuSGM2+RhsCHYjWvwMXddykhACMiCVjivujQQF0jM1+N4/lVqqoa/eb+qkXft5JDnS6tDtlkY97bzSJdwy8zPXiraHkpqwBEh4tbECVPF/RpZVtpBSCQVGnZtw7MZXqVj6GSMKUVoDKxuGIZAuJiWtdxTAXoOjNx5WUqIC6mdR3HVICuMxNXXqYC4mJa13FMBeg6M3HlZSogLqZ1HcdUgPKZgT2vWkyvXFPqJSitANwrAPhb/wCB7Oj0wuzLRikBuFHiiw4Nni7o08q2UgJwlygIhqcL+rSyvVWuTWaRnlk+Cbtjr0JbZLgxQtmpZvYGmkwtsruSCnDA2+RpCDwODawwsKFPZCYtMjZcAXFtjm43L9IEbJ0QqZ0iCeVICX2ISjgzcD1kdBUwsLM93swJEVFsGb387nDU2QAYGcEPjSZuYhIL0xUhCfCwkMRzBuAmfRgDY6u65AkQjAzAv1qU3ngxmpjyHPqZODNdeWczdn/zBImgcwvV8osgnhBxzhDRJQD9BeRnhFrnB5KJowg+iAV1aEMf9MU+UCfQV48TIsF8TdswYBjoLAb+ARRjSEmycnI7AAAAAElFTkSuQmCC Entity path diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.xml b/src/DropdownReferenceSet/DropdownReferenceSet.xml index b3dcd58..24f5b9c 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.xml +++ b/src/DropdownReferenceSet/DropdownReferenceSet.xml @@ -2,7 +2,7 @@ Dropdown reference set An input widget used to display and edit associations for reference sets - + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABBZJREFUeAHtWs1rE0EUn9naxmJBe1RTL4IgXivtVfGQKLbxEAuieFDqP2DVmx6kiPoXBD0pQhIoaUXbgx9HWyyCBxEELxr1qlBp048d39tu0v2Y2TjJdDNpZiHkzXtv3rzfb95OdjNDiLkMA4YBw4BhwDBgGOhUBmgQ+NjYWNq27Rzok0Fbm7fLlmWN5/P5WS8Oy9tAeYeCR2hJFxvKtStEAFh22szXwPKw8Qjwdtjx8q56CIvFYmidqNdHJ3s2m2VR+XR8BRgCosqjE2x11wDdSIB7+j3kNCjIaxHWrOMCG1fddrcAPMxcAyTrHDTrro1jEqvajgB4kvsAcCY5kCZdG8ckVrUdAQilv7//LqX0YxUWyqirtmW+25KAXC63BqAvwwe/HRl1MsCrvm1JACYP5Y4VcAc+t10ZRPmL9ytQhjDV9wGUfVd6ZiVNbJZjhO6DR8SfhLBFRq3SoYM9pdwg5c7C+CLr/vZjNUOZnSGEDsKj2QFK2G9i0fHZkd2+tzPfYHUahUKBtxbU6eU3hyoAXxnBBYE7r49+d2g54JEg1scIOwJgLhBmF76XK59Tpcq5oD/q0IY+6It9NvtCDIgV9I+7HaoAKCeckQHZRADYYQA2lZpeeTA8kriF/ednKvcA+ETkw7jsQIr9QwTUjQ9lS2tVwPFmbAKAbxpA5ng4Krh9yngLiOxx6Rt+08u+ZX1//6wdY9S+AjN8lTAWHYtSdHhEmfV4z97uT8UTdOl/QKr+hyr4ditfAW7WLoAFaC6kni/nyQZ5AvJ+AahfgP/i7EjvG4FdqN7uf6hCi6AwkwjD3Nne16SLXCKAMuSGM2+RhsCHYjWvwMXddykhACMiCVjivujQQF0jM1+N4/lVqqoa/eb+qkXft5JDnS6tDtlkY97bzSJdwy8zPXiraHkpqwBEh4tbECVPF/RpZVtpBSCQVGnZtw7MZXqVj6GSMKUVoDKxuGIZAuJiWtdxTAXoOjNx5WUqIC6mdR3HVICuMxNXXqYC4mJa13FMBeg6M3HlZSogLqZ1HcdUgPKZgT2vWkyvXFPqJSitANwrAPhb/wCB7Oj0wuzLRikBuFHiiw4Nni7o08q2UgJwlygIhqcL+rSyvVWuTWaRnlk+Cbtjr0JbZLgxQtmpZvYGmkwtsruSCnDA2+RpCDwODawwsKFPZCYtMjZcAXFtjm43L9IEbJ0QqZ0iCeVICX2ISjgzcD1kdBUwsLM93swJEVFsGb387nDU2QAYGcEPjSZuYhIL0xUhCfCwkMRzBuAmfRgDY6u65AkQjAzAv1qU3ngxmpjyHPqZODNdeWczdn/zBImgcwvV8osgnhBxzhDRJQD9BeRnhFrnB5KJowg+iAV1aEMf9MU+UCfQV48TIsF8TdswYBjoLAb+ARRjSEmycnI7AAAAAElFTkSuQmCC Entity path diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index 3330fb1..7f9c1a0 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -58,7 +58,6 @@ border: none; color: $gray; font-size: 14px; - font-family: "Open Sans"; } } diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index b272e8f..1979ced 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -29,7 +29,7 @@ export interface DropdownProps { selectType: "normal" | "asynchronous"; lazyFilter: "startWith" | "contains"; labelOrientation: "horizontal" | "vertical"; - location: "content" | "popup" | "modal" | "node"; + location: string; readOnlyStyle: "control" | "text"; asyncData: (input?: string) => Promise<{}>; handleOnchange?: (selectedOption: ReferenceOption) => void; diff --git a/tsconfig.json b/tsconfig.json index 5405908..a018fb8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "alwaysStrict": true, "baseUrl": ".", "rootDir": "./", "outDir": "dist/tsc/", From a8299ed00c0a78a6a5615a186a41d409827a5150 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Wed, 12 Dec 2018 10:15:04 +0300 Subject: [PATCH 87/89] Fix listen to grid --- package-lock.json | 352 +++++++++++++++--- package.json | 18 +- .../components/DropdownReference.ts | 4 +- .../components/DropdownReferenceContainer.ts | 7 +- .../components/DropdownReferenceSet.ts | 6 +- .../DropdownReferenceSetContainer.ts | 12 +- .../components/__tests__/Alert.spec.ts | 4 +- src/SharedResources/ui/Dropdown.scss | 4 + src/SharedResources/utils/Data.ts | 22 +- webpack.config.js | 1 + 10 files changed, 328 insertions(+), 102 deletions(-) diff --git a/package-lock.json b/package-lock.json index df9ba0e..b398ef5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "dependencies": { "@types/big.js": { "version": "0.0.31", - "resolved": "http://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", + "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-0.0.31.tgz", "integrity": "sha1-9lMMemn5j68hjYmS395+SyW/fMk=", "dev": true }, @@ -77,21 +77,21 @@ } }, "@types/node": { - "version": "10.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.12.tgz", - "integrity": "sha512-Pr+6JRiKkfsFvmU/LK68oBRCQeEg36TyAbPhc2xpez24OOZZCuoIhWGTd39VZy6nGafSbxzGouFPTFD/rR1A0A==", + "version": "10.12.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", + "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==", "dev": true }, "@types/prop-types": { - "version": "15.5.6", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.6.tgz", - "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==", + "version": "15.5.8", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.8.tgz", + "integrity": "sha512-3AQoUxQcQtLHsK25wtTWIoIpgYjH3vSDroZOUr7PpCHw/jLY1RB9z9E8dBT/OSmwStVgkRNvdh+ZHNiomRieaw==", "dev": true }, "@types/react": { - "version": "16.7.13", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.13.tgz", - "integrity": "sha512-WhqrQLAE9z65hfcvWqZfR6qUtIazFRyb8LXqHo8440R53dAQqNkt2OlVJ3FXwqOwAXXg4nfYxt0qgBvE18o5XA==", + "version": "16.7.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.17.tgz", + "integrity": "sha512-YcXcaoXaxo7A76mBCGlKlN2aZu3REQfF0DTrhiyXVJLA7PDdxVCr+wiQOrkVNn44D/zLlIyDSn3U918Ve0AaEA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -663,7 +663,8 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true + "dev": true, + "optional": true }, "assign-symbols": { "version": "1.0.0", @@ -722,7 +723,8 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true + "dev": true, + "optional": true }, "aws4": { "version": "1.8.0", @@ -2043,6 +2045,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, + "optional": true, "requires": { "boom": "2.x.x" } @@ -2604,9 +2607,9 @@ "dev": true }, "domelementtype": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", - "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, "domhandler": { @@ -2832,9 +2835,9 @@ "dev": true }, "enzyme": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.7.0.tgz", - "integrity": "sha512-QLWx+krGK6iDNyR1KlH5YPZqxZCQaVF6ike1eDJAOg0HvSkSCVImPsdWaNw6v+VrnK92Kg8jIOYhuOSS9sBpyg==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.8.0.tgz", + "integrity": "sha512-bfsWo5nHyZm1O1vnIsbwdfhU989jk+squU9NKvB+Puwo5j6/Wg9pN5CO0YJelm98Dao3NPjkDZk+vvgwpMwYxw==", "dev": true, "requires": { "array.prototype.flat": "^1.2.1", @@ -3643,9 +3646,9 @@ "dev": true }, "fork-ts-checker-webpack-plugin": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.0.tgz", - "integrity": "sha512-F8Xh0YBJEi1U0EGaYkTfc7IjDgQvBazGwBkoVytvcEIBeLHcqxYtwh5FkFcQdTsKZLWHGgtSJ78C3//RhpWFGw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.2.tgz", + "integrity": "sha512-a5IG+xXyKnpruI0CP/anyRLAoxWtp3lzdG6flxicANnoSzz64b12dJ7ASAVRrI2OaWwZR2JyBaMHFQqInhWhIw==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -3692,6 +3695,7 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, + "optional": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", @@ -4942,13 +4946,15 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true + "dev": true, + "optional": true }, "har-validator": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, + "optional": true, "requires": { "ajv": "^4.9.1", "har-schema": "^1.0.5" @@ -4959,6 +4965,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, + "optional": true, "requires": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" @@ -5091,6 +5098,7 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, + "optional": true, "requires": { "boom": "2.x.x", "cryptiles": "2.x.x", @@ -5180,12 +5188,6 @@ "readable-stream": "^3.0.6" }, "dependencies": { - "domelementtype": { - "version": "1.3.0", - "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, "readable-stream": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", @@ -5262,6 +5264,7 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, + "optional": true, "requires": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", @@ -6140,6 +6143,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, + "optional": true, "requires": { "jsonify": "~0.0.0" } @@ -6175,7 +6179,8 @@ "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true + "dev": true, + "optional": true }, "jsprim": { "version": "1.4.1", @@ -6596,6 +6601,18 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", + "dev": true + }, "lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", @@ -6605,6 +6622,12 @@ "lodash._root": "^3.0.0" } }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, "lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", @@ -6646,6 +6669,12 @@ "lodash.isarray": "^3.0.0" } }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", + "dev": true + }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", @@ -6691,6 +6720,18 @@ "lodash.escape": "^3.0.0" } }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", + "dev": true + }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", + "dev": true + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -6889,9 +6930,9 @@ } }, "mendix-client": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.5.tgz", - "integrity": "sha512-Ab1q3818tzBxIqrytWcJ7sTMUJHJkApEalmmdKBadQEDrwTnAlUwdrNO53NuBsZKS2TGdY0bo/8rFs29Werwqw==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/mendix-client/-/mendix-client-7.15.6.tgz", + "integrity": "sha512-ocduH9c3G5XRTgK1d5XHR9XERE1hYtNHHaCTcqGQXDOzu+TwcYxGyUBHMcO7z6qonBNsF0hM98X3JITMEw7bsQ==", "dev": true, "requires": { "@types/big.js": "0.0.31", @@ -6899,30 +6940,184 @@ } }, "mendix-widget-build-script": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mendix-widget-build-script/-/mendix-widget-build-script-1.0.0.tgz", - "integrity": "sha512-gWql2Ud1qYdpqDUsey0HzHIbC3m5j9sGD5W+OgLxiYxxWz/l9DcEEWn9BCj7o6yui5kQk+nWv6xDvWmz3Lr68Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mendix-widget-build-script/-/mendix-widget-build-script-1.0.3.tgz", + "integrity": "sha512-N/d9wlHEzJXms8mBRom/zHak9vmVXcawEtGa9+VeihJuFZvdXAb4ZNFzRuMUfhvF+7wHTbzqdwRrmRmKt8qAVg==", "dev": true, "requires": { - "archiver": "^2.0.0", + "archiver": "^3.0.0", "node-svn-ultimate": "^1.1.0", - "request": "^2.81.0" + "request": "^2.88.0" }, "dependencies": { + "ajv": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "archiver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.0.0.tgz", + "integrity": "sha512-5QeR6Xc5hSA9X1rbQfcuQ6VZuUXOaEdB65Dhmk9duuRJHYif/ZyJfuyJqsQrj34PFjU5emv5/MmfgA8un06onw==", "dev": true, "requires": { - "archiver-utils": "^1.3.0", + "archiver-utils": "^2.0.0", "async": "^2.0.0", "buffer-crc32": "^0.2.1", "glob": "^7.0.0", - "lodash": "^4.8.0", "readable-stream": "^2.0.0", "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" + "zip-stream": "^2.0.1" + } + }, + "archiver-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.0.0.tgz", + "integrity": "sha512-JRBgcVvDX4Mwu2RBF8bBaHcQCSxab7afsxAPYDQ5W+19quIPP5CfKE7Ql+UHs9wYvwsaNR8oDuhtf5iqrKmzww==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash.assign": "^4.2.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.toarray": "^4.4.0", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "zip-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.0.1.tgz", + "integrity": "sha512-c+eUhhkDpaK87G/py74wvWLtz2kzMPNCCkUApkun50ssE0oQliIQzWpTnwjB+MTKVIf2tGzIgHyqW/Y+W77ecQ==", + "dev": true, + "requires": { + "archiver-utils": "^2.0.0", + "compress-commons": "^1.2.0", + "readable-stream": "^2.0.0" } } } @@ -7655,7 +7850,8 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -8601,10 +8797,27 @@ } }, "raw-loader": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0.tgz", + "integrity": "sha512-Uqy5AqELpytJTRxYT4fhltcKPj0TyaEpzJDcGz7DFJi+pQOOi3GjR/DOdxTkTsF+NzhnldIoG6TORaBlInUuqA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } }, "rc": { "version": "1.2.8", @@ -8682,17 +8895,28 @@ "integrity": "sha1-KZTGAIjNqQsLLL+sS258a8c9ajo=" }, "react-hot-loader": { - "version": "4.3.12", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.3.12.tgz", - "integrity": "sha512-GMM4TsqUVss2QPe+Y33NlgydA5/+7tAVQxR0rZqWvBpapM8JhD7p6ymMwSZzr5yxjoXXlK/6P6qNQBOqm1dqdg==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.6.0.tgz", + "integrity": "sha512-ytmtbJB0RlTUqa9HnpVsoZiZ6iRsTzu+O2WovKT++f+tDYOTNZYa7OesVAE+R90e/1w/OJO4G/tw4rNSMYCjFw==", "dev": true, "requires": { "fast-levenshtein": "^2.0.6", "global": "^4.3.0", "hoist-non-react-statics": "^2.5.0", + "loader-utils": "^1.1.0", + "lodash.merge": "^4.6.1", "prop-types": "^15.6.1", "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.0.2" + "shallowequal": "^1.0.2", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } }, "react-input-autosize": { @@ -8995,6 +9219,7 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, + "optional": true, "requires": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", @@ -9024,7 +9249,8 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true + "dev": true, + "optional": true } } }, @@ -9357,9 +9583,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", - "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -9857,6 +10083,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, + "optional": true, "requires": { "hoek": "2.x.x" } @@ -10339,7 +10566,8 @@ "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "dev": true + "dev": true, + "optional": true }, "strip-ansi": { "version": "3.0.1", @@ -10786,6 +11014,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, + "optional": true, "requires": { "punycode": "^1.4.1" }, @@ -10794,7 +11023,8 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "dev": true, + "optional": true } } }, @@ -11389,9 +11619,9 @@ } }, "wdio-selenium-standalone-service": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/wdio-selenium-standalone-service/-/wdio-selenium-standalone-service-0.0.11.tgz", - "integrity": "sha512-rvUqC+u+NdN3ROje5zwW4THbP7pItJd6rvIopdER/K/Q76ajDGoT8L1ofuYofDmKWeKDU8ZZj5/oaG2zGBXL4w==", + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/wdio-selenium-standalone-service/-/wdio-selenium-standalone-service-0.0.12.tgz", + "integrity": "sha512-R8iUL30SkFfZictAG5wRofeCsHQ4bIucDtaArCQWZkUqS+DlGTStIk3TaIOCaX7dS7UW1YN/lJt9Vsn4Ekmoxg==", "dev": true, "requires": { "fs-extra": "^0.30.0", diff --git a/package.json b/package.json index b63b494..0135870 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "@types/enzyme-adapter-react-16": "^1.0.2", "@types/jasmine": "^3.3.1", "@types/karma": "^3.0.1", - "@types/node": "^10.12.12", - "@types/react": "^16.7.13", + "@types/node": "^10.12.15", + "@types/react": "^16.7.17", "@types/react-dom": "^16.0.11", "@types/react-select": "^1.3.0", "@types/webdriverio": "^4.13.0", @@ -54,10 +54,10 @@ "copy-webpack-plugin": "^4.6.0", "core-js": "^2.6.0", "css-loader": "^2.0.0", - "enzyme": "^3.7.0", + "enzyme": "^3.8.0", "enzyme-adapter-react-16": "^1.7.1", "extract-text-webpack-plugin": "^4.0.0-beta.0", - "fork-ts-checker-webpack-plugin": "^0.5.0", + "fork-ts-checker-webpack-plugin": "^0.5.2", "grunt": "^1.0.3", "grunt-check-dependencies": "^1.0.0", "grunt-contrib-clean": "^2.0.0", @@ -79,14 +79,14 @@ "karma-sourcemap-loader": "^0.3.7", "karma-spec-reporter": "0.0.32", "karma-webpack": "^3.0.5", - "mendix-client": "^7.15.5", - "mendix-widget-build-script": "^1.0.0-rc2", + "mendix-client": "^7.15.6", + "mendix-widget-build-script": "^1.0.3", "node-sass": "^4.11.0", "pre-commit": "^1.2.2", - "raw-loader": "^0.5.1", + "raw-loader": "^1.0.0", "react": "^16.6.3", "react-dom": "^16.6.3", - "react-hot-loader": "^4.3.11", + "react-hot-loader": "^4.6.0", "react-test-renderer": "^16.6.3", "remap-istanbul": "^0.12.0", "sass-loader": "^7.0.3", @@ -99,7 +99,7 @@ "typescript": "^3.2.2", "wdio-dot-reporter": "0.0.10", "wdio-jasmine-framework": "^0.3.8", - "wdio-selenium-standalone-service": "0.0.11", + "wdio-selenium-standalone-service": "0.0.12", "wdio-spec-reporter": "^0.1.3", "webdriverio": "^4.14.1", "webpack": "^4.27.1", diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index bfdc90b..ad9a1f9 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -47,6 +47,8 @@ export class DropdownReference extends Component { }; if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { + const loadOptions = (input?: string) => (this.props.asyncData as (input?: string) => Promise<{}>)(input); + return createElement("div", { className: "widget-dropdown-reference", onClick: this.setDropdownSize @@ -58,7 +60,7 @@ export class DropdownReference extends Component { }) : createElement(Async, { searchPromptText: this.props.searchPromptText, - loadOptions: debounce(this.props.asyncData, 200), + loadOptions: debounce(loadOptions, 200), ...commonProps }), createElement(Alert, { className: "widget-dropdown-reference-alert" }, this.props.alertMessage) diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index cd66988..8230984 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -73,10 +73,10 @@ class DropdownReferenceContainer extends Component= this.props.minimumCharacter) { return this.retrieveOptions(this.props, input) .then(() => Promise.resolve({ options: this.state.options })); - } else { - return this.getSelectedValue(this.props) - .then(() => Promise.resolve({ options: [] })); } } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index 50e14bf..a82588a 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -10,7 +10,7 @@ import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; export interface ReferenceOption { - value: string | boolean; + value: string; label: string; } @@ -54,6 +54,8 @@ export class DropdownReferenceSet extends Component { }; if (this.props.readOnlyStyle === "control" || (this.props.readOnlyStyle === "text" && !this.props.isReadOnly)) { + const loadOptions = (input?: string) => (this.props.asyncData as (input?: string) => Promise<{}>)(input); + return createElement("div", { className: "widget-dropdown-reference-set", onClick: this.setDropdownSize @@ -74,7 +76,7 @@ export class DropdownReferenceSet extends Component { : createElement(Async, { autoload: false, autoFocus: true, - loadOptions: debounce(this.props.asyncData, 200), + loadOptions: debounce(loadOptions, 200), searchPromptText: this.props.searchPromptText, ...commonProps }), diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 81c7b8d..0f25ca0 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -33,7 +33,7 @@ export interface ContainerProps extends WrapperProps, DropdownProps { export interface ContainerState { isClearable: boolean; options: ReferenceOption[]; - selected: any; + selected: ReferenceOption[] | any; } class DropdownReferenceSetContainer extends Component { @@ -45,7 +45,6 @@ class DropdownReferenceSetContainer extends Component void = this.onChange.bind(this); render() { return createElement(DropdownReferenceSet, { @@ -54,7 +53,7 @@ class DropdownReferenceSetContainer extends Component { if (this.props.mxObject) { const selectedOptions: string[] = []; @@ -245,9 +244,6 @@ class DropdownReferenceSetContainer extends Component= this.props.minimumCharacter) { return this.retrieveOptions(this.props, input) .then(() => Promise.resolve({ options: this.state.options })); - } else { - return this.getSelectedValues(this.props) - .then(() => Promise.resolve({ options: [] })); } } diff --git a/src/SharedResources/components/__tests__/Alert.spec.ts b/src/SharedResources/components/__tests__/Alert.spec.ts index eb99615..43b6a81 100644 --- a/src/SharedResources/components/__tests__/Alert.spec.ts +++ b/src/SharedResources/components/__tests__/Alert.spec.ts @@ -22,9 +22,9 @@ describe("Alert", () => { }); it("renders with the specified class", () => { - const alert = renderAlert({ className: "widget-color-picker-alert" }, alertMessage); + const alert = renderAlert({ className: "widget-dropdown-reference-alert" }, alertMessage); - expect(alert).toHaveClass("widget-color-picker-alert"); + expect(alert).toHaveClass("widget-dropdown-reference-alert"); }); it("with no bootstrap style specified renders with the class alert-danger", () => { diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index 7f9c1a0..acc80e4 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,5 +1,9 @@ @import "variables"; .widget-dropdown-reference, .widget-dropdown-reference-set { + .widget-dropdown-reference-alert { + margin-top: 5px; + } + .Select-arrow { display: none; } diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index 98d507a..e103797 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -26,14 +26,14 @@ export interface FetchByXPathOptions { export interface ReferencesSpec { attributes?: string[]; amount?: number; - sort?: Array<[ string ]>; + sort?: string[]; references?: { [ index: string ]: ReferencesSpec; }; } export interface FetchedData { - mxObjects?: mendix.lib.MxObject[]; + mxObjects?: MxObject[]; } const addPathReference = (references: ReferencesSpec, path: string): ReferencesSpec => @@ -62,8 +62,8 @@ const addPathReference = (references: ReferencesSpec, path: string): ReferencesS return referenceSet; }, references); -export const fetchData = (options: FetchDataOptions): Promise => - new Promise((resolve, reject) => { +export const fetchData = (options: FetchDataOptions): Promise => + new Promise((resolve, reject) => { const { guid, entity, sortAttributes } = options; if (entity && guid) { if (options.source === "xpath") { @@ -112,21 +112,15 @@ export const fetchByXPath = (options: FetchByXPathOptions): Promise }); }); -export const createSortProps = (sortAttributes: AttributeType[]) => { - const combined: any = []; - sortAttributes.map(optionObject => { - const { name, sort } = optionObject; - combined.push([ name, sort ]); - }); - - return combined; +export const createSortProps = (sortAttributes: AttributeType[] | any) => { + return sortAttributes.map((optionObject: AttributeType) => [ optionObject.name, optionObject.sort ]); }; export const fetchByMicroflow = (actionname: string, guid: string): Promise => new Promise((resolve, reject) => { const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; window.mx.ui.action(actionname, { - callback: result => resolve(result as any), + callback: result => resolve(result as MxObject[]), error: error => reject(`${errorMessage} ${error.message}`), params: { applyto: "selection", guids: [ guid ] } }); @@ -137,7 +131,7 @@ export const fetchByNanoflow = (actionname: mx.Nanoflow, mxform: mxui.lib.form._ const errorMessage = `An error occurred while retrieving data by nanoflow: `; const context = new mendix.lib.MxContext(); window.mx.data.callNanoflow({ - callback: result => resolve(result as any), + callback: result => resolve(result as MxObject[]), context, error: error => reject(`${errorMessage} ${error.message}`), nanoflow: actionname, diff --git a/webpack.config.js b/webpack.config.js index 99d1b77..6fb83ae 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,6 +3,7 @@ const path = require("path"); const CopyWebpackPlugin = require("copy-webpack-plugin"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); +const packageName = process.env.npm_package_name; const mxHost = process.env.npm_package_config_mendixHost || "http://localhost:8080"; const developmentPort = process.env.npm_package_config_developmentPort || "3000"; From bb1bb5b4550b1ec184dbff6ddf9904a8690c3ee3 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Fri, 14 Dec 2018 11:21:51 +0300 Subject: [PATCH 88/89] Update documentation --- README.md | 5 +---- assets/dropdown-typeahead-appearance.png | Bin 17246 -> 25360 bytes assets/dropdown-typeahead-data-source.png | Bin 16865 -> 25222 bytes assets/dropdown-typeahead-events.png | Bin 17883 -> 22970 bytes assets/dropdown-typeahead-label.png | Bin 15353 -> 21473 bytes assets/dropdown-typeahead-normal-loading.gif | Bin 33455 -> 217951 bytes assets/dropdown-typeahead-search.png | Bin 13862 -> 0 bytes assets/dropdown-typeahead-selectable.png | Bin 23078 -> 40865 bytes 8 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 assets/dropdown-typeahead-search.png diff --git a/README.md b/README.md index d9654ec..8d108c8 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,12 @@ [![Dependency Status](https://david-dm.org/mendixlabs/dropdown-type-ahead.svg)](https://david-dm.org/mendixlabs/dropdown-type-ahead) [![Dev Dependency Status](https://david-dm.org/mendixlabs/dropdown-type-ahead.svg#info=devDependencies)](https://david-dm.org/mendixlabs/dropdown-type-ahead#info=devDependencies) [![codecov](https://codecov.io/gh/mendixlabs/dropdown-type-ahead/branch/master/graph/badge.svg)](https://codecov.io/gh/mendixlabs/dropdown-type-ahead) -![badge](https://img.shields.io/badge/mendix-7.14.1-green.svg) +![badge](https://img.shields.io/badge/mendix-7.21.0-green.svg) # Dropdown An input widget used to display and edit associations for reference and reference sets ## Features -* Search for matching options * Selection of multiple options * Asynchronous loading of options * Supports different data sources @@ -44,8 +43,6 @@ For a basic configuration, set up the widget as indicated below:- ![dropdown-typeahead-label](/assets/dropdown-typeahead-label.png) ### Selectable objects ![dropdown-typeahead-selectable-objects](/assets/dropdown-typeahead-selectable.png) -### Search -![dropdown-typeahead-search](/assets/dropdown-typeahead-search.png) ### Events ![dropdown-typeahead-events](/assets/dropdown-typeahead-events.png) diff --git a/assets/dropdown-typeahead-appearance.png b/assets/dropdown-typeahead-appearance.png index 8d554b968002b45f3a822db5685514d3a75b9f14..5f7fb4b0e1e0ae9bf664af8d97cb8cb0394e633a 100644 GIT binary patch literal 25360 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�hoC7ac1k0@pH6I2EKiO?KUyWIrvGSEP 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 C&#!C% literal 17246 zcmeIaXiD#hh4WWi3-Ha~7#g%K>o08LXUEnYvn*rl_n2 zHAgZBR0K>@D^pWc6a+$3R75~j5Cs0%T6>@U>}Q{So@al~i}T{V;N#7Y-+kTlb$##e zbzMHVY;U8wao0uw0HAvD!r7|;z)Gg_vw8hmpHX-_J@tiFBP z?lb^UnXa;QV~z6rhM)^>p#Z?vu;tGRhOb^E0B}Zl@$BhqkzQOnE!~HL)DuVRvemOc z4(6|WZgVqzN2m8Y(Ztpb=XKZL_;UZihfC8x9J?pmyZVpwC;PVEIGdgIP=D3AGpm~c zTvKl3-U90b5B;)z?^e>b_V0DeJh~~+HtmS&-;J0nha*cRD*=E(%%RvgA)5IEaRuOd zcL^UE9)2Kp6`(2Ki6!lKfoS~oSoY~KcD-^w-rRN)%f}#cAC?vXuu!&<2~kKWiEyQy zszb4)rP+>VAOJA!ra>ev)L=LKt-_QG>CoSVsw?>Ff2#nBCjcjdi`cJW-SV=hVZXW_4DY;SAbk{%6T$JN-E|_QU%C_&ZbA!c5 z@in3AOJtk5S6S1OTks}QvT)^i%}~dr3;P5PqKA9j@E&;;4GNbY zTapLKkz|64CtdU_buhTNNS*hx<5Xr-|7M0!rhC=&p6JRA{Ve8j+syid_+;Kw-b58= z7;m)0L`v1N3)y#+VkuJf?O71*4vaXwqk8lb>A72+5q-?HGl%XXlnvXGoa?5!xDj}v zTFcn#+PTO;URF$N-mINqp)W#Qoa~^9yKVJD-Nq64SxI|A6lU;}Hi`~e_ebr4%UHLC z%LLOc6-DFRmZuw;PFm89AF?!v$t%woal@lWhxc5X4k`29z|=f1t|(~tzC$V_%1b$8 z593A%i{p**@s~K;q&5m#xs0PQcd?q6_WB`f@&XjjGM85$7(T{R9rmO-R7Q6s?Fx+f zI$pK^h|v$XUTR%K7zN;*49#m~{$=}w_oKB%Qx3T~J|*W$xV7ZMl|LinAAx!TMDTuW zWX#2hRMCx6VCFrU?h&^_&?x69vFBbbH zgfU!q`$8RJv{+G2(~=kd1dWI>x5IZn%S^+8GM@*$$jhoAmGSU62-;ltrS!%fs;>ta zBq2+osUqZLlxcNWj?6fS5jYOTdT2!|Xsd;TO)z31k>4VfNm;U|mlX*p;UOR+B(Mfqt&1_Nc>#V|o@1)fNIhn5$Xa}if3 z<-^nHR}Ox=FN$s$$Gt;gJPN0}2Tt^$b_}{Wj^o^TFKIa5TpE2=rpHTu?34K@%HL!1 z**fZaS~0|gbDrJmthcLw?saN8_aqcSU(dBqkC+i##+os@CnZ882qL9%`#I`Iwh;`p zxDb57knkjNL5s}kL+V(l-yX=OLoSj&@hE7++ih=-Zzis51J-H3`IKUJ(8JxuDUu2H z?|kcW+7#B0EGp|TO;T>hLNb~<{Bsg0>LR?5H9wZXdu&o$3$jS7PA&iKaygK{p?{>Z zm1akp!O@t>Ei$eMPVt$#+jI1UQGWh@THqN6_;c3$xG1jJy$~EBlD$RFgmom$^DMyj zS{A%@Z5ea;8oJ_@q2>w3H*rC9duRoZ4ULP06pfa6sS`=n+vmIkFx}-w#}>c?LsW>j z)c4&ElO$?!mJSu(LR&SFAbMCZa3n^z`NXK=65~C1^r%p)ns(khhnNXQK5AYKCrCjXpSHrnh!w zdzTdSYo?pUcs;Zgxry8|+p|l4Hy|!N z&zOCKqb&{ixWi;hMx}NA7WNsi4|Y?G3f>*4Zb!peB4;i2PSl<`TeqbZIDK^94i<)g zigGP^#P~Y35X~}X$Um6&qG{nfc1^Z?8$44rW<@|2)ft5dNk*F+qG?`lncbC_y6+1D zj|};S9*G{+<=7Y#ND5rn1MxG=?av=;ODJP?Er#nBy3pnh`Z9=B{yRC2{e^H#S^#dx zKTa#YhKb<{awnxxG(9(v4rReKgM+BhJ59|RLOACpYq19*RnYd#MBYb{@7)h}DojKB zgz4faX^?=0zeYD54RTJ5=b{4)FSV_>c@4RWx)C+jfFRGOzMvz}tsRfdD z*}&bm0)FureO;S9eA$}jhjHvrH4QW*?8JEw5-%3f@|nC&xm!?RZ5w#)XSrEudr4I_ zDD=1^&>cBe1+Xii?8-13Q~Is z-&qlE?p$6E9S|nxxYsJAaZ|x~hmJN2T=^eVLxOi-H9a8Uy2Zua0Zv@#Jnm%W(o$qm zIs~43;|M_*>c)(KgPwtOTcibUhW-I1dI(Z77R^GeZDY9BbWO|MiH7FZEc2oCRo-iM zY$NfG6qg>EQ?#ymZgwQYyUaWhUXc|f)FZO=h^51#i~E>wz%;?iCeup42au}S&JgG%fW zRI>~qetW=I1pu;_!N>o!IM*zSAW6YWq@#p8efhtLoxj7LLyjAm-wVI^lpKm>5@KBb z`oX{3DUr8MU3dLoKXdC7;D1&=@swZwUCOn>t;DC_(bK1E&7%F34ntDeiT*Egmt}#U z+?0=8)+bJ5zQ0{;{W`BXV#)7?SzKkDwG^!E!=nGeeFqB)1K51ali+gf8^a+|X>?b^ z0L&T89!2W3hm)}mJcnPn&dY)Zv!1d)S#Uxi;E+p$eD=E?*oe_-t$4 zQToPEGfF%;QrT_=w%DZ5rT_Gvhe+xk3L-KNSrN(gQTYh#qaJbc@rA2`&)dd~2fW}o zn1+Leu(v718^H*kz8Xp!cEK0~;5z~o?b5vgba{@h$DPuhWM|7O7DjblW0WO<1SaS; z(lgAj>rdN1td9A~YnSWHp@H88hYM;0)LG_8BLnz$J(3e)@(8IIEVn!6l8CH-PcXM> z^~RuFQ5se&;3OFR@Qik%Lo4seyT+)DxUx+X=yT)a>wNGLx`$WE^G3S7$4C(~PaXIA zOpqL55uw&cvN#Q2YV~we{D{Y0-z*h@=nF-jK%H)1dWaYHrIAegcx+cb+rpf8sv%G| ziKf}Mwzt?>He{3LuHF&7uA3JW+?#$;QDe;gd^F|?@|OSzx3ESUz7W@F_;w&QG&-<8 zt@ARM6Zv#rIV&-)Lkr_tulSvg$W6FR!hK_NR6*Z$pY==x;fIyt@^r(cG{p(#uR`a+ zEMd+YYT@UYh)>6)lLy0+7RR)rPnCBStEa@U7WthgLWR~DvY#QA5Moqgffq>a-Mo;^ z)#uMI!DK!i$qS|XKMBGx;}oW6;J6cJF2Wl#!>(h6E?BUKqPly0I1bF=^VIdgrD+N^ zCwx4U@Y<@N1{+SMBF&{BhNc^*t)4viwvU+RBJ1qk*8L+HB8d#<^tMG;8e1xR?CPV! zoY%6S8*Q0Ih+fvcg<1BLQDPe$?cmg1;BdUxA^2Ie-p5Rih$;S5i&>9prU+X`kI_{R zb7PhoZOwiZ>bwEDwxPs9Zi)Erp9%?4ZxYl z1{S3kU-d7WP2@2e`3UjZKk&~=fdk@Bl;CY}q7NQDX*;H6v*b&c*I`k4a$pg|hF|b7z-Ix^d%zl5eqEAoappdjE9iQMIc+ zUn56GX(UKxp&q%zK2H>E&Zb8MNcymErVHcZDdKa`h)&{;IEP;jcMI}CCUi;Y=%aC` zJy_^%d|~@Qwehum?L{-TIKuu>-I;)4m{@W@&80q-CA~)4o>#?P^8Y+$8iO4TJ^~IO z3%5z*PA`@`*;Qt{k-4g7{=nO?p}HyHqp6JN<%o6E++p9PXn!yFP}-zY>5-G}hyE11 z%Sr=PHl z-<7HC36KQmTXjFW%|-&>1Y*nUl$-biSFNVsnc6iN(;LoJM5_0FtIJFaoj{NZ+f4{C zkKiVT8s(!TrTr-idAdE|irC75M5eIaYRh!G;#=9JS4&(LnB#=>hEziK6XS-?x%s}v>cVlTa+Mrw6>l#VspKOf zk!6yAee-tgO7q~|d1$?apBbGFid~;trn2^;qkKH(A@(~}$N^b;k(L6AeWB!(uX6d! z(`>tYYDfG++3$vz8V&ALb3OA#5;NjVeVU6z^^8YodqBV7*{=2+pAIU^;+ZZ< zdHzl$@W$&ueN?Fj`%W}tJWNXX<6G#tQ@}1*{r>K{e)tnV3{HAXu6?T^Z(J+=F?($b z(SpR~(||yQM9bzG#nIcs=NH^~T6gOPa@hh7QWyJ%^b+#>(SV6aJ4}_M)D)#0M~U*b*`j)bzpaU!k1+(g>$+H;Q{(iPaS-XazC1p{reLmc}iF zU>KMu)ba$LZN=X~)`@;2*3huz@!fZe*;8hEJdSBC8ikCGyXucCX%a}ySk`()6pOW?Z`M@$K zc5Cl{P&_iHq}_gq;4zdoh$zxXw_I>_;>9VXrG7Vbk98wf4~I1aKSy%PaSw~~qf6=# z9A`m&H?ksW-*1loQ}}r zX3b!JuxT$E^Xh~;j1E;*kw@=^&fYAb^yE%*UWY1PHRh+;f3l1lsu-{2;a^b9Jx{OO zMdTa{`QiRAjvYKzgCK+Rk@AyEI~rxLW{fb4mjr1MjoxpX8+RYk8rX>nuOV*Hf#zX= z#<4u>!K^Hewu-43hr!!YPDHfM(c?&+nkgC5)62X)i%7;!Ri=YmIXV@Et2Qz1_%q=0 z0E4e7k*l()`M?bH-ldhUk!r^4F);PSnY!kpk<+gFW%zO{po4u{hJ$Y+Pi33cJh57* zK3(?oqprv!R;TmnB8;{55hg)DTTjQ3U7e}`qR&A65e^e*ZR<>mGoV_ zaT4G5#_7n$TL**MH8M9eo86#8x%F-sYkCnv#s}wd#+K}$UD9aTp~mD;{#>=G8Yo1a z_0r9xdJ9$$Q{;!IFVIlNhCm6qU25DP{?in*M-V*3u7w0kJ1IpyZ-d#RCOHppQ))>M ziuG*ol+p*9fa2RXAO~c-IJQ-R=I{WJT7^qDO&cFFI~=S_lTSxOBT6WA`3{C=`I~7J z>gHyMO~50FP0g|VXlBu9#i<3`bYv;BOikjl)XxbN`LKYlKG_%o&(v zGTq0%f>;S<3ksd9}WMXbbhTI+mv83y(P+oA)E-^ZAp=5{M(zg>w!H zL_Wf%M|+9QcG)&EZfRA@O-t_nwl?XptOpWaVJN8O_}~SP$|#>Xdicpv3!b4V*L~Q8#Lz zdLbrThZ>Iug1OiJvJ>FyeQsZsUG`vRX+tex%egDoXoE!q`zSPpNQnp_?+G+^< zpcY5bqQR)i1<N?=wu{ca!SV?lZ~alq z6(r%k_fG8$Z)R%L_#mahbp*QaEkd^ch3tx7CP*hR?uFq? z%7i$2vXOhdmF!zfYKivfMP8x0h#B*m1~%B2Q+2JQWd-T^bEXS<_q-vT<-M`cSZviM z`&GIlPUi@8RYh_?%e?XNj8UwMCgY2iXP7sgXzEQrXIV2m5q`)~Q`*$n3jYSi6t*|* z5w`(}l|sy}O&l1_O7D}=P2o>o2(!R7DdM7^K1zCwuUv$*1BbpPdE~{Rg^{lzr~lmQ z`kYiakZT=Dc$Ml(N-aOOT{46p&p?unQ?eo#?=bq5-7l7%>hJm%Jx_r$M`YDukoPH` zPv*?rZ%&z&v>8XIzZRu>lg0;eFQ5)k&h?6jx(4TDUJOa5m|o1_N%l^!Baf$s7#(f6 ztVP$l6n!uKhzt0upfPfYJ8xz!%#lOwuvz6yZ9K)BHW;1ptv6MsZ_Y!B@TD6eI85Za z8$)lp-UNLf)w17rN|T1}EHnXrx+U``91JYNW}t5&P*AG2^ziCR`J4b{R|D>x9?#1? z%SH~PsLA~3i&~W^fFA@tptZx>vhWVZ$yd^=jjg52=Phf!%;5fU_VBnV)A!Oz@!Uyw zI1G{ieI;d$OwVGbH$iOXi4zM^M~Dul3(5mfO5zqnb=sCy(uySBZe-PZ&Fdj!`{DQL zOW$7Tf-6o+&hM&_asA4lM>)d3u^!)l4!yLH8owEJ<#SvL@=mW-#E-+(E}l012u_0s zfjMCIp7WuSbm)L`x?ZTAjD=XXz`rq0R>W^!*&K(^L2c5_x3)AlKg>W$xg)7S#%t71 zM=q%d^J8Z}j`X~=>2#m&-~$`V`Ki)ghafPf=1unkNl%Sq7BY=}IH@!V2UyZGj|h)r z;z{;reqN6mCWr{Uqm0F_2tDqUt1|ArO&IK`KBe|NM!a8SOwd)uQbZ{WxnU4W0|d#yEIyKC>epiD z-d@z|R@FDZxh>i=*Q@w6xYdeR7`MgpNInsqAFt$OAjXcmNk7M28}`b*V|WOF!RegV z1{hEo%_2HJ!YF~~$*NG3=!?){vTC%OWp?;BCgD z=l2hn9Rxd6**dn1B7ktELxk;>q@Q;Qv-&UJwM935h}eah&|j1jpkeIz>MDB@F?xuC!kseM^-3M+B1lUk`Stv9=KYWxsZ!|Dh z51uilKK7H+8*OKV_oxlO>RQp)(D;oavV-R2KBj19E}qj;)Dh&7H02J8bugqQd^7ni zi$)~40aXR%1)N7n@KpIKz!5}iOT@OI->C_$Cf93kRBT|O7g-3y)#p1*u=w3O6FDV$ zC;EVfrPoi* zdnK_==M7&Ziyp@K@L}R1+X@K zW@kq^h44o`-Aki{bJlG05gH}wW%E( z;U15$Es3{@v?k9)cBG=#cyly6leTO2BXmd$FtClN-y9+O82L;=HH zb3i8WNwdk2PEL#?O9$|5Z>&QC&)}rm>gK|7@`K&xKbT3O26Qjnbc4w{3AiK^d!JX! zT^Kd#T@cPM{x)y;V)JEO+?M0WOZzOEE2G96u5~gK7Elv;UM3VHX3bPj22JG{utvfo*EE|=A6ih`wXY#*8m79H+O^W1!^R4ElrAt1MIKWZJ)i?y8; zuAmWr{S@ROL;U{w1>dt&u`j>V`$rt_Ea^#h5~J8BK4fvcepU`K*dTjd1iw92i5P*Z zmq9G8Mjvkj4EAfNGog_eN;jnY4cbH0V`q`WtEVo5KWs{YIh4lx^)c?6G{XFa4}>|~ z`BhV%Xt2?|)vir%?ErAv4r(|(e5ievX>c8K6QkbOn=;|P9`n1prL%Hxg(S9!&e>Xj zZ9H^&CU+|Z&YN96uFTF2Ox89r*Tx@kSLuXIt$8=wc>0={XaGAeR!e`Wt*SWj6X4A= zKB022t8;qklhfZkyU(v@Qd&C~zi9zX4Ov=U7nK13nOljh+~#wymZ|od>dejmm%iHa z9~6CuL8lI-rJbMphN|i#(hcoDar@CK5IxPJ+x?Gpz-P4r-pe3|BOsyF_CbS&PHU=y zeJUNG)-uIMie|tpwASI(f>9OQJpuRMpG!^~zBgqd>!wq34Q>W%B4OHZ(I=h1Hn{5$ zA(5;#%9m}$jQ%JI29G@jem`g+88*EI^ebyZD3#^Lmn`XYwW)#iX{qTiI%-`H$)kM9 zt4Et^ly@Irl)0goRj}fgkzztz=TGvg&>NJbx4u7J;WhK^6~osFtvXM;Bkgy#Y%5F; zX6FRM4ydN#k5d)SIQs8yQfrS7HGcHW_aP6Uf}>II{?H0BBYb2jzwwvO6#s4>2Hiw^do1e z7uZK974Pd}8Ws+;?+lR8K$$%#6)bJuq`m&>0%*#SY~Mfa95*W47*v-4cfD~iR(;KH z{?r3&PVUiH(|Z~%x$HWD)qCG@p7o>JK93h;yTJI5jV4E+C3%`~oSub}rKKw_{Lt8J z)~>Jb18SheBU8N`=5P2Dh}jDn_Ud+MGc{YOY0dDLM*BPa7z@4f^mM#oj#U)#T#4|f zjeV1xi8`0_T_mnN!dr)`Z#}xk^yKpN>>|dzdtQ8SM_zCZ=~PYeRIH?y>ycc?PsH@xau zovzeSk8?Ka%u|A0AH09=d%eDb4r9#K{<2So*(C}@KlaBQz(nd{@-sWqQ(p!Il&Cv$ z=F0=(qS2`nrboD=eIfmgJ(si70vbADRB@fOcWf^~c=YYwSh%Q?)7}sTaEa%u9^Pan z)LC=i*|kE&lxrrSyjzIY`dD<&>C2$n$j~-*TKNu@Py%&!7kmp~R z=u7qB=7S7Wxd$vd_pv{|qd9`dxytjrC?O$r=A`(3(A`x(DvuLuJbx|rmu+b!Uv`vi z1RzW&5;G3C)m&i*| z5deb78<;^*@XvQ(ao>23a6sMWe`bN+n*Hg6RK`E)l&LY*buE_l-t~3={NDeVIQn;N zk&bjDAZY{h*l0P9aVS4}s(56e+@qCkC8{5(p?Do;#0oo0ypZ$#{_f92-!dGwr|Vk! z4>V*?9|k=8&K4a2{ok@hU3Rx1E1E1=S_fiBwqag3-{RD>^AB6iK2HB39VCx*VsY4* zIAXTPwT>hQlzv{`_I4Ya)}BK9htkfnj^JhX$iTikC(Ha7QGaeR5~28!0lJvyIm1|a zS7_SA*SX)+q>3v`A+ZN&4TIr^2R=-XpTHqy3AZy^_HE@B)nOJt-+ma;II0t`F}`N` zUNRBdDRTG}dg|19YqGO>cYUl}c!2I=`+27H{Q8l0&G4(d(VTU6$CUV9ef2$+4F`*n z!@qXx-I5H<30~lkRf!O_P2C6AvB=!#Uvyl=*DTg^5)imly$+?;4n@6)$q!vzV%s%h z2X-)BbXZzZEIxemU zzKgn+j{Xd~d3B9o_8ELiTx}tZ9~b8*DLrIS{SU4{w7At0&*Ci0Q^mB6WM7(Pd(<{w zsquM{)2)-S`suvBQJCl)4nqsZ4C_%H0KZY5sxZ-7<6l#8nMscrsd&k1LUu%~XU*~O zZC-l!Uqs#ROeHcad${wMU}!rgDY4!p0|~55e0MNcANDYx3tqr%Ql?uq+EoQ90P48_D;$u7hRtPhTbf* zQzWL1{hdh3U&F$i<$pXqRd}u)x0Phym2qnb!L7grh;`{MkDv4DAYOp%_<(euCsT$X z%T@!Tbnb{Nl(9ECYLx^nxQ4|jf^)rxbZQ+vwJwKZ0I5aB1q?;XPL{pLl9h}SQk${O zk-2(~y1tM)U2BO?e^#U9D_ENALHv8_*C3)mq%{u8-vK=n6AN1-s6Q5#AJ$P35J3Rz zneSA#-@^x|MU=h>C3+p8Gbd3i?>1H_k*?h{82niVkWuasi$`M$*(hEBm!6(KJWtuRcUUDtvmWXl+YFe2F(Ymno>88f+7i z+w(@ECZjYl`XAqxQo)9Q9+bAPMof><@+?k8cVwVILgTFX+1}+qtf-~seJW1Vv&G+M zJv7U1+B`E64bR$n zD^=s0ewK9THb#S(<*yf9|H0w4sONw(r1+oj?#mbU%5>zV<$%~_gPBg((-MbAMj{(bg*<9 zZa|cZhuKyxjSJL(Ry3UG)?bPxy4(FDyW!IEz1|DuaN_lr{@{0}ZfTyhQ5uGk49wCk z!Sb{0hNGXQeMMGIN3{m(H&zG-0behdD~BTICnv&Tj~tX1!pRhBDH;xKwNYA#5kb2i z_E4;BN!SexP4OS%U!1L#wtnon5*!;n(3qB|yg(~W#YfpVLU(d-{89SR*X=mVr0Brx z^25zVl8I4{D$_IzQD!2zBjj5qCu^b-#fJQ_D1CRssHLMFn_g?DgZuq+TBeu z9IY%rZdEI3G&^;%O+R+k&*^+Za1V{nHtibyyNI!LzRIuv)gf>Lv7=lM^njFh@?N9t zfkPvPhY2I&Kt5guy0l%R-T~dElHrNAK6U1N(NfQjE*bdc0tZdt*wMv6fzJvXBaOzk;WchN?lzW9@xN1D_P)tDSBVv>lJYX&(A^m=M%m5eeXp|*F7mqT$|o= zmWAKtu@u?)0jLKEN>ys)wEG^{WS8CT1L8fjU88~W-D*i6qdPegpXy;{cZxGpig;fb z_vLDd86S6>3@H+2IXWI@hOp2h*ZVoDy0}%<0b-PFo&toV7n4p8=}IsEQBjzPbj~|0 zKr!hRteDuqo>QB>65*Rl)56((zS@tU`vHRTz+49+u;WK8`s?5tQ8*)iNjE?D$7@x#$qwY{+(!8aLmqr&THAKxO!9U^J&@eN>#EjiX}E% zkpMwVpKliR>YV6p+lp7(1@U07H!UC1-dd@o@2-zh6M0;8ls5nT$}`4QXxz!o*E;s! zYpg0G)W~!+)>KZ)u@jVUgCk!o=)Sq(PO6w%7y#x7_FV)787(7G)a1k)(4zerJB=li8--p5$nZuqrFN$S z7P8y8wx@M~dJKYVWoU%%T z$!Sngd}QDF9l$R?c5r(cVR7v%2QF>aqB9-_r=^v1gqL6Is=H1`Hgj6kn5?X=GSRF& zCJIn@P^scsZxWhz%01?lDj;%vaeBHeQp&}p02z@lC2QUvJNh|h_M?7^O}ege09ch0 z6$l9Wbs$+84VVCjz1n=frRY5m$%{#eAPV#Pl~BPjF2S#=J5sNXV_^a?{qaA>>i@nj2T5jsL1fA&pY)@Fir1!-;R|cO_KELF+I^mMOTmKWfhl-q@hfKQ(_z2D1(#<=Rem%nRA>Z3?3B^|JT)U%`gh_++ zfze6ouj8Gy+d2d8M^a!f-3@dj=;sNFDK3H)`NFWD6B(;Q8{V}F@L4(3u1|c+AAT?O zBYYW%4RLqU`ubwCD?xihp7nX!qf6C5I@`xvD~D1XAAnQwrA{K=l3)Qb^^xvx4Q*vn zEvy(YnnnZMJ*9M~4@pjjUD*1y1dw}eJ=z14*>*Z;_h;jK_2oZm4jiCedQ=S@Vkdgz zL7P3zWme?@w<9gU2h#$HS9T3$p`(IhK8m;FP7NC_bBZlxg5UZRYq9~9!F)|zUK0MS zMlO!D;TbISOdsPKW)#(#R=%;=T7t}h76IXr7S_-(a;?ZG&TE)4CvKx@&u9WJDfxOH zgK#)DRCw*Q@rE{nU+^)Snoqx>S<;4!cPsAGeTPtWv@-HWj#?t^qlr10Yd2R5=h@3C*jS+&`fS8M+MI0cuJ*!P8oKQj(QaU&S8fm8s>&{~#9P z-<+7`7>m-DWv9S*f5$r|kZM*j{GP6~>buwDKVcD-&XRwq_P2FVW=5$g0m1iRVP!Vd z|6Ah!p{4(IF{7V_U!KtK9aAC|=kEaWpV8%?QPj(@QaafF9ab(+({pv?g@5zM*Z0#Wz*eO(z0bNYyLkYc>l}5{y#S3(iu8_S@};l z>HjYR)Bkzq{`aBn|3-px8NTz^N;hBl*9_&w;ltVG6}hy$*#Cd=uX(tI5EElW72kIu z|Kooem-YXki~iTBKuHCHq|;UZ;f7j1f1i!Im$$~hRY*etf8{&;G9PfzT)n^KuiSAzN0|Nz8xeQ7NuY$<+v0`)TDW<3q&?r?n87p5O$+@v{r|wE0);u7EucJ zDVFS$^yfsYVH0>3%cBIli&5O^^oNQuxl)F#7oq`)T68cWljgp9w1VUgac)bah6*1+ zD@Z)x8|^xNn^_og&r057JkxbVc{Y{Qi~htkFaZqO1EM z_{6d%Q*g2tvBgT8LFtz_3KPpGrC4QC3M^A99MO-HVIN{i1C}J&2u1NqOe4w93u4Ad z+-m-Ox~vVNNs@(##2;Hi^4`Giyv#GX_Sb$v{Kmp-z9B!1kJ9W_I~AF1HpsWE$Kw6< z#{5cSUKO2M>(CD>etk%7`s3&kg3Z0(qZ~m!gSWxIh~+j4xnT-MIua2>?)oH=xyWBh zIQrabi2M`e2hd^w{0E3FYKu@$j^{Z;-;;a4Cm$8Jl*VsjvK}XkESzGa?s&OD>c~lT zKZ@6ukX%WO9=6-%w4!>Cz`yhJQ1Z4oL&hKh57Z*kM| zsf(UmL(e3Wq;cHe_GeaO zUK%7tSBYhBQ=czFzpJo5R{y&sUdhzm0n5x|KUA+fi$!HUQq(CrQBA9`JA{g zr5rh5j|f@nBSn>ppE9N4g8o^=Gx^u2@a^ivD{(sVHj%=uOIpl~E)}oqCK26yEB?~% zzlggWn?R}3}sQq@H=_Me;uoTuos36|Fs{P ze`fRr{$&|#zgy62wf@%6KRGVjvjkpj4TX;!`tN4U_{qyYx&OqDS2bpTS;plAzW;75 zmBzc}yE;*BY-z=TSdz!zvl9P>Np;d8#(fL^n;6SK&*)DD*9uEoMCtPKDV1eos!TXU zaVFqP6EP3pY=ed-8O2 z6WDj^H>`D+l|)NHSGZnVv1HQ$knh`b*Je*+Nyxi5LE0ZmFIW88h+W0O>&cWW&M;x< m(*o;4wM9v?o}oPMEYZSuL-G8O@_%9gE}pYLTXE+4{r>}2THeP1 diff --git a/assets/dropdown-typeahead-data-source.png b/assets/dropdown-typeahead-data-source.png index dd339a70c0b69d4646b3e569e33f58d80ca82d0b..0a52949a263eeaad09d11681b6def39e9363ccf7 100644 GIT binary patch literal 25222 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 diff --git a/assets/dropdown-typeahead-events.png b/assets/dropdown-typeahead-events.png index 8deb1dbf2b1cbd2b6ade179197745d0a3761f8e4..126d54ddf32c71875c2dc2ab093f0f36910481cc 100644 GIT binary patch literal 22970 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 SoB;l&;&=jSS7CeU$NvP_3sYeL literal 15353 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 Kt2=t(xBmrp*7j-u diff --git a/assets/dropdown-typeahead-normal-loading.gif b/assets/dropdown-typeahead-normal-loading.gif index ceb099e8b611633b769e7bad5df59a5343f3d3d4..2fa638323d361faf17a214ae35192c03a7d3e147 100644 GIT binary patch literal 217951 zcmdSB2UJtt*6*E!7D9`FQbeRl7ij|03`L5dfYL-j5C}+7dRIcPBE6T;ktV&DP^6b2 zNC)X1q)8K!FFro!Ip@6XJKy`=aqoNAAcKsMG1zET{lde5If*V1~arDv?A zXQiiQs;6b8rR}C;Vy124Y@(~}tfghErRS`t<*cXYp{3=ar)8#PX0GMpqGj%(8et?Zp$&Ec+aXAgTTM<+)etpF{pBt6S8Ewe;D+W-*22eVwE=Hl-OyMHR+6Ocg`7eE}OF|TDB`%a%e z>K#1uZG1e!Dki`&CCaNfKDD-U6o7ie4S2XFb{SetBBpXi*IZ`B^8(;fM2Bw1@D zS+76dv^~vvB*kPT&2|v!F_~dBnd`J%WVKl2vR>sL5)u>;o01aapO~EJ8(SNNObN(u ziZ9KGudK}siY$!sZA|dat4?VwipS42V{5o7L13L^@f#=L=_Fj zS9K;ePx;hu1vKtwHxH(C%*A&s$Ml?~41Z4{vssJXZy6jI9PFPP932_y zZ=dWRoEse+A0PibyEeEzIJe#1zIfQaf^FZ#_HADFo?>U#R!5ePM%KRF#_-}pANaWHbZ-HrR>(emWc=G^(($k9PN_OKm$+=IOw zz#ffY59Y9#5$xsE>gwvockIT+_q7Ym;qH&4gXN=x4eb8n`Qa88vxLQL9UdGW9sWGH z#GdaTVljsp3l;IiD8j_mt=K#q*o=rYKkB4kU{?Y|ivl1nBy{RfSC9@5#hnur~HJ`q< zAn-^SRclKZ+JmTg4Et-#mbxNXRnk=J%2)algskTJ>nhfUkaD4nkLoKoM)IE)8V=M~ zZH@vbWTiuGZ3g`SbK}>)TLE3l<9?p8;kQ@1O_=|Hpyd4Hy{6G8wR$OuM0nBr(0aBt;l0Aw`6 z_fe2==LsQX2JPF=^Nf@q|NgDwd@6BOiziEwdrf6NlK5Z0peSWt=0`^;Y1gGisZt6D zg1=m__7mhSM*#r}m}r%&AbfQ^F1(F0SuykMXYE4xKYShpN(dj~hr%;IvL|CvW!bP@ zYdcv{(8>q_bZ0wJg_>O?%1q{U=Tk*IeN1~eGZ{b~#ED&w?oD6=F-M4*3qt{<2$3n} zJD8^cz{>sng5CmHi8TF2Hl`A^QGiZK+AKimy(+TOz1E?ENB7Q6i6kB>l*I^!*$;?W zF`w>TL+#({-8WCem}mL`qOZ3dj39}s&RP3&TVGLvk!O3n3zIf8Ud$- zy#nIpZzZG!)%u*)?nGv_& z-mMlSiJp5_e_AsYWIug;zeN)IW8U*R=5RTWKuSGJUWI>a(kDF?!G&GdxFh4tP%uc9 z{B4VGYK7ddZ|&4tLq6YtH=~PKbcN{h;su zu*BNRW+azPH$`^ibd1Z*q!kd^PEL%q!_DTHvE-ZX({3Nqjn8FO+(aj?B`m5CNvJJ#Y9xWVt>hOU< z`vD9UNXol-(q6U3HaiZ;EoqwiZ?PrU^HgTiyqOz{#Imw>GQju*1ws9NBKDO>3{PlVIdZ*8W*^j86(J&=0F6Q<U4ip-m^o}>5|M-L;D>5QdnP{UwE``4hl;+kP`yBG4@Lau9f}MJ@OIn*Q z+&|*wZ659Nhe~uQP21*jJlbf5?#k>-Zp)jMQ=^tuRb)PxVyi;#X@alL)sLHOd>lik z{SS^|Ejz_GeV;QeLUe*VZ>ZaU*lJoK?5^uiWpI2i7f7bA$v*Oax2(M3x<~dR9z7aB zgi%LJSR{)1KyaH?pVxdliA<2P$N2NC%Q3#U6;Y>pYpBjF6= zI!vKszNx`$D?h7YeJmM{IctaHWKaY^$T_G$%Yle&-stu7+=~3`v#)5-EUg@gKMIx( z$w2_*0OX2@loR@r{Qk}faH)b*@n+3#0+u6%d9=W0ss zaEzXj5dGxlZa;VKuwI4Uh4~Vg|?EB*L z(Ob`%%UO=Mj3^o=x*i{wCtq$`s5MNDV}9gWUGCU^XqZ`hd{RGsx$8RAFn2O|(){!C zJA$Hdo=EMq?K);JNUd>^X6Uq20<$0Sp>df*?X34X<{)9HaaDBaY|sO9h@@y*S5!Oy zl8iaZS8LkT89ENP!!F3fod0v*RiMFYRw1n zLl>(O*faEp=A%5d%gyK5^NFG6;~LD+<*o}!$2z*@xp(_HMfPmB@NGA~FrwAymH>H?2wXXLy zS8v(`Z~9tqh6!)RQ*S0(9~LnmHeDZfS0ByUqLZn;cmJPQ>yD< zm~TGuRi=b-M6s~j`3f(v@UyT=Ca{TRvPv$p*0NK|ic!hi+dT9p@^tj`VpGP>vuT}P zQRAdC2%;{l@YlAWgI3-$IJjjj$ZlrOPV<%h4JC)AEC-`MhkF}`wZ#+fHc|g_k;-j*=k_GE_#B9Dkwt7x@X<~i%jnD7m11|Y zvc%8Z?qC)L@t*P%9g0BO`N{DFDCGpM`3lgt3y4<;vd9Ut`wDWm3r(Kl1Ea$PSfN5s zg+!x;B=7_UvN^A0QG7#yi%p0i2;zfM5)CGNm_50$sa%1p|66wH2M)ppzDh5s#MOnM zPoLh^iM|^n91(GJ*SP(*Db?d5UomTWE<0ZvTj@F)~v4+DCZJXU<1-q$%Bo_ti}yrsPK*A5bZrh%dSsApC(^IT|ENcaR?^{*G4^&!(Rqb9q>dscpXjdJK2^}5lb&Vu-2YkYGCW<38 ztV;N(`vjRUMxVpYpv7_X>J!$xfv&D1 zoDZOw*QHN9mNOm{NQa2A3!6RNISiKi92aq(Ts*?l;-e|{nM>xgri~wjmjCJP2x9!! z000V*?aFP4W?ui1TiB{q)T>`|UeI>6usq~>rCwoeQX%uAll6FE^LZhPzNk&Ss6(%) zb5rN_nxjr$q41SwGo4JDT}2{gMM*jEFWgj5h?te)3#avN%<2_>6Th)=Ua&-eW92+| z?VMpFDSc~-Vdp&Ydp*OxUi4uS!;gZH6L*F)OaGsG441vWSaAlRiZ9-E1_B;mqK0d> zaWC<`EvUJviAj8~Bwr&bR3s0jrrPqM^SE|(x>WbLRHm$qT8T6{4$AWU+6@UP%`}e| z6l2I>TTp3FxS;jaCd#Z4U9Moy&Uak{!A`ZQ^v^53Fo28)R8FOwee1f?PYUu-iWf*= zAw<~%^#%kqBIU89-vc|e8%K58nW$95t)Rg$fMr8<({MFSpD{nc4jAtM7Wq&$8Hi6^UmQ;A<}ntk^Q+#7`p#7pj0!X!Cc~btyd1 zbdTEEvFj0irQ9m@pbQdYsG%4WMJ?1+F0S#Nx)i;-e?Fz5ak6D~U!4b_o(yALX);W% zTV24xUPr)8s%vZ53a#TFGkaM}e($*Er9=~B1}R%+1BrK&iH6l@9ym5v{jk)S9!-qN z1;!syTpBgwN4DT;SmALuZBIAvU2kcLB-ew!ILra^qi@+xSJ82_zNV_`o+i2(VeAwq z{$aJs1UFeaaN-{fjVfV|{uP zYi~12dUI9pR}A!4yxuk!bZo`dTtgPVyM=j`~q%W=ew2_LBmKZA*Yw-Z6B6Cq6#VY3tAmlF{;CZnV#V+@txtuD!FzjLfhet;zr)NKZIj8^0 z0NVoa#MEIpF9|?MNH3Ysw9w`Q1dDspYGld=5OB!q=WED3@TI?ht&(5ER0cx+=vqpI zx>+ljP+B{}0tr|3xeDM{w>4_*Od%)a3}T8g0w5t!VWrIqW`I9AJ|_Y;&n$xvrKT<| zfcYTsDZqsIf1D)ouahhV2>@>c9R3%bBo?Rk{*!?-%>F#dUxt|~EeeJ5hq5Y=B2gI~ zp|r$Lica~n6axruzhii2%PJGec0WmSQs7o+EUy9F?;{HIFcJES8)-|$(d|d&elDCJ zZG?{}cQvWV_6y=^w(^zNMF51i4<1P-U$)ZMRsg}3W=pdPEuaq}ydqr60)Ubu0#U=5 zN<~;eUXjsqs7{j7A|XrOs%rH=Q-CdECum z%cKk&muBnn!+*4jfrSVo;i-AhK49L$$KY|ivoV`4%6Pxl_Gc#^=#T3``0ILH0+s*> zkTD?Vzp?1%=H}+-=W$DKad8p1`fy`oW8;rCxcA30Ji@KS9_0eLBAlQa+{Hy~SS!DdF^~+<4C~ zgLI~%3`7=x@0UU9s5k`S_Y?WUAkDw3%D-2SGe{Fw?3pZ(E^lUV2I+}M93FrWLe5M3 z%OI_K{$7HXDH-P$PgJOoF&W^N-CR7z>X$+K7!Qys4n+b$z(brt>J<#|@c|wFGDypQ zMdBXEe`1hoTP*m~!t)mb7@XG^0+|9h7lYX1EEa<~bMqHNc&pbJL-{*7m%@a{ESBDj z;qKPMC6CvaJ_wWHFGuhx*m_6Ev%6(RGO8o8qttz9fdq`4rQQT;3Lnh^uIQG^$lNex zT1_yGd$pQqk^6Bq$+~)DHQBb4Yc0ib?A2PT>*~j~G|%IWwR8j__d3$l*){^qj6kku zhKX#hXGJJ*Z)C@4TW;hezza5VQ=B(9@{j@CoB7#smYW~*a|<>Ln1f1J3cr?ia&Hw? zj#+LM*RB?9l{6l2Zhb-#@@$uOT(jCP>t-+9F7FrF+O9w=@a$BMYFq78O~4Cxs%M$j`7b{qCOdA>IujahwfI$bUN-h6Sq^+}F3Z0|dYjsRzO zg4Nh;QN*Gb=vGn*UOQPL9_W4t?Q?7NXF3Ue0T~9Du)Qv(Xx@Vs_UoPp-PD1N2hHs9 z42OLugVtpO!XwWGItZ6iDjFs4Y#$CCLIz6v0 zmQ$=0S&ah?JVc*&j1U$}tvJvSE()+C0Mo<14>aOHgE1K(VFQK$f$>ZK01e!~(sm3E zG`v-VfG8zx|0U31{O*b>E{>eEIDxo0svQep45&pDUJt^>k#?jm3oedaHG|pead9MG zOv{RkquMVakeU3Y4=|q&lMix)ua+aPT-{)eQWXhSkCYeZT8WXO&t{3$WhA~8`5eAs z7HVL4wvxc-Om{2MBCR{?J$F*#YVwtG;;dxbv9tLU0lrsjX?BK*9I2j!ddLJXh-JQ? z8)HGfuMOY77Dq+Zo12C9{}e}78ce&JR=Sk>>ILf;9{5Wf;N#KK29+Ai5|G>wA%*d0%KK9D2sY+3WhsQ;pwNq1FPrZU2H#GR)GcT7 zk0p41Ed?Ny-3}&Hrz}z*MhvBZg|q=ESgSVy4Hvl+KTO6imo1(fhBo4U5=aQ(cVvPA z@j*-^EC?hLrt3qA&*p0T7fqvC@F#imebFZLgztsVyY^izXu^_FTi^|LzM_fOi@qOz zJoF4p5H$WAMxv)MW4mYAlnBH-zCLC2q9^BWmbBD8{*8g~JLv?E_?iB$Ax%I|0BV5B z|ArY{_?0F&`4MmrRn?c6#B3z)VrHd2%IfGn*;1o|o(+{z?%>!!B1lRo1uD%|VOfq`anf@S^V&I?=VB2y<-pHtpRG#2>Q?22lJGN%wKdR~e8)OneOjp}|Qd zYHB7L8rI(`or~-4Z6+uCGA^-?{9!`Kv7?(T0 ztjsMxrsW9vYq;dD#Qt#^m)tj&qtz8~$z4@`{Nt?{d`XxrfQrF(0r>nck@Psu zHUh$hWcrUqlHWDU^^73)g8X!X2qqW-CqJwek5s;N{cj?v-WVnCXw_$7}dbfXx-9yazpskHQXmADYd)hW#0GxKi*2 zqz!-q=>ESaGF&UiKi?1kz8Cp*ON<-;z9xVRafwV5ifTpqf(Z!ujrfh*01#Snd9c9C z_F#OXhaI{a^PS%G!kqG_8Zt_exQs?kCzt~xz5XD{kqhl3pNMbAn2my(BO=Ie(eAx^ z(oXP!FpB(!?mp-b!4Bxr^nOZ&N3GP&jb76t1JiTD_`hZ=0LX5D(NJ%gP8gVllXI_n zw}%*~Goav%PcK@?dBBX46UG7Ubkt1JDSM_mapD}H_uG4HE5B0`#jjH70MY`G;!^$p z8nfWvPs?A`68z@RQYk|~NXRJc%Df;OKz@_bI$xdTK`<4o-smYB)a6UV>1irvY}!h4 zg_O1khDNBw67T?wkn<=X5;5Xl$6tjpO#moXi$DU032yrvs?YzSw%AuSVbpE@Aj(@{ zr9BkOU=9TI``#1`kouK&r2yU_c3|F}JEB6kAtEa*taDfBm5`A0Jte(+O2+p!oD@Yx zv_># zVx21FSR?ed!$RnTym7F+d8&q8>eII$;c!1VJl4{|AMP0IVjger8UuIEfxoT9IW+{a z)7R7I?gn%Ug$>_}8kWkRz58)d8}U)!w^To>#?C+9+%L~Opbj2YXd9Gm`@YIOvBo2- zP$hmsBWhSXb58!#vO?*ye$EQ~eFr?Y2c9-!pV(=eHeyjY=a$jskTdR8Icrh4^}6i9 zy=d`W#foF)fuE32fRII$icp%qP?U>Mwv|wUqfn`f5W-j??X9Li93Eup?B{3|^v*68 zchGQ$cxQ_oM|j~ougbUZ1eaice=2`}!K5UvhJbtV{*KiFn%RNoIl+#Nf$;kGwl#@v zxp|HanI7G7kNV@`y-5xuX>eTo*g&Rv57KM0z@#rJ}!;bV#l(Mrm8TQKnx~sYoQFgScqA# z#$xlZXASM`?VY_7J;NhkdpjqFdnU(6J7>4rrw&GDw|cgFdbVf3&ChjjYMNsreo6zta5m?AT%Q2}6JWKR17gSlzed8IJph z=C61zX*;QUgW|t8e^tMzY4rPB^OqUL&453fzo_Dh{?`1}>-M|(Yc9+c*Zk#oHaT6r zGj(_B__THIMvXA;o^1TM!DS!`*ZlQqa{7AXJ)Li&cw*^~Q#tLHC(2$l=rlDvT^Gs0 zc-&Nbm)o?xUN+4$l;&uavN+wBK6tz7a%pCDYn-?lesKw?cbupo0G2j$PJl4|E?m|aqHEW91(uQ7I`>5W+k;uI8_4?LkuU~#+E>9`mwOt{J% zdTj7?$yK0Scqtq<_?aU7%I39YM=8kBQlx5m6-(qs-Nf=6<>S)j7+s$#vX~Q_=v%Sh zADpZtn9g>aIg3Y~>BZ_4Y`~wI&z-DVS`WVB(B@qg2=;Ty)HY8?@R_Z?b=xlE2=Wd; zHqQ*Btjh6o(>1Y(fA3Rmk&|$&c{987QIg@iL`&ya`Poy#Yi-@u7|LHcQvQ!=qj+>y{D2z&Fkw znt;-mhm2vb?l6hogd>yfwzw*Oyg}tMxLIc+oi2*c8;fQyKbM%IF8$#%(|`>pJ3)ZPj*he zA&B@+=ly72pDqM(l$cm3A?@Zd8s))@|3WmHgaoJlXyEJ!$;$&m9!an~VK!j!zc{u_Q0V_xly^ zTpo?;ym`Ad7)^fpW5(tC<;i>?*7-Q{%^l3ydfq3@c|r6W@s;haJJ^e(@u8ZZACli- zF&8J_TTUvsI`$r)w1DXM5a4Zt4e?gg+7*6pXc!WoBjMf`fjyro4<-W9?pAVl=$ps} zB)BiHl_F`+k28#ES-!jNBxlc`KP=;Nk3;x!pX@q`?t>NjNRack4I{?%)MsXS-&?zT zFGxw4nam9?SO3wQV9)kCxf59IZ8kGNmlOevL6X<(qXXUXGNDTWWMFlHU<*|fP`pJ0 z<=7*72rYsqJE0x*>QXz=Wi>>06fW0M{rt4}_@W zn?mem0`c(?cnYS;((e|4yq(Bv)_9B85CYx+1|*5bOc%A3@_^+#ikR0a(}Li62tyJ} zEC~vArF%I11*cJ1dG^Zf5m--+ln|_Xu7;m#1(dRzP6NY^pu43xSaB3itq0o2P5j zxy16<94l$hG%e)JAC7$6D7r2-@bR%rLA*RXI*f#NNn(w2fFP{Z=8G+gVWdvE#-BP0 z!3*H_?-{HGY6QYOO{bS-0W585 zu4Ze!ofcH;)o84CxY-Vt;VBFH+VJI|@a3bTmvV~Q6$jMCF3DYV1Zt)x4(!Kak>^CLK0l zeC%}dGZ+Ow+1ETiUx>2Cv(buY?y8pZ`2^eMn`Ug)Ue!Kn0Wi)ul}(SRm%lIMbmDkk zwvQmA_GVb0=(tDK3!sk>qNR^OxqnaSdTsF%ga?)5^|iu<8K5m0g#baOfppMOB>2Z0 zgt_WcBN=VORBAHUP=l7BCh$7{JOPhE52WUiFBuSuB6ThcAbTMYO4lt*qc}4h!FaDn zK}nIm6xaC<$Vwmr`#;Eez9g7jXCoS5g9#t%Ulj?xGZ1c2k-VmAzS%liWM5K|c4FNq z(KVL$YNY~6R4j4-{x!7UF^^rK;KYRktUYDQ&e~F#L%YAx58%s-cKSINYU-xp?$J_NjxxoHAd|6^0f!eFb zi{PxR%XQ@!?jz=l&W#eycc5$H)9*8!ylH2s1u_DNmEO5laWwCQ#w)YQVo$%c6D&sL zxAIA14?cCJtbxCKQjC?jhK%4*aX`IymEWAtkr2(@E34ZLyyJ5N)&9d!@g0S!ng?2F zhVB+rLRCS{>D%)cy!d$v#4t?8$crGr0->mcitvzImPgvo>l2CjXHnp}7uZV!;OX4^ zn^eg!GHw#SXn`@vU|)_h?MTg&vLN2kcTu?5dV!1`c8R=5gRTMs9TPaHI+5;EMj%cU z{-!#GnYr6*g!cs#DW@$6zuPu~ACz56F#;pvEJct__&fsI-XlT;(GX5W;BD%&vO=dFGZ7yQ(9{neTM6)4)SwM;tqruv5A-|@ zv|A5Ehy^)u2Kl)LVccrvqkV(IXuSd^f+D)9ooRz(f~cZ(gA>H4;uC^XCh(Fcf)h@I zkxIdtVj&T_A-UZ_`3WI`wIM}fK_#alUbLa*wSkqop)RhWwPJzwwV`h&LYr#?P_$v@ zVqqQY{@iOWR4!q~r$KkG*t2$p`Q_X5uGxP9hYpHSi3B>Va`3bPi0bq3HkqJkK)6ho znSDhkA-R;oA$-T?vC-R-n75g4h4|}vf?-gQ}2!gvKo>%WVM6MA=D@J}s zzX$D;vX)}pGijo8?TM^iq67oo3%cB^INbT%ocSgxhS5Z@JP*;}Xbwf&Hbu|RE}oj; z7(sCC6M;yM2?|2j7^NP&$(pybCvW>sqMva@3ov`k%oARjz&qJp~S5k)ip!RQlgPY>lB$;El0OoOCMUQT4m`tOfl{<0NL~;lF4T#{ zY)NiffLJEttrOpauK2Dp6FHAld|UVJS_@xw#Vh3SklJ&U&L#V1X^>7-3=7EP{v z@h#sFx+6EMX^0DuE1g2U+G*sL=?!&3RF?jYuQF(o((6BF zT!;AI;7+^Qn?Wg_$@Wl=(K1tc0?9pPQ+OJ4oBmA?r`^{sS0&mkim7z8lD#M}OLYNU z8k}`0`~J3hyog@bLt_US?(F?14x(#`yaImr66{FV!uJwqeTe26-gF&Hj1-z)kTHTCq7xo(y4QFcvu3u5*Hne zw?s?DP8TN-=~QLpaK|MU?B;o~7PDa)^=+!~DA8Szt9X!x>ODt{{5?+@*Z8S=_me#$ zw*ucankc?k_L_R$RY`LpuanfRx3G#(;*af3Q>=8176Tjd9kPmZ=;?8MO? z4?jt%#}z}t#d)@(TNO7+DrLUJZP4ePG#IZa?1gA zQI^i{)=Knf5w}nTR}u>h*T8HMc(2SU9Be@b;93>#S}xhzd%&DMNRn)j?}K&HM}c{? zr%BRV)dD>f&FV3-E?18LWh|&H$@Scb9?BsmkdAsu_hx-*ADbWMdF|K2Se2MmX=v)C zRpjzm%A!Q`^7H0ZkLLB{=FNs?TuWEuSqj&A)8@0x1Cr*W=Pie!nJghK_wFGtc;4`y zw{TIRK&pcH`Y2`x6u8j_(|}sdMUj*8Lm67XjiIQwZKyn3*Wj)6DK>O7ts@7mOkun% zl5IV0t?b*@w^G_l%iDOv_&6`xx>nl+Q@Din+hgt9#riqL8{56Vv`f!$+^I(l2n zQx$xqdU3sDM>h<-`vIIEc#wqhpIj!cTJYqLe_mA>In66>V`tGjL**{ z8Re6TMSz_aDOAyC_;1j~d<|4@QaZU@(x;UgYE=9x`9EU{Cv#X(_-pD!GMq_y$`H;h zw|XcT431f4>UO8k$>IWup&OOf2%OGXq=t~cC~1HK!kjtQqJc(t*wYJv=^;Q zd{&zCF#iXXG!I7QtkMw455kpxwVG&)VB)xQM}H_Hp-uVCQ6a zys$ogdw#UHiU*qGZC~CX+YX)VbgV*XDd0iS+D+X4Ru7T@&DbXjRTS;FTU&Xi8d$N>PI_=rh z&f;~VhwURud|x3x6d_n`#uS>;pkh?MA8W%T$ik-`^=t6#6-i^Jqr(A_mk~ZBqMw|1 zf>HFuYzWX(8VW>dv{F1i-6;tt)S<(A@}@4RyV0IIx!0_CA|B|g8|LWDkyF>;+E_>) z2=(hX3TIU()?9P>Ao)p;hFFJxh8I)T2s$J8=0`h}l4PCbfPga!3DflkbTEcF7dBj?pji?lFZtjLl*TOG$4EcOs1`A%aA;f-ro0DZT$UZA zx*&BJ;-=CKUA`kLu97Arz3{nIaYeFZS$Y>Ht?`~od08LxCdU_uH%jF(^WKst$Lis- z>v?W@eWP<=9xDR>yWVQnb{^)KHs3Ya_H4c65=P-v`p&Y?iIy|6;5JeG9$^-mY}b~; zao)Q(f*4-3R=D49QtbKOV7$cA{y^2Pe_%xTl^c6$UIID8!ujBm-k{X&ajdodE3T0q z_e!OjfwXaarR2@qhKmBsrIH^#J=RL3)G54-)&=r%RVRzQe>zD8;a4M?8V$d2p5sa2 z0$tI|h7VlN;Y4k2e~sqei=Q72#H&ZrmQ;@LG?5VTjJI;3PakX*k0S9JHaAOyJGDG_ zi3b!k)k)+ds1D=D?1H^M#eWh4ZU#cf9VfR1T1U@cFImgmYesxVY)nv}x|@i3(ykXD z!HC3X$>&kTch){l8SxQUlv2=JfJ*lE62ntL8YG%~c;-Tf!Y>X*ybi_E55-#!CBGd? zV-L-vKYJ&y9j; z`TUgjksaPwg%o1)HCWrjZ(Q}k54L0L0Wbmcsgaa`&jIWPaQRnJW&<&z621M;>^Rhd zq`kyRxsRBJGesiFwd!L&4oBSmz@B~YNx_2zy65HkXXkn#AI)2SQ)+e39=H z$!M*zzSnFZA^Liz=K4-`llY&g8Vmpdcwd7a14sbOfK1%sQbT?n@wp}2KY|Fb4uAkm z4MQ@?_~H>!Ds@K~wfm9WgoJTMF3N?H2?&mYH5TPRkW1NXf}>1Y{W)YH0F=F1UjP8s zc_jAq8hRc&2ELmtLOi^Z+_$B8`0n4nbDv*OR`9O;T`@%oDOG8h8ca?@K}lO#<=MkW zhN_RBtEn44d1|DoYhn1(-VAPUV&U@ojk|-Rm$QqvtGl1a+rZx_z}qLxCnzo;DAF%9 zAvh#DCN?!b0hyGXm6Dc|nN^UJTbxx;Q&3o5Qc_t_SzleOq zmEq2QMIJ;U$?ub6KuDht!~-JyphSq?oP4}Uh)*HXyCBI7iBCETE6nM2&!MdIVd{V> zk_yXxs((oAOMoAQlrJI{c)lHdt>4y<2qYG|R`KMCZ97ba9~DtG!FL7%$&qUA%FYKA zW)oBL4x=gY@~`I*F$h!pfesYvS|Ox$5i-r{yXpWa$pZu)Nbx}_cVh1Axs{)wXtw#txwr1RnIM=s4T2W^M@SB#}v39j3 z38aIJGFaO2h}i6PZv%-$9VyMDTEXS`8JSM6VC&GEMDvWPbVqUqEwV3OJ`#^c zzz9Lu<5VtN^Dha~_>e2KthTCbeB4lg1{>#qe`us;5OcOK0_}TKD2-nZ8Af1A_uXs; z)Jox9V=}VL^V2s7tWdHmA_y}MB%>SW8;xjVAt5DsLp{%Y1wzd){Ij+wA+Cv3y1-G!WvcSEugTvpNzH)+FyIa|N*}`#a8vYIr_q2pN!foAc;f_vD zLU+S{k#xh4LRP6lmZg7@bR0vMf1M@oSflZaq~ic}JlrB02h*+GqP*boPVRwlJKQEK z8F05kt9Kc=Ix6DV^$Va!)p+?w!+mq%{`K~u`L1zQIB1R|=6|yCm=1VM4?J=3bzCnF zn&XJMV`i^y##hIJ**}Q+_HSbDRk?~I=DtEg2o<4U#Qga`5%U0JIoxJ1LAW0ac({dC zxQ(N)gH@0V4xKyVHe!jkz#XW2jGJYKExgbLUg!qL?ZSeC<{2UIk6{i~zVLc~cuNSp zA;}Gg%iF?)+M@2^p!qx-hYvI}zxs&Hx`=hQ*Z z{s@kY4=(QaZ14ANUf|$(+Yz?=06TDrL*(mID@Qm)K6#8?nd;d3{&{PDce|}!?&;Ry_Tv8j@)33si`_cf-}-^s-^YD`+eu{=d%1Oh z8<$ut=HP$!9x5iOvHTANhskWOOxI2N*rw8J2MJm2ZmA7@aL2zYRGt4RJYa+#CcLPC z7BCHp;<_0Y2R~Y!u3Zt~S!mT-|4gGIv5*&@bX(-QAerM0H~ZZ+^bX5`U0&~-X=)WY z=Jh-Aflok*n09BzrpB|X-DQgn|D_-IKWAA+q9aU354!M7u8$g)9<6zW8~Z8}9aRaU zr5lRulE_QJY?D_T5|A?BxFgmGi#4-+X6?_OP!eHygkZ!=E;eRz>8da!1LE|a5~Iw; z)#W~-a=^L_B(^`AoKYCEJjj~99;E1jRf+>qjx8UC5HF}t7FhXic;UG#EHHoG?R8jsJvNH`z^rc(4Wrz}EWHq&in76(JN%CYOwisbnd zBNRD3l-XO+&A3MdlzYR}gN2tLJ`E*g;m#$N@uLs1&h0Jd=92l2_Fkztcs;%g8%ppl zq{e^X(3v~)&T6mq2C?imY(pwzr3pkQ%X>$}b;+`Ec#sDz?dxj$(6#$ONA(TfkAs2~ zN62VsMFR^Cqf?r3bIS1aE%p;DT4p^C;gR(vq@0?sP=Rn7@iN$r%D)7GQ)Xxivv(Se z{RXSD`9URI0OR*))ilWAxRGc_num?$LO=QJD2p+9A+%DJf!-R?A>u)6LvP8VDXWID zVjlWgO~}9|@R%{SjakKq>SdH!pRwrf=~9Fu-`R4^zs2Z$=j++=ug^FB5u@|{+^!sd zjcWw_1EZ@s4t+-v-MQH7_zR==i+;a2ME{A=FMmv!f4V&W6Qke3oG!<|`4gjW*L=tP z-208u-(W9K*FOD$(Q(gnks<*^N~k|Dx+)Sx(~Tk&-}{Zxm0BTsdp@-NNWwob`kpTn zX$DwPsg3d%Mpw;%=ybPTtN#O|lbS2F(@*UMi1lZXyL7iRp6>->V5FJQKqYyoU=}bF zVaQ|w3uh6Jbc;?v5lHTLa0?DGni$DYdAoG5N#B9;O=Mo};%p>V@};C<%AyYrBqgMt zr*7R^q+jEd0)X)W`^Y5*l3^cyPUdi>(JZD!A_NmY5a7$kD&CCplgo!))3=6ko-%m@ zIgO}LJbsWyproTCkfh~Mj@C;jTuf6Cr~x%$anbFTEBO-A#*g9(p9ogcMu5k`innP2 zy&e`((JhCjcOKL|FkoA_x_~0UOW1qJSWSuRi1g;x{D0Vc52&WvHSIqM5JC?SI%22- zqLhGi4ZU|%KtvD}L{tz|ieiA!TR?gZy?2zZRH-6G5fG6sAWE+y`8J^MdC!?MXWp6h z|K>ll)|a)Hlof$Ix%ac5eLeT}yF^28lJ`@aRg$t;l(umlYQTlt%+0glMRJxwF68!O|?J&2Am{eNNX742b>dNT>6-b#lvTWtnBu7F$+2 z&_2c=1Q*fsn=6Hr2DB~r^!xH|pl}h|TncZbdt6e8Xb{X8O(uH-78!9E*ws#%q|cBo zorqHK%>wAsN~lMNXyy#@oIEzLmyg^BT#fJ-HZ>b$dMTbQ^2E;QmQ)CdJ|}~Tj><_W zuJtiAoSBB%PI|eiKQdA&ag2EUWSq=J#+OkbKdd0vM^+`-6>-;K1Vlb8Zs;?3syG2V zv+ODgs_0Upbf=nQ8rHl_Kex(Jg!Sj#wNlqte_nQW#*WeNQ9y_oH-wqFS)v?FX0bI0 zmgty0a~27%*eeIc!VgGAy3pX)*Uw>}m4ZO7@bF8lYgLWOU+-L=S8sxbXJ}ihQr=Y1 z&%z}j5Av4L2W^{+SWUw5OCDb5^iPvX^tOK zPvnq|!CpUTR6va>7j(-bUwsMqq?y4wVA4u_A0EbgWw&cIn3S6jjUih>Gni0U#IP1BWxEnXCZcp`UQ(G7}%1`Kj zBHZoI-bE{46|70C|Ls62uE1OIu3SMj@g3==XI~Dd2XS=`GlYtdx-x`GFY+^l3-0Z3 z<0Qy;5fLh^f$sv<{c>jvbhdVQ3=E*sS^8)69lasA%@{CBv(CIj6s?_3Lx5x z31oo1MhJ|Kzq?1A0~i?d29tkj9_Y*z`PE$r1uJ?5O(p}g=S`DdWjO^>2Sqdz(S)q< zXG&_+V!_WiXj{Re_k*70;5}vXo@IY$IR(Z$orBxvgDMl~X^B3uC?~15O1EUb7@hGZ zA;zFvlb!eq9EzF-Y?>%lU6G*juCpJ7bm+$5IaHL!U(Zy0cu7nIQ9M>ZzDAPK^YrT< zsvpk)^@A8tKVDY?>PG{heu#Y2Z=^X=KSZ)tFtlWc>W4_+q52_ktbPpsN&Qf=)2656 z*FIK1^nbVIbAg0ZAQd1w5bJ++%J{Qj3QQUQS~LBBv&KIt9)JE4HVIOJA?z~o5neEQ zI`Q1nG#C@TNRQM!d=kqhCSt73Y#B%gQ8{-`+(dsyF_QQ6&0+nP*VK^=R+Yn`Nw2^Y z!YUATI-VvUQXX~)+zyQd@hDQmwWW-e4RVMKsCkg3;Qn0IpiBg(@&v7yIP_&H8mSzS z%_iI@wWa_X4MI4ISl#z&Qso0(M>01nx8mxQ^wjkS9%V#=As1ZY>O=#)z1U4e?sgFS z`FY8agW}~J&pv}m!}DDoTPtqyotEKeFT=Ml@bVJx*ma~glAgG57mu0nQg7oC;E~D& zd6PCDn;obRWqK9JbD-*2{=cZYe_e8a@hbIS(&+#7RqB7bK>zDPH3(9GA=ERGhgC;z zBRZ)_=?hoT&IM05HwD0m_%#$QVSqW9o>hpMju=XXvYQdvDQhFAf^* zn9K>hNUQgWc%{=UoETDN1`@f6d4m>WEVZHthcsuCf-j8>{0}$<5lBc5k^}6Zae%TB zjC_X1?0N=fKtXu>AbhY4K3GPqA5%aOTUa66{~_^q+A`(qRL zK214(o_1PUabH{W=*M#WPv5sbuWUE1Y_|~zEd;^b0s-(){rvMx^nc@XU_nHBxNF&s;5={tZiUlElhGT_ zO+GWgqZS0vZl^4pRj#-4%ZLRb;<P9IP&_hn-Gb8_qCOl;DmOetuERu~=E9hW3J zw=zFU1iN@68d9O_bp_uW)w8EUMnc7EUR`#>l0K=BjN4?XSs8K)PSo9V#`=*{Gnnf> znOM>axS7(Wn;C-UVwzPscBE)Ni97cg=wl(LVPWTDF9j)yO>WEP<4z9ycKOhp z5oC7Mb5)HzyRN{~NT$94Z-$7i^byfra&MqFDv#1Z0f)3PN*Z_`pcdZ+1mnYJ z0N>QnL0JLM1FTlYIw&&@>0_%EV1Ye!TWMbgfZe91rdO|CMH@XZHnlRdwz5((wlXz) zV1)LtH@3R&fIJgJRAuZEZtRi_oPdCbiZX5t z71|{o)FmC!e>WxB%D+@6aagfr=33pnRc!0sv|+1)S-axdyJbrcs)1weLEG1G;HS%@ z!sSuX@~C7TRECjso+T>piFD~5RMjI?gF7nR#VpyyIKxymnSSwbYh}Fo|kb$ zs7F_jbbkb@KUR7;QD-9WnIzL!`@B1fo;2i9lPOg z3CZ0{$?pltBZRz;uAI@eyw8NH&r5kzYk5)tP#2jyvM5phpVFj+tN~Z z@@`w;Zbu;DeKKJrdA2EI>1`?DbKds0*Y2**kNxB6A`qA{2!sd%A$n&gfk22O5RwQB zrG(`w0wE2U90-IW!Wu9wloJTG1VRJgQSR*MI-&~o0$?HFF?9Gi++PO#%3Vuc%Fv zj^{&ewl7a0k3Js3JAd%}uW+;P?9wFD2|&07BBT#*t^UN#cK?}!y+P+<|0iztgP^ly za8C1W^55L-oS&zN)!}WwxY;+Jho8Lmi<`}0OZ|(R&2*yZn42B^Q0SPOt#za5h@1Tc zzyKX`vy=R}54qXSwOy%)-0Z!9`JqE@_EqE-{=WTz5Cu6kWz=_on|(@?#zMz^HQTdY zAXte$VX~cw#J{a`58!4?8J+jpH|W(~BZdUX)%9-~v6IYC^l0yr9b#eTi1mT9Z_{ z@_3%$5ZMN16)@)fPzF6r;j9a?Cde&?h zM+v_#g6Y(DSW38;jBe}}hDRC-;?7-yKVIn;@$e0oUT$OJ(hDDwHR5LyYIXt(67|1f zkST~zLY-+cXzbJw95Cc(tY%+-XRJ4O7M_Y;S=HWlq%C5nZ?x=?e%mN;3Z8CR+M1eB zjc@AYnG)%gNvcPBzq|OQNbuJU_(MSR^|?xQaXu5UPMK#*O1zOubY1CK1T^1EU$x&jp&{B!c0ZOI zt5^Ze_p+Y{V4V{Fu-YZLTyN5I0kBT#sptWkZ^@P$p!t?WZI1g3duoMCoC7r9^>@Qp z7OIv#wVqIAw*J`2_{<0=)DvI+xo>?h8X>mZegSs<^A&A)r3`Et)U zk_X-OW^TokNLE)-y2HKMDLLPtS68G>Sh>NoKS6dmpcvtf^A(Ycp+GUWuqN31u~w#0 zS72Mnz5|-C&|(^~mwGD&S%kNW_SDlbm?EzXt-QAR1bt3*GQSuu$Rsn2fyf9UpxG9D z9?Y%N8rLQUxe;uO;AZhrRLVCO4Y|i|&HhGREd{@NN(a%wIvA(4|HkQ*M_~qXw?kR6 zmj~xKbDf^njb4>{Eke4+TF)=Ho!#3h)P~sVgHkND> zJI#9Dk6uE&eBpAzpT>vVQU zr7Rxse38ot)Y9QIN?pdD5?LVAIvpmKnn^i-X19~U?7MT~*t=5-U+wff$Jc$ccy6Gi zclB>kizW{y@iU(8()GI=nZfoxR|!RKz*B3Oslp?mZOh6MKd_PQUnZdYNRT;sZ6oK= zs(`+~AX6IMX0ENMpkb^aW0u%v-c=_-g1+FCYpvb{i>*MI?P-${Q(cMSgAIJC3y{P$F z%%E;II+jSFEC9bQBpH>sL z>*sY!Xx?{^Z`DdR%swf3{6*{9?aP~n=_WXo%$)Hh8fp8iTJSdlcIF_^j}oxA9hux#z?68y%aQ$-7l#Zv?4 zEL3u;x)%(zwg)dV`kaUnvNy7>dRP3gI4fGnPpnX;r>yvFp>xBSYK{!U3s3QqoVu@8 zY}@U5P)O;$tJCJpvbAlVTaF{(o1*+4Bj;}VS0=N4yYpk{GhyO3D-BcdlxZQ zz3nM=CxU9m^Yj&DcB#Z!9*eO6XSo*#xg@U+gmu@9$E+ypc6J4B})b4%pKT)P3;qfE%<90tsUzG(U6xxKbF zUNj(v2DFzI$#o zUVOFh{PiHtlOwq=`KiWbGs4NysO`d2o+lU{{j5?XRB0FTJfZb{Ok$@*8ux^I$na~F z;l~dcDy#?NyjxzZm!+@j3Y@wbMES3{*(N^cTz#bCd}M%kaMqRvL&EyJAv%c?Dn6b9FU$CK{ zg{yMo3eBxtKchC~J3D@k^BxZKeh--aAF2Dh1sLBC@PE=_{ItX0OUl^CB;Y{nK|p}3 zaZq)DU$uXjtFOGcf5c9JqH^ ztQ?djWzbRzd4f^!!9yA*6iS(ci6w$PkP6^N7 zG<}$~XE+4A6EaIoc^X6Nt{*xS5Gpe3CxC<0%qzCS!ZN@32}mk^2?(1b4%9X9`aXO< z(N$lIKYTsl{3c923>)sM?6)f=^MhaO=dh>ZWH?w_aYaf)FdEa>{&=w6@IjS2N1F#( z9xqY+rI*B4&#GKbme516crm&~oQaIsvDG9Hdp(c@0C8HJ@t*r?2azV%BfpYH3Yb3I zXTlH=9&~y7P=ROqmAL&l&mY7(AF7@*Xhf+9c=59spgWZmHMFTaJx?q|ofgoQCDVn+ zN9(aD8{|dw=cv=TMVsdZT@ujm+J3_OKAJ`G8C#oYs@+3#H!bNA!%nprP-o1iRex)# zD5eL>uDgNV?NJoWy6W+aINjntY(H7EiSvq&V_x&MlJX4*j2CfH zHswdF=VDV#pXkDT4L7_vrLct~3B|h!r7Vf%(utL(i7(s|s{<2NOf<8k4YxleqOo3$ z8W#Zf)OVw#*YW28_tck)q#l9uy}L={^vMIA^6yNOhnaUQYmx^BlgAh2CRkFs zP$@Hka&vAetxS>%>RQeLg6teDEKNv9SVrEbN`?8K)+b`$qUF8tU{O`^v`MimZB z@ykkhn3)7~hnD@wC1@ay!kw+?_N5dHsfp_Mn~G@R853L?=2g?b0HviT$(d0vUD-cp5=HBY{{- zscf6Yw3{sYbPL%6o3Yx0aox5Cs^mE$f;ml_S$1Yo2NwA`biR*Wx(w78b8xE|Tg^<+ zCZ16x>pV*yH)E`CS8o0)#&r>=Fsg=4P~2cLWzEXVZORLG%VZ8RU93#v8wYikSiYrI}2$TzSST96gCb|qun3%|z~cCn`Rj23R}7WTQP4#*Vk znHCL=roK)nnhz`*lfjSg6+vr@rfLgk%!+&6i|1L37Hf;&jTV1*FIr(O8C`VWu$OId zFBys`*&9t;A1#@-F9Dq{fykC_lE*={N@0nmq^CXL_G!tTrM+J17X`EFx=$eLBAKp4 zzLm*k>n<0RUQU&0> zN=k=7Fo4{vqoZSNY;0m;Vry%A`}Xbo_wNI`hL4X=U|=8s2dk^A18%v;#>S2qcC&}+ zP)8h9;AVJfY3bXyZ@^9OF|l!d{gCbpFjWD$7yudpH@p9r)HjxY4*?m(F33ECnN0tk zHD#j#r-G{^;}jGiRD8d1BN2>>rrpU!|x>8OD9%fD5>Pv!B@3#E@%-hV)$Zw7UG( z4!61jR60{lh1@MuMPsj;M@2_)*GAbuMw(ao;-V{WjA?T|0!h64GG0HPdtf0enS3(dHu3tJn{5*BVqQA_$ritD8s>GtJYM>2mt9ae zpIJsGPmrZumg7KxK;VhK&RaPmo|;o64q=*$LD`W~UinC_m;4K)Zgim2@r7YKU=R&( z8(d_Z&HtsC76x)q1Op2p09j22A_WQQ5NQJxDhg00pcJCy%>W4zkO$3-P$;Evl% z=TWy5ZiK3Gl5TL9E(IF&rt$#QXn1OOc#1GQOBe>Enzb&%WmxBFT5xln8_r=@f11 zh&;pgkl1vUt0SINLSJ z0n-h&#tm}zgh-!xX&$)JtewW>$tWlI&f73ah{RC8YhwbNdXYv|1dY2z;tg%~`=(iX z3?Y+}8Z7hylXEpnFgF%Kh^f98p8*)vnn#RkkqG1=>=bbcdB~^+_L6_Sy8vTM2l5IS znG^pFBa{6XN9J8X>2xEAnpsos7V^ex92ikq83)g9j6n(r!f@~$%@oEbckAJU>DsZ- zVAkY#mw6HjZ8AX#bdKc1zbOMF{2cC|L>+CT;Iolhoooss<~BEWMNcb*oVeh< zq3)Ea9>&8>$39Fusf?viv~X}$xTz6DA&8}fmvKVLPZ05MNKaz)y&0J~OlmiBNkG($ zNIQM~`9T;lqjra;NaK4FG9)I8l^)X$BVttNpTJo{$S5c)udbjm5a{p9fPttEU;bO5 zG8jRb01)$-hWQV``U_~S<162vQJ8u8MaSdt2f6;=!1{i{>;D)HSPV$k#qRIV86r|` z{T-3(-hni1$_|bZT&++d*hBMb1D@C6oD^X~CWf;bp-84;2UA>&3RaYX?_HlIqz6nU zA=o2Am#gGYEX)Ik8Baq)$rR}ITJ2+&^%-q1rb|Qh zu11z5$+DbV2z9WXek6>SS<0+Gi^K~G427UEo&*H!VVR)cUw>TyoDw+Xivs=9L$ZJO z`$8om5I+DGM?%0=?6k`I`k>{uLt^2I);~{x)E2eG7rIrNxjq% zC$TsLy>{wmL&6KIkI7aid*o%)mYTEWA06nJxY|us-S&BLhuPa1MxG*T+w()pxvl-e z`X%>q|2_!74Gx6vm3HQJ=dquu6xG}>j?|6#PH zk49S>810H_Z7;@4Ls(ZMBrw`+TL`J6(dK5BTI{>=d$cWojrOM1(P#(!X|#nDk4GE8 zxK}aIqJhyCR{p!ue(9*Ns_;7W1ieF#$y#Ga^cl5FxRKSHy{WYR--Skzw_4H^a<=MN z?=Q6HtQIpefBbf{2WR`JO~s~PWy)w`9D3pHAlm%ZwVqLp%>&~ZUi;^!bzd}6C&4J0}&_9v;#z^Rl|r+ z)73jpURQ{KXvCNgJ0ZIwc})2#k@s(C6}r7?DG{5uTr7`< z_l%}-dgJl@Zi&1Y4P~%AVl$TuFnCjmTmpFcck8yya|b{e|D%Z>dFE<949U+w@#w5U zDajFwQrIM$(dv9Qxk1)U{z=+)?7k>(PcPY-N7TQKH9#>IL+*eiK;r)m#klgfVx;(0 zjAXxx(dVcbSO2jX1CNSP1t>;m;M50-vGTYWPyVSG$@~9JF+M*&_5WOq4!=(Q!(wDQ zD#j9(zbnSSg}+j+Hv4wQ2&=txaI0wS4VO3#`ed?UHyC8_O!tnX#PxSMR!lL;@taMf zCG@p?LT1i$pFE#Df}WQ>XFF1Hn?{X;ePiuSQX2g>+wU_Ta5aB`m;qN>zTd9qV~;TG zKHzGm1RYs}=^^SJ`V-B5eo46o>6m9=UGmb7@*B-y zBBACG0a3o51jxN}nJnlp-LZ1cVjCmQr{3bFA8_f|SIlV#>G^IYd~9T zkGI35L)d>cr@#(>>l8!}1Ow6j{;kKCNSFkO2w28A;xRs82vR#24pQ=iu%CC3iU3S- z45AiMJNnjYVQ>Y$4Q4TJb#D?dI|2{4I&Ku80SW)9QQ*)Mh5~l{e|f_GwIR&a6$BW< z0G#SEOZCtRX8Xw2>5=;}Io0vzeHZ7y=Jx`~sWG>l{cb+^=j2qt?DaQhYGl=IOq8=< z>`mVs!1V<%Q=I~`0A{LN%yYM_jHme8V+YvZF;io^5A9#Eoqz-E2$(wjXZx3D#eZP` z0?cTEw;vqQQtuzpQXj-NWzP%3!!muJ)y4TfPl+vvEO?&s{Fe#rH!3wS_qPe`h?W{% zHSAmc1zUeeOUg#_(ORfF*^~K0`{=Y$`wpYd- zd%pl$>LDuih0hFMdO%d>!Z^7T7mVe^ov`r8&Z3)sQ{ zIc0Ty?+<6#;RXKybgdrqAtd52GFB6t==tF(sHcC4v3g_A`Nf*AoV~%{2W&fBwqLW* z_PO;(Bme-k&pOC%aC~^29|Htz@0_{z()YLMaf3$bSHL#CR`0KXZHiAq#{t{)e7_n6 zByXHKY!q+;a$>RzO+;^WkIuFfgI`UT^P!gx~VUwOqVIL;wVfHT1Mg<43$ogtRF#G9;AIewa>3txP16x&%QJoeuGl6KCX zEX&J+v6e3#mk{?k{m14PyUe)z>O5I{oNl+W@iOyzVUBB3={`^V^6ek$&ETfkGenT`US3fmM)X%Y6-b8lsPn3e2B zUyH2wR=?dUSZPl9<}1A-(`kCrfdBPp35qFy6>S#%}@71HhYGF4<&&B>U5@T|pyLgh{b^4jCrLw`G%+(OC z-Gw^_cU`6=H#1ZzHe0bZb4rs&P?BmReXo;at*td*haXg3cmr~0St?>L^h;Jhxe+7DsX?nrUlyunUubfMT7ExXec ztaos5Bff-Y59QX*j28*+)merlShkVy;~+YvBu|Cm+0f)7I_*0R`K?D&0v#Z7vh)$7lu*3wBrYp4Ezu8PdZdXi$z!Ph&@zXDQ6_ZR^22#bUtDK0n$X`4FRk z3w@k<){9OVmJ-v~SfKdhQ(PE0N0?(0I1erSuTb z%Y>8mde12*O&8ioJJW?wh&QvqA3#s12i73TZKARs=bRxD)U!2oqP$mWt2XQ3zpwyz zQ4i2qb?nsjseQ)>)8Q8(#A?J88YBzRPSEaq)!@jLX%?f}$g;_F!VCv9cJWFiQk-y@ zVV@sIl8QJ@yt-FUddm3Yyi3>MM)BvY(2h-V|W z!Sm;HQ;JS}FS5`5`t820*Qvel$!beN-yg%NB|5|?b72Q*-+938g=dHGp*r){_qwn2 z&pb@3`&Q&AyZ-SS^ig%kb8V+ijlmfiNmTdq8K+dOPi@MV)7}&nKRn@lRa5s--Na9= zN4Az$Iv3*N7HN0}PtPA@;%?vCDD+kR!UDvTlBX8_ah zG@9kzlV|LifC3c`4=cr<(w-#0veV4mTYA_iK<#m84l4^#)1IPB+-c&KnfQoUtik9w{%t?#s>smpQx+A~~iyB+FVrQy$dX82@xJN3iLqjK1% zd5w0vOnS>>s(NP677TY;{5FS4cUYdUIQVT2qtHbqebENkp1ZwrF{qU7o-gNr?7n3f zLg7hu<`vmSd%VwArZc^nS7np#4-2czJf(9Bp;S8%*ISt_`E5eWd2bL;{UA;L%%UN{ zSiQ^l92*{i(RMVU=7p2y+v_(2w-k(L5NWzsUm(MoR22g$XW~=YdeBB0;YO>cXl!crteJyF?1$y$q zXMD>-|AKy1kz;yiRbJ?EQ(=sv&(kK5t@Zx6Oo{*7lS!m0q(2u;E?4BNqcKK8)$B%a z$UsfQ-OCr`zp#I)ksbgR@YSCdO@V;zn#T*yCQaX5NkODbRNu-!%S~?%@ATdXr65*j zXJ_*NF~;=PmH(Oy6RAn_DLw+3B&hMd^1aftj1w+NABdK2#cp;7QjxYv0s-5n*0SD| zZbM_QKsPNVdRW-~hX${FqKF{@DeBP(HCjwx6nV1fulJZ;iFHZOb%mqWGX$!QhYk$` z4(2cyk~s8K5e`G7c<|H-EC*qKF$^KbUfW+weAOd7E!|O(m4g&Nq~)F6W>-f-%D}6p|+N=Az$4lUkheG4Y1#J z6F+4IzngJ>7rgxJhy7%l{O&UQOMw0FoA?VU_&+r9ca8IRs`h_8?B}`Te~UT5+r$qG zGzwU`1_TWI0*wNsLjhq@mj3fHOo+fA4+7rO%g49|P7Tp7wg6l8*RcF(;tgHlKALhB zuuz|@a32NNI|b$$$OeWK(I-8$LBh^Mo@S?twNsMHRDw*>Jk$qcKveyXus|LP#01e> zBvo*q?2|r-LnBe@3gvzu4Hix|fuq)()u@9hdAS;GPN+I=$Ptt1RnEvFaKtV=^w^Ei z8Tx=kn~Rb>@N&x_;YJE09{MMx;o?@ZswCmL^Z_l#+U-1W=LtxevsvVOyp*rKKq1oJqXg|CHqN?V`K?W?$D=ZFrZ`5f%CwF#SiG=m4?y` zdZ*kX1l;H)FJ3(P+-Pn-%n}!NQd-C6oj!xxGoK3o>k{-g-qUElhkc$1X~+mcJ5o*e zk@LF@XO5T%j$u09?Yht%BDGSL2@|tgNY#aN@ZadmDDz>2aZuzHIg`!*pCll zT}`iUGKhKZ#$s6Fyrtu?rg465aRKphK{at9BXME7aX6OvNa^?})A$&-__+A^gqrvy z>G=GXi{i7f9%Pnwt)dwk3Ek@uo^_F&PK&IOgxp&`5+sRpS+SJ@=0LANeRN`Nr-}4P z;z%A}q=Euc{#43RuwstPm;Oavqi9|)MgcS`=~Cd0`M zAKy)moQ|E=NQs~q`x2NETp{|kGbL!6W|=HiBQJSlA+g*owL>CxPeby2tPaOEboL#f%tO=>JoN6L~s&PTVhB?f`ZfbHUik!UFu1tId-3uf9U zYIz!5m84zdbWOpr`ZSG5C@Us?q&oCd08SPOOF`2JxRBX6sx&l`$VTf4>Qn8BQ2S!Y zf8wbXq)}&hC>Z)+6Bud-%L~G#6ooDZl!EXVnbOXd-~(ny6+$+IswVRsU6_M-nEiwi z)dRV&AgCfMy_+~`!j6%<{l(;UJ#?pbMJt^ynXH~5{4tIQU!7xw&Ev4S5@gS{)^h^6F(&mN8I-BT+g?4Z9Kf&N+S4@lu9}X0D}dWmMYoP9eW{gf%{bt+TLd zG{QhLa^Esi7?<`bKhw1ftz}%CtuFsKpS%L24pAoaGArs8ED6rXi}mZ%Fc{F!>dNhw zkZU|M&b$Enq1)0$w}gbss;KYfX6D<=v{f9C*`u}G@kC@4Wy-B-bOlI{>Sv;9Mh7CA z?bFoP@i-MX@W;gnuq?eZo@f)Tj!q2w*_W%fNo0kTufss@ATw9&pGg*QmITsk1uD1B z$S^eOHHttlo6)@Ninbt&VZU9;RiJ#4n0(XGWPDmi5OjIHG>55__+wm7dj=_EDWq|l z+6o6=h3RjC~AuEt7Q?QT#c?o5UYxqYe8$v`T$s7$VeARc99{!B%oRyu=B z#cbZTlK#wBuq;i9tc&h1g!Ri0Zq>f9(9SVRpf1uUvwxQx_A#6l9cjQ*bkRk{AXCM% zQN@B-^*Rr{a)LDWF<8{0y|^j&&PJ{yB2P#(kH%h2StSB4OPc3FkEd_p2v$Jg$fPBp zC54(RSfl*>@H`bf~OKR5k8NUye{&;f)#{#og!o zaji{DSGKO;Fq%bo*yvB}hQ$V@yW?eXpq_WchK|G+sRc|YoP+6WbimPS^Jo|gP8JB{ z#w(O;bw%vv!n?A&m3lxYHpv;8I!Ca4B~4jJ@4-Hcr(Ky) ze3@cp*@;`S0t{ucO9xRqxumE1$bSDytJ{&7M$YRLYq52bWcA^^M|(Hlc3BoQpO48O%du_`g)!uK#qzIYvYhW zRA-NN6qv~)m-BivKZ8b>6IwO3s^=k)vYHczi_91gw8f{^?8%(>}B!z&6y&m;Yx4~p1991|U)6U4ggP|t~~hzW8F zHc5Ig09d7^mR6a}hbYKUjZP2^pyUlHiG)SL0UoGs?Ca0;Y?oO1=rj^goqHYG30u`R~Y$tpT&f3#R;0}58 zm1cgTm+1Yadu^c@DyUZ6n?l|trXVurQGv3)T?IR6)DTN3&B(0 zuv<=q+s=01qGmg2(GDMr&W7(_=ah&u&_vRl@8mm;mZAz1 zHqOVSwV@!V3K4D&2)u#I;q%r>o4VtE{h9**~vx5LS^V z*SIdM@q|NH8qdoAYGgSQ*WW|bj+~!qfD#DoZv7J1A0JBk|9$M#gL?J%JR_0ZZ{3px zM2|aEj$%b`?TWGIEx z3ZL)cr^^KPIaGdgD6F84j-nWF0zDCbb-WQ$&tK-rlrgihT}!$uJ(o_tWgdj$Lb4#f z(J0@WOtMHYz!Gmqk_v5p$Y25n5s{EG@?X>+YQhxVBZ1l#fE0Xc?H@rJkMnr>4ud}% zk9I%dzqZ|h9k}1*R=5Ai68;CaRZ{kE*j8l?(?8fHe}GE>X6wz{?zbJE0@&8O&R&iW zvG?8l0eI^%g#cj9{XuR8C~YB;_^{}VnB@FF$gOEPl>of;7+>-SyQKP6_us)=kI1cU zZ-x)at-rCYBU9i0Ah%90Z3Fm{V{Gg8Hh^vY-@z_<@~_w>V;yC`*(Lv*$*qUE>ws>4 zXs`qFqK6L+b`5pg%M&d}dC~QNZa!FW?d|y2NZxPL6`nNLUOpLI0dlv6YhQXEfbL(q z1|yKz;cpPp#Z7ooo_}HKMWqTDK*=@jtga&l9!>gT4RZ1R?0x}E0jxoG*Da8jT&IE_ zP|crwB2dn6Z6-X&G#w(9awEeNJ~z)D%DUz{9j^TFVmeNRFOM-?^V}`Q5ZymVivA|I z`U(8?-1Xm)qW?U1-Lw|%MIz>?$wwmDYU!104aFTloU7Dxk%Fcot zNtoYR`cPNd$Dam?lwz8QsH5;irA?Ql3k%hWBQQkNA$>y8Z_ip`3e{jvjn9p4))l>Y z;mvlVn7F>Z(PO&T{%&NkAFcqt%(6O8Is5YKGz9}3q)1!S%wJl!H)jG6P#z=EjgUb# z$0n2}ro}^2sBfha{$&{8zt(?PZKJkL%7D@HfW<;ID3SNWPB=JIli8BH3RNBNm?z;U=dZ_9!D~g(Y*t$XAf1bUd(9p8@G?{YFyh4M!g`8b=WE`}1^8 zio{g<6JAt>B*aI3aiqXiLZ}Lo224TX|IXZVOpX5Q2-yE0`LF+mmGr-ZLIGT(j~~FE zo%~^=vSkwz=EH2>fwNNdrQ$yK7-o>(=0ziHkBD=cRtY*G&q_>Y$fFR+tK*K=FqqYh zA-mcfvOqhfjb*!+y`PK9Y)d)M3(3lJvTI96>+mtuL@nsV3R@|LYTg%YPrh`xXSbP7 zPR3~AvWevMqoA-RVi#2esb2=E1Ks}=m(O1H0-d$YwIWg*s^I_?s(Vd(`Or%3*An-{ z!NQ5D*#k^MF5|)VO784<_Tlm`y@FtRc*g{4B2-1tW1dq#0L`2){2~`Up%gJl>7-Q% zQi73!YpJ03q!fUp9ts|6+YX2qjn`Z5v$o7!-n7B0(100y)0Fiy7JVsobEl@vP>3v- zVqDq)mgob8p39?Mg{Dw%H8iY4ltBedEj|w?BBOCwQM#lY1y>+KxLEpV{;}{;JcPr> z`~w_T0)-M6R|M?-65=+$;IK-Ea9HI-CMR6-eOp)RRQTPUF{v{4os(f~cyT+!IjP{+hX)zI*eA**ci;IhdLi|dCWtN=;& zt^wM`O4Y^I*yfh&@dfyI>T2LGTO-`j8T99a3r?Q}rmi)Fr7(E3iu|W>`DnkQHl| zafpkx$eneH>w1s@aHm^u6)xQ_JA}hJJzslNz2=QVdCQ@KP^b_&6jmD*{X0}O))kd$ zeiW_haFnk45LM-h!d_SPb25v#j*fIPPI+txbO&UHnB|8(C=K+ejLx_DF2%klqzvw-j1uyjx&S6@ecNDW7a{+{QsyT@{wN`LhVWvVP_{^@n;_IJ6Y5q8 zExF!Zzyai^mPPkHj~;p%Jy@HuP#r$noH5#7I@Vt`+Z6b%C3v|z{A*9bW^eT7VDi_| zyoHg9&9S_%voAJhN;em)Hi4vyrq|5?y}qO8O?%fN4fahJK!a`mu+;K#sbdtt3akx` zuK`Th*RxwK+e?Qu*mXkJ9${=|VPtV7G}o3t`BX_^lxso zZf6Nt|5`{b&H@zt>8~5W^tSLF0O2ppY!asT066R#0Eb=LBW!NWZf-Aa z?k%mYt#9tFZSEZa=m20Y`AG)MC4VIv{SXvj^n305S29)s2HTP8;qNn6UmThq2J`=v zvHDK~?OUwFH9!&uxN!FXZmkrd@@uRtlQ6-XLaX7SJyA-*94E?#i8%Ach56ppKEEB} zcN6E9p0NJ)W3@ArHq*^6F3u6C;1Q1D1%<<{-#$rv3y2qo_&4?8cG2f#;n=u@5hG}JyRxS8`$__4dISUd^AXXA;lz>Pyl($zcIeK$Wn(&u7*$Uhxo z%)*5|4M}cML2!@Gy}c>e^@ZjM<0acLc1~EDO^Eop1slL=m^Kro*tqg0ydb%K7`uMa z?z8VJDSV0?o!IV7yxjqhHqk|)={YeUm{rR4Whx$R5`p^*;bCVCZIRwY->hyXU>VH@ zPh6sFy+XUg56wk;^5h4=%P4s)Qa6{JU&E=^&gG`z{qiHj%$PS4Pq&*}degqcaR+-G zKzNm!Xx>#@Ymu>AE{2E3H@0Z8As-7ambQ9tTyZ2x8*D?g&tr6uC)kUW#+KRXg?Ef>{7OuW#f3&pPj`Xj8C(je>u-3_+Q@GY8 zR0Y6cMcRedkN5wjz7($a%54J~t7y_Q8-2=5e>r1yYs4<6XlwMZXRQ8pIIPT@Ej(w7 zWXT~MR)=OC4bGSVGFBV6wL2)SrDzW`R^Q&2wo>=%peRk!)*>f@mnxm+`I_DgBEt3k z;FNGxYKQcF_UR@cds?u+w{&?t7@Wz>-NeVYZ2+Rr;YS6Y+h$ip)8&}>@svJ-v9?Z< zW=WAqEs2t9o42sKV6Oe(GdZW_iYHFOBl{;rWIZy$q!Y*y5hVJ;v(O9*1M~FbOw@Sc z0E}@(N7!PeFm%hJ)MwFNHV<Dkq>TfgT9O zfK%(fwEa>Y9?aGdQ+`wFmwoD*wT5;P#2|7L#~>rA>FBdQN+)$*%W?HtV|j%}$c)rG z#3Qvmn~0%AW`W%|zYE30Xs#NVtqyN z6a_M4;fWvBvH>nPxkp+jNLM8J|`e(w8Zv8%Ubdh*09=NKKrt~!;O0$ zL{d$HW{6SKh1Ccl1WFUXqozUqThynJaHMua6hB6wl zqZ`?Z6;twDBh8 z@O`oSCI^R!Ut|=gQITO_!8M)J24^@ikN7)_Zhp!)`$B$^$93YQQx+Y=Lf3~hXcLKB zG9CJdrb%Ksp3aNGn^#|d_;tbt0)$bulp!dArE9U->M*{f`EAnKB$5~ ziFlnmD9#Aun`kALuoVOdUY#~NdXAnWd<6uSgJX@V#eT~#0DUeGG6Z4*@%%f>{r?b? z`e)|h|D(_SUb_ERJ_46$1z@?43sB(tQ{scnufzuiAo0Oq0!Vx~>AlbI#G@9$Cwf*p z@4lr<43xe+&XE(^6GwdN9mZ+$rn(n6iicBV=B6S@D+aXUCca>pK^!62hPQ%-vhyVh z-YHWg!UBm8mh#g2`6I{7I`2Ysg$7l<1Y`!J;_Dd8Yywd{8;~QF!N-fMR4~sG^sm<; z=eZS;DF&y1Y~_W9@qmPG^4Te<($YZAT|k_{c~f~wFx%It*>90lCS=)HsVE?qhriWETw1Vj;}Nmmg8k(T=psN22wIs5Fh z@4b7zJKq@{2gey_^3Tf3TJQV*o+kp(K1g2-0N7r#Hxo$a2iHQ>{f0A25$g8%3yxvH zA>Psw5G}-8T1Ve@_O*112F~#gKGBvAnU+4;fcC-C=P~J6?^{SZ)`#}XNB5igmK#3I zCix%y8yo|&9wa>`P5&m2814HXZpL*06TdgIMqIO>J7l~DoDUvFV^&2=znu?$QYc?p zy?`^Qfb;v>2QyTtg?ysx{(;^ZRqiGOm>+m4^_c#HPIIJ3C_PQ5Wu0oD?zU( z-tu|!y4E{G~0;FO<^!5!!zfP+3T8=Mmz@iZX_m0^76!9Qtz_Mu2mFddqk~$98o4a&+fb$}q8^wVR}Xc)s-W zxIgft=-qDJyQQkP+j*13nmJRehLURrxi zT<#`mA2z#4!Uy6Q;I{&V4~y%IfZyTc8gT{?KCG`Ut?g}Z&j3gHZvdZg@7w>kJr6;o zQC_30Q!45!(!eP1s?Kd8^@&Q-C~sJ7z-ISqef7d?>goQkswJo8aeKHHDn`B_Ic%S0 z;7UdPg(#0G)fMC%y$Sa_W$VnVFTF~u7#mBQu^KCkc)ig&ch&EAjbO-k4SW6#S8ReZ zk5yK$e|ytCSnnE^A^Y&$spHvQdld2u#~4ueaVuRF{wi^P=Hw43$u~8;;WC?X&NO=$ zL%qgmFZZGNS5(ads6O30?MD}Y=SPlhWS+I&1Wm@2L#V`e#h1~zz9yYJqy zCv^fccXK55m7Mh5Kc+Ygx5J{Kg@(^g?Xj{uTE=gwaB$(FHG^}P9$ zdBi%1R>_py1>qtBg~)PwJKOE$iY~$8<;q@}rRAzVO_5L4gNC<18ESGkeyVwI+4HG( z$b;r{U0?8-&-FbXx5XNk>55BhmTE-GGQaFy{L-}f#Q00|kB!mkCo8rz`O5#)QC@Vl z>)(HrmmSJ5>%$5^V7K3#w7V7=hCGZQc^+J8F=$X9v;0s{ALix9R3a_92IQ>ltZdU& zF5i~)P;6__^?|+md{NobdiE zXXBw0&HYb(SE;Dj5$1TAXXoheDc;nV(57kPFpJ=2g_jdVBBjbA#1Zg}JrQ#LEU4l= z!0sUQz5I122x^3rgLTlMb0R?Ub~ z$)OE;f3lg$W!W`jx>E^?0ewm;zttm-7A=~@7;xw^QXrqnM*{>-sS`)`{5bsOTF=8c z4Od_Z*8cK7{g?|~lPq&`0gy-sdb*bg_PGg)V-A`04wy;mIl0c0YrJ@{xeE9AiW(V@ zTqq>=+>t7N%%`;qI`I((Myd%AOQS^qJAB0-Q^G+V#(-fd6^|6|@m*NWq&Spn?;;~$ zba>3F+y%qy5hTvn!dB6N3oB!f_nK%C>Szy6zzYUX!(G3sfC*XV zCF(h1yfR&?Oia#=Qk=BevQ&CHS>(;)Mm$Jkak}f0zT}FQl2kH196yfAM-S@;T|YrLo$T?2HPDEBgQg>KliP&b_5yrcDS zM_jx6M!0VZMaEIZcj6%K)G6mr0yk*rg3nMYIWQ&{cR;W6(o!wse0#PLNBM1EnVXzF zQkrtQW;5!zA*d?ni04(vA=nF_VCQ>sgOl>93+IM7Su(c<0~PiN7>-EstW%HXAqkTm z+BX@zt`uY=x3w=Mf|*#jKp=+s$%Z@b>&5HUiyetAAknU=l1jOD5D$`yT|d^mNBy)k zPanD6)yn+-RHQzAO}K=w6HGyDmbvR>O zgQowSZF^Jxw(7H6B8OH7ODx-T-Ukm=lv1Xs13VNEQZSoVSv^qthCaEPfd!MAPhinw?Zw>R$WZ?q=16&{OF7ap}!9Uqr9(lnN3~< z$W~(UG@Ar&7rN?i z8Uxzzd+hgIbHH0577+h`brJgAbNy45`Mcrzr!3;no-5FB{cX$q-E;j@83CMzfSxNL z%={O6u77RI{Kq8j|2KNBYCzU7E2!nqi;&>YixB07_tuWtox#+nJj{^MH@c!ZsIqj8 z+n+&cBn_#R zRtQ+C!Q*>E5A^1Eudz9lTm7ym;>9}~8mMYehvgNM3>cNR zb<9~w3?h)WK{j76(L%!^OI%E#`us$vBTR}V%V8z4hMJb{G;$(JUz>{TBoBKja)LK7 z;?OZ3XO8QP+SF9ENUxF1-*Q=CJRk=Q&@w>(nWgc+b!Y!QA@CoHUH?Z?@Q-iuz@1$U z#$uFX{>xKf0rMq4Ea-=Hjbq+jpbHyF@i2g) z@zU*}qu1N00fhmU@W`6{r6`|F5Skxsl}bL*3MOMvZ&y&iZ4m%m%t4}@q4BM>SQ!pc z<4}jyn;>xp7$dU1(yHf%T4H46&55~g@IGfA(!qcRIP>M;=@2-?m1Xn11enfGh-bpC zp!L2gBaNGYfvPGxB0z-Nt!uKag9>&yKuaB`iu0vD;sQbZH14niW@cbn!hvP^e?(*e zEX#jfP5Pge`43hm?DZe|3~FZyvNk|uprKpG3uz;X3`EbXX8aNvTu=|7mA*j?uKj=~3I5@**CLl6UVS&#OrtYe9a8axxLG2Ezf{acGgRc`oHyCvjOXf2i z+HpKdYA1wv36$z=prpzJMBdH@aHo>WG<4=~{YI=q1z3LwMV|3QX7bB08Q2UutZ z#wMnwrUtg202AI?+W=s~-#6CuGzZA=CIDapg$hHR43$UW@zP}=3ye3dwN~~^mriH-TqSrWNel>aiPvGBQhF;bTLtna; z15AkgfqyqHyJZxOcmE^ReI@T}mqESLpQ&z<->GgZM*aZZ1G5%;d;QIeblmCiAt{C0J!0e8Cr$1xZyyAI**mH9{oBfPPsIDJc@OM(%jsLSR>M00{yp)c zhw|8E4WA2~DBJ_E%>2Xy=*HSPc@KRIf%#2W=0oM08FLVs9-(qf!7lMaC>_La^Ob}< zTwDb?ed+w!Bdl;l3(E-l!ZZl7wxY*Me2;4bQRzqNv2G1UX`FfGTn;_8S&yZ_=j}-5 zKrOqzO~jj}v+!^h{)3$_Xt* z*)gdhyRkVyCA$l11BrZ}fC%u@2Cat6dC4KputvZb!_h4)3}nZ_oXn~s<1Z%KMK z_4dS>X!Kr85YxAu=??aZUg)E$MJN84hS8Cf4y=7_7L0B5Fizs>E6t_Pod`;b6K8)s zHgRIzTdVY?R-!Ba(hNRY@9zd?HhU)NjzIW}96$bkfbh*(Ddd!!s8BEcDD>iI1$*64 z^H)59qU(cBVP3DhH^)+59ahf(zbZSCjVw57Q?9xJ2JOcWS>rGblpzz2>Q8_`wNwxSONCp zYr+huLqUqm+;1;5byLALaZui_BO^TT%Ur*lyjbyOFqHCaWKs{UwV}ld<5=p&5IDOM zkJrpC=HA{Tg@kEkSf0VxUalK%lqWNwcyi3t;c28_uAnQ7W2A)oIYNcHJy+qW_ZJ)o zRA z>yS)lbXk|r=6W;FAyN4?%mE&9Xj-dNLG@O+OK&z$7_Rf=*4GH71%3pjwpJ3XGBRj~ z|N3Thm!`tNF)!mD{$twO$uqYQ#)Ub8$CB6(&3?yI;71XKSrlHozKBqkT;WdzOqcrZ z#Fek{v0G`Mk?dHF*DuKxv%>dW6?9A>lw_Ra_&hCp9?dN##U`xC-*dvVRYG5!U!4k+?epfUMt?JiV1^X++12=E%3+b}^g8{iYs{IgsmODQ+I<0r zYuS3bNX^EA{xs1w<)a@FCsm#g1mxYzxfE(iFk$U;eKL>?y_Bze@!df1Rp;!F?`?E1 zn_T=1i%aO8u{lS-brJjSLK-T}_O#UngNp;sx##^CJz^UMy=8{7zNpw}hA9j_FuYV` z9oKExX**Qfa6j(^xov2>&V|aWLnZ2um()NZmN z0cTJy!+Yln@!d$rcy&nt0EMquG|CHRDY-*iWJ#a$y3mrf%4Fz{)hTM@xT&~o$xC~; z@6c8cKM{+sDju@B&A9#Ut%5<#(-+HTc1!xDv%{&402Q1w=KV*71o0Q%rOrgAu?3S_ zv7zQtm&xd{PabbX$97BI+L*?_CMSq|JXz+E89lz<;41V9z`utvefaTC7P;PB=JS#3 z&F&WalZU%yn1vL5FRo1j>})xX{qIuUbO9oNm+F>Fd_IKBZY14LoI1s{1g7WNg0fM`1wusS_``pX&Df(Ze$=`Ahj(tMN0{ZEDrG4ceEgCi|43+piF0mS0FnYZ;TxVbX=-!K^s}PSjPv~mO zKf;$SfK>M_F`3GQ7t10djc@zHH=-XN|72@A+Bx{7rl$7z^qqU#qZ2X}wQYKzo$k54 zpFLaKz#IDce&hBSg}rRkoZgpP&l|@#Uw*%}{^E-d|K|7}U0nm2*a|K%WrE^dT@7RD zO2FxqNxBHRN?x(A!IUXeY_H@>DSN+W&D2gq_T;+uh$5>|UutIrpPqPrQTan$)lRe6 zgC8C@#J+tSXqugFmVf!Q_*>fD+BxN?Vtu~KW0}mm^_r))oO)<3<%T3Iblmr_&kQ#$ zJR{pQ(JOT2wx@1!C-YL4M$yQF<@+u!?D;Y;M69x}ZdjzJm9@P%W^-k9y`orex z)lbrNCugWWxLXM}uSMKfTC_^<^RD*gDvxMhwmP@{Zgg*>?p5<=*H_!)+k4*$^iNg- z&+SYd0=i=7o~$Ok+L=`({^*NPULGa8?5cm`2>F%WSH*kv^tN?36vtjY*{Chkvjr6% z-sX7f*}bs!KwoWVkzGOl!`;2jV%fB{TH@~97oXkHRO0&FgL9M^aN<3v5k|=s1Jm;P z_~rpk7iK8-0hcWHiy)T84LfUz<*37c$is4PVuxq32szvfL7adaE<=#EWzDDICJwoY zOPr;Xilk~>qmm-vs%LQGb-vM>v?!x9G6lHfBM+2}{1Rt(cY44>OU7h{djaKkTS?xu9%v*PJ86N58?=++H`^X6^(GlDCP@O|jJrJKP?0d!S$ zAzg&v6_=1YEt_RRNRwPJ>wI8~k?ljR(8@&k)1c69x8UBckfeEg0!LU_P3Y@_;Fs26 zeL-Pq@${ozAwMR<i`uOKd*F>=7AxVQaA9u|)gv z+QVg(5nG8iyK*55!``0|Jf+9H>3&2qa7Ho7N3j@3v1xn8M@DhgM{#q)VhB-)q$qZI zfQT1e5$Lm2K`&e%E&4WE>_@aX=U$AYe2kQFjEsAXTvCieeT>rE808-^XwFzw`B?RZ z=q?8;t)y6;!dR?0EVevW9}m}%k25fiGjxwTUVoQ7$>y6@C>8_v)u&pQyUS4#Fgd#U8 z947EHMRFnjRyJo+5sdcJ3V2g6rON$QbYgI>JWOl_++LqT598d^PmFU*JdUR72SFZ+ z%Nsg-bpBu^66pFOgSz$@VE7<#69ROpk8XlW;B}$LP(25d6|@Zk4d|0g^rcHMq^-=I z9CS~=;&|i)Asx(1JE2VrM!T=sq;C{*q_RS0PlG@vx?qJ2JoeI5H{^9>#`Ee7IQ5lF z$1+PVK4fiRWs-hKws`gsHK$ErCZ|p&uL1}6rF4WxRz!>Y`J7DAMHfM??84eCDQY8e zkL=o2m6LIa`3|L7Ok9qRg0wEzd873l6H2oS z3c0)x7d=;lbGI&kgy!C2by0ZcD)u~=IGG!h;BI{^Ps29PLc!%(+Ws(!IUcpfiAUY`T!YV|s0)-8+|GNLunXsTQhJ1H6!Vi_PBM;e4?4IXq z7P(bZm$Xw~uB3M5X()cxUtD_BxPUr8%A>@uqsYcG|G5cIFPEFSN1ow&ZsK>-w5^hd z9*+j2vS)&|W<5&%VoMjPwU*zN`mB|%6rEmGD049=+t4|^nOx>jUAFUFb8oB6mZcng zTN7$pZth$T6FC#uP+pf)PFI|@%UY55rktfwhrzQ#C$@qsM4fxIf@7@$v3-(Hv69+0 zTX6Ku(UeM6+lC6!Z7q@Q$}@|Vk||merd5OLRdS7`3XN5t-&I8~<_IiSp+YJJSsz77 zSF4}Nm0Eh#-B5i9IOftkrdp~ruDx%qkZUkIs44_q@B-Y}}wJ$nbM49|58QiKc+} z_Vb822XtL_c76b`3lQa%Pid>D>K>qVf#L>0)CKtQP0fU79o+yz9=LG>2>E@iFmMn4 z2|3-~{zsg6SUHFpn5kO90oXGtVKXEHK$T_Z5cAXen$eDBMQO$soab)~Kg^1Q;vEIL zp@Qe~;PsWcJqhABp7(BMWWr1zV?=ka|YA9y?Mn^3ruNgN@ zlnA*mB^_MsN1re`h(-)yq{}|}x|0rO_S;`h4-zc`iu_!lL;Jve78b<8L;90hDkrb@ z=L7rABK{2`2A&+iB0hL{2NjFI2ATe|Pw^jA8vmJpg7t!qkOtc(Kr{diRaefO44|RX z(78>BXFa227E*315YN^OKTKr^wJD#_isoQWZ^ukt2QiA@z@b4Z=7A|}8OQ+7+}m_DXY}p3tx= zmXd2+Qg8GA1g3_bOTWu=SY)h$g-od$J)uGYxkoHLJc4NRh2U9FyhjsS{JS2g7^c}8 zpoVfW^0@Fqw%m7l1?*}9R}`vk2J>h>t8*T(JNI$2b>KOWEJ)(N4@d* zfoz^7utT{L6^0h{vFspmeFt;wr4Y_41&$0f_-&cmGhuX}`J>C#bhMz1c{BzGgHAZ9 zGpMMLHM1XsX{~_D0fG82cpqRa@F`Gfo598%zgA;L0;EO*fK*yz0FWBC4@h0V4g<SbbypP5uR|@XI$>rpen$l zod!>X5I|>_v}ybekNa<6-2c1u-sXeHZQcT+gA1E=iDR&SaDEws75%JdzF-k90NTsf z5z0X2v^;;_9E9VdbeS=_(4rm7%Nlue;p4m@Rha)lRE@%tqE^fgmjo_4P;=aW8nbc-GMB}Z4Ku20iH90%4JPXaz-QIsGh3s z4z*V*px#mt+hW z)I|Pi4A@Vqvq4q>lLE)T;dwUx<$2Omb0-2YbS(I=j)9i=R68EdYSc6W?3fXh5V=U0 z(+w>MzapQMu{Z`CE6iGHFtK_|Cs@RIxVpYFyE{#Z7RR#4Xx$e~&MCHoXAm5SU8G$B)f+G)+LhR^SKPISv8~SIPnjHkJKS9VkknCsqH#{%f zUxo#8Itm^sYs92#0NoL$I|cfD8hB=YlfliEEOi>5BNt%x4ytOt)Z|x#FqN%nh`0q) zlm0g$z1p02%!(1y+s;?LI7qh5@Ff4w_UY!~gm6_V<55$O2#s_;-A~ z3P7w-zzzb0x4^Uv>TbYW?GL9_@T!ZPR1ao6ab3N@F1fVO<(ao zDtx^daG>zS?gp>en%3Ta+UoDQf*Y&5|7E~iM7rQYqX+S7^Ah`tc|$-hPyF^}$Mz1- zZ%l>^zrfbOd%p`R0Aaw^|I&L8B+CJ7?!GQ)?!Xmv;0Ib;`~LS@AfN@$N=nK8SIIU( z_yqcIlWp!27;LoEy~X$4Rr#+-M?5=DbjyoOtr(Kdr|@;YS_s!Os>ek`#rw&&i;D)O z2MXLfhGo}Y{7kk<)A0D8*-y3=XR*r3mVJ1NfzVLYU&aPJ+1L3PIarW$Fvya~wznQd zuo^{r?e{>eEDgn5(DS4o$n3l{4ikkAj527&S+WYmZ~hCZMN@?)Ry?(n2}`};{D(s%Qd-R;e9OCMf6 zeF|8VD3B8vD4X>J7A9CQfrA4*5MKsOYKQ~W!pdhPgQCO?3L~?7f5c#?qIk)eBVOc}!*ubA%X8hZYJ}?ofv;MgxWga_}ip>y{3_;@`=( ze>e{7t84#v$+quG`sklCXuzjN7IF{pj%fW$pPGZu%RggX0S@i3nf*_VI0k})G4sLA zCo)>sQ27rdZFwRyAM93tqQU(S*0~wT@yo)IofoOp| zcKAaaJ=XKPbGWbDpuARxc9pnMAIh%AhUENwgFLSLYDbgtjk(@*W?aBX(mk7g>cfF& zPjXG#JTDWX_gb!#R(Tg~mtFe8Sm4Y13aiT$bn;G)W51Lx6eOsD3d9)rB09c5+{ef+ z%)*9bVHaZO65-?)JHm(hFQEpyXH9|0K42on#MJsvq5+Ko_V-vHaA5@o`T~NYLc`)C zA`^juK46+JIVJn|KwnXDWoc=3c|~nibpsG@XliPC^0d9BrLzr)4tMqd>EYfN{Rg9b zfS7z}Xk;Iv@>kP*2kexM4S=2U{}{{Q_dOBVt^ugQyu~v=YB89w*}Mffl#P``XAObr zVgRcOia`;P*_!@5Cw;g%23pCvr0u=nN#JMxlyvIv^}EGyb|MskF+GMX%hOm21@NRJ zA)hir<)i?sb{{_(7LM8DPW)Pc<^ex|c}c{PlY@`=iA(EDKBK3Dbl9^Xc>~ZKG=|g$ z*o;7QBbSD4ka$iIuwC!cQK2K%0;1$uugiUv@F(||rk?MEsdTh5(N#-IIVMh0lFP6# zkx76$+nLGbdb`MOwENO3D^u_?X14gzNoy{SKk7U21^eKECsHz1?(Xyx*Fz^tQ_WW+ zddQU@a$NCP_kZJi(W)S=vHf#%;o)lubng}1=4O*_3(y%gyM0*cgq-6c%6e_jvHtcU z90rN1LCym^0pdTIM*Wu;?4PR@m>mf{|8vdagJb?@+5TRnfBpb0SVb7OTsg2{#eoGY z=YR`k2No<~G1FoM9}(1n_D#Z0hr!9XzrrMMo(8drjnqYD-wccZ85Y#75XkV{$B(tL zz|6Hstc*~7Ij5PIbQEsXUmY>l{n^@4tIoCt2w>$xHFxD!U{Nt(Zy20Uykih6222I2 z_$_JTSgu3gBG5O_$3TwuG9YiL^go4;Rian2Z%jUQeMQH@nAydMjZhR6lf=viz@t!V zY@0FGlyD&#SC-~h+)Ii^7BIHBjNIu1Qv3c z!4cleJq|3`^8!{wc>jfWzWZY%{Ez@n5K+Xeiiy z)alD0mXD94zelbtii}#`x=yFAlJcPeDx>R6LlGq_d%+a4&$s;cO9os0b@Ns-;{m^O zcYM;={czlM5q=EizLhsv$mK>RBz%EgSVe)IM=OW4U==1fn%-2Xe;zw^gl<@IKyiF^ zS~29@IiD=|g%5A(rSu#;cAkG>pR)Q%S)&BRf1)}N4GB{#-md?u&urlJ)uCaFH*cg7 zS5`b$S3N7o*Lr#%ZEj+I{J?E*`|j-c?e6;T>uvBvVi=JaP9#R|dv0Qh#CRexkw{D? z5>tu9heTo~k(f&)=98Q^#7ZKuhDdAx<|2v2W+D-|ZnhAKZA9WTBJnwq_>xE*AQA_O zL_i`nMkIb95~ue)sEb76=Z)<>BJn$s2sChZiT`(8zke>WKYs@HNUDFPXy8;*soq6@ zSiuKod|e}Fzc2Kc!O24XGckuzIO@aC+wg4Zzl#R?+4ixmHwrElpUlzvJvjNe-mhb* zO4UY`v*+jFq`y4$(UnZK*~NqFk6yz2!%8=fPaIU#-4HBQexC+{2I?w5_9UYCr7;

RwkHtN0M?KGNs)V_(n!z4bHvAC-(Bnmfug~w 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 V%gp3uC3wu-%gwLn1VC?8{|~!))KCBb literal 33455 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 diff --git a/assets/dropdown-typeahead-search.png b/assets/dropdown-typeahead-search.png deleted file mode 100644 index d92593e5f0c7ba64b85182faeaa5f9346c36a830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13862 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 diff --git a/assets/dropdown-typeahead-selectable.png b/assets/dropdown-typeahead-selectable.png index d6ef30780689cebdf749daf5dd543aa545757e9b..d619cbc9dbbc123e4bcaf5169c59df8290dc148a 100644 GIT binary patch literal 40865 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 z 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 literal 23078 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 bA*j|$y61IWt6C5UNAp829tSF%PG9~X^X8j= From 7349ba7f5c740ee020d23de008a214ccd4daebb1 Mon Sep 17 00:00:00 2001 From: Paul McDoyen Date: Tue, 18 Dec 2018 11:56:22 +0300 Subject: [PATCH 89/89] Refactor code --- package-lock.json | 162 ++++++++---------- package.json | 23 ++- .../DropdownReference.webmodeler.ts | 3 +- .../components/DropdownReference.ts | 40 +++-- .../components/DropdownReferenceContainer.ts | 38 ++-- .../__tests__/DropdownReference.spec.ts | 7 +- .../DropdownReferenceSet.webmodeler.ts | 3 +- .../components/DropdownReferenceSet.ts | 34 ++-- .../DropdownReferenceSetContainer.ts | 23 +-- src/SharedResources/components/Label.ts | 16 +- .../components/__tests__/Label.spec.ts | 10 +- src/SharedResources/ui/Dropdown.scss | 13 +- src/SharedResources/utils/ContainerUtils.ts | 2 +- src/SharedResources/utils/Data.ts | 17 +- webpack.config.js | 2 + 15 files changed, 204 insertions(+), 189 deletions(-) diff --git a/package-lock.json b/package-lock.json index b398ef5..1e791e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,9 +60,9 @@ } }, "@types/jasmine": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.1.tgz", - "integrity": "sha512-JnKB+cEIFuQZXizZP6N0zxma+JlvowkjefWuL61otVmXN7Ebbs4ka3IbDVIz1pc+TCiT00q925jANz3gQJ9qXw==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.4.tgz", + "integrity": "sha512-543S+ZCJfN4jKWzRkptbJqTY2vc4h7+lPVqU2hXb1XFofDcUxNANAimdZPYaH6/yhezVAsNeujoZjAFU06bfmA==", "dev": true }, "@types/karma": { @@ -1963,9 +1963,9 @@ } }, "core-js": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", - "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==", "dev": true }, "core-util-is": { @@ -2090,9 +2090,9 @@ } }, "css-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.0.0.tgz", - "integrity": "sha512-3Fq8HJYs7ruBiDpJA/w2ZROtivA769ePuH3/vgPdOB+FQiotErJ7VJYRZq86SPRVFaccn1wEktUnaaUyf+Uslw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.0.1.tgz", + "integrity": "sha512-XIVwoIOzSFRVsafOKa060GJ/A70c0IP/C1oVPHEX4eHIFF39z0Jl7j8Kua1SUTiqWDupUnbY3/yQx9r7EUB35w==", "dev": true, "requires": { "icss-utils": "^4.0.0", @@ -4446,14 +4446,6 @@ "requires": { "min-document": "^2.19.0", "process": "~0.5.1" - }, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "dev": true - } } }, "global-modules": { @@ -6203,9 +6195,9 @@ } }, "karma": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.3.tgz", - "integrity": "sha512-JU4FYUtFEGsLZd6ZJzLrivcPj0TkteBiIRDcXWFsltPMGgZMDtby/MIzNOzgyZv/9dahs9vHpSxerC/ZfeX9Qw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.4.tgz", + "integrity": "sha512-31Vo8Qr5glN+dZEVIpnPCxEGleqE0EY6CtC2X9TagRV3rRQ3SNrvfhddICkJgUK3AgqpeKSZau03QumTGhGoSw==", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -6239,9 +6231,9 @@ }, "dependencies": { "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", "dev": true }, "source-map": { @@ -7558,6 +7550,12 @@ "isarray": "^1.0.0" } }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -8412,9 +8410,9 @@ "dev": true }, "postcss": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz", - "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.7.tgz", + "integrity": "sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -8591,9 +8589,9 @@ "dev": true }, "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", "dev": true }, "process-nextick-args": { @@ -8842,51 +8840,27 @@ } }, "react": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", - "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.7.0.tgz", + "integrity": "sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.11.2" - }, - "dependencies": { - "scheduler": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", - "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } + "scheduler": "^0.12.0" } }, "react-dom": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz", - "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==", + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.7.0.tgz", + "integrity": "sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.11.2" - }, - "dependencies": { - "scheduler": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", - "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } + "scheduler": "^0.12.0" } }, "react-fastclick": { @@ -8895,9 +8869,9 @@ "integrity": "sha1-KZTGAIjNqQsLLL+sS258a8c9ajo=" }, "react-hot-loader": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.6.0.tgz", - "integrity": "sha512-ytmtbJB0RlTUqa9HnpVsoZiZ6iRsTzu+O2WovKT++f+tDYOTNZYa7OesVAE+R90e/1w/OJO4G/tw4rNSMYCjFw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.6.3.tgz", + "integrity": "sha512-FUvRO8dwbeLnc3mgLn8ARuSh8NnLBYJyiRjFn+grY/5GupSyPqv0U7ixgwXro77hwDplhm8z9wU7FlJ8kZqiAQ==", "dev": true, "requires": { "fast-levenshtein": "^2.0.6", @@ -8950,21 +8924,21 @@ } }, "react-test-renderer": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.3.tgz", - "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.7.0.tgz", + "integrity": "sha512-tFbhSjknSQ6+ttzmuGdv+SjQfmvGcq3PFKyPItohwhhOBmRoTf1We3Mlt3rJtIn85mjPXOkKV+TaKK4irvk9Yg==", "dev": true, "requires": { "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "react-is": "^16.6.3", - "scheduler": "^0.11.2" + "react-is": "^16.7.0", + "scheduler": "^0.12.0" }, "dependencies": { "react-is": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.3.tgz", - "integrity": "sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==", + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", + "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==", "dev": true } } @@ -9515,9 +9489,9 @@ "dev": true }, "scheduler": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", - "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz", + "integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -10697,9 +10671,9 @@ } }, "terser": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.11.0.tgz", - "integrity": "sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.13.1.tgz", + "integrity": "sha512-ogyZye4DFqOtMzT92Y3Nxxw8OvXmL39HOALro4fc+EUYFFF9G/kk0znkvwMz6PPYgBtdKAodh3FPR70eugdaQA==", "dev": true, "requires": { "commander": "~2.17.1", @@ -11056,9 +11030,9 @@ "dev": true }, "ts-loader": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.1.tgz", - "integrity": "sha512-fDDgpBH3SR8xlt2MasLdz3Yy611PQ/UY/KGyo7TgXhTRU/6sS8uGG0nJYnU1OdFBNKcoYbId1UTNaAOUn+i41g==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.2.tgz", + "integrity": "sha512-TPeXFkdPjOrVEawY4xUgRnzlHEmKQF1DclJghPGq67jKnroVvs6mEGHWYtbUczgeWTvTaqUjSSaMmp1k5do4vw==", "dev": true, "requires": { "chalk": "^2.3.0", @@ -11106,9 +11080,9 @@ "dev": true }, "tslint": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", - "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", + "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -11146,18 +11120,18 @@ } }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", + "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -11878,9 +11852,9 @@ } }, "webpack": { - "version": "4.27.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.27.1.tgz", - "integrity": "sha512-WArHiLvHrlfyRM8i7f+2SFbr/XbQ0bXqTkPF8JpHOzub5482Y3wx7rEO8stuLGOKOgZJcqcisLhD7LrM/+fVMw==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.1.tgz", + "integrity": "sha512-qAS7BFyS5iuOZzGJxyDXmEI289h7tVNtJ5XMxf6Tz55J2riOyH42uaEsWF0F32TRaI+54SmI6qRgHM3GzsZ+sQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.7.11", diff --git a/package.json b/package.json index 0135870..31a9037 100644 --- a/package.json +++ b/package.json @@ -43,17 +43,16 @@ "@types/core-js": "^2.5.0", "@types/enzyme": "^3.1.15", "@types/enzyme-adapter-react-16": "^1.0.2", - "@types/jasmine": "^3.3.1", + "@types/jasmine": "^3.3.4", "@types/karma": "^3.0.1", - "@types/node": "^10.12.15", "@types/react": "^16.7.17", "@types/react-dom": "^16.0.11", "@types/react-select": "^1.3.0", "@types/webdriverio": "^4.13.0", "check-dependencies": "^1.0.1", "copy-webpack-plugin": "^4.6.0", - "core-js": "^2.6.0", - "css-loader": "^2.0.0", + "core-js": "^2.6.1", + "css-loader": "^2.0.1", "enzyme": "^3.8.0", "enzyme-adapter-react-16": "^1.7.1", "extract-text-webpack-plugin": "^4.0.0-beta.0", @@ -70,7 +69,7 @@ "istanbul": "^0.4.3", "istanbul-instrumenter-loader": "^3.0.1", "jasmine": "^3.3.1", - "karma": "^3.1.3", + "karma": "^3.1.4", "karma-chrome-launcher": "^2.1.1", "karma-coverage": "^1.1.2", "karma-jasmine": "^2.0.1", @@ -84,17 +83,17 @@ "node-sass": "^4.11.0", "pre-commit": "^1.2.2", "raw-loader": "^1.0.0", - "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-hot-loader": "^4.6.0", - "react-test-renderer": "^16.6.3", + "react": "^16.7.0", + "react-dom": "^16.7.0", + "react-hot-loader": "^4.6.3", + "react-test-renderer": "^16.7.0", "remap-istanbul": "^0.12.0", "sass-loader": "^7.0.3", "serviceworker-webpack-plugin": "^1.0.0-alpha02", "source-map-loader": "^0.2.4", "style-loader": "^0.23.1", - "ts-loader": "^5.3.1", - "tslint": "^5.11.0", + "ts-loader": "^5.3.2", + "tslint": "^5.12.0", "tslint-eslint-rules": "^5.4.0", "typescript": "^3.2.2", "wdio-dot-reporter": "0.0.10", @@ -102,7 +101,7 @@ "wdio-selenium-standalone-service": "0.0.12", "wdio-spec-reporter": "^0.1.3", "webdriverio": "^4.14.1", - "webpack": "^4.27.1", + "webpack": "^4.28.1", "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.10", diff --git a/src/DropdownReference/DropdownReference.webmodeler.ts b/src/DropdownReference/DropdownReference.webmodeler.ts index 9999572..cea8055 100644 --- a/src/DropdownReference/DropdownReference.webmodeler.ts +++ b/src/DropdownReference/DropdownReference.webmodeler.ts @@ -53,7 +53,8 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("react-select/dist/react-select.css") + require("../SharedResources/ui/Dropdown.scss") + require("react-select/dist/react-select.css") + + require("../SharedResources/ui/Dropdown.scss") ); } diff --git a/src/DropdownReference/components/DropdownReference.ts b/src/DropdownReference/components/DropdownReference.ts index ad9a1f9..c0d4463 100644 --- a/src/DropdownReference/components/DropdownReference.ts +++ b/src/DropdownReference/components/DropdownReference.ts @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component, ReactNode, createElement } from "react"; import * as classNames from "classnames"; import Select, { Async } from "react-select"; @@ -10,39 +10,37 @@ import "react-select/dist/react-select.css"; import "../../SharedResources/ui/Dropdown.scss"; export class DropdownReference extends Component { - render() { + render(): ReactNode { return this.props.showLabel ? createElement(Label, { - className: this.props.className, - label: this.props.labelCaption, + class: this.props.className, + caption: this.props.labelCaption, orientation: this.props.labelOrientation, style: this.props.styleObject, - weight: this.props.labelWidth - }, this.renderSelector()) + width: this.props.labelWidth + }, this.renderSelector(true)) : this.renderSelector(); } componentDidMount() { const scrollContainer = document.querySelector(".mx-window-body"); if (scrollContainer && this.props.location === "popup") { - (document.getElementsByClassName("widget-dropdown-reference")[0] as HTMLElement).style.overflow = "hidden"; - scrollContainer.addEventListener("scroll", () => { hideDropDown(); }); + scrollContainer.addEventListener("scroll", hideDropDown); } } componentWillUnmount() { const scrollContainer = document.querySelector(".mx-window-body"); if (scrollContainer && this.props.location === "popup") { - (document.getElementsByClassName("widget-dropdown-reference")[0] as HTMLElement).style.overflow = "hidden"; - scrollContainer.removeEventListener("scroll", () => { hideDropDown(); }); + scrollContainer.removeEventListener("scroll", hideDropDown); } } - private renderSelector() { + private renderSelector(hasLabel = false) { const commonProps = { clearable: this.props.isClearable, disabled: this.props.isReadOnly, - onChange: this.props.handleOnchange as () => void, + onChange: this.props.handleOnchange, ...this.createSelectorProp() }; @@ -50,8 +48,16 @@ export class DropdownReference extends Component { const loadOptions = (input?: string) => (this.props.asyncData as (input?: string) => Promise<{}>)(input); return createElement("div", { - className: "widget-dropdown-reference", - onClick: this.setDropdownSize + className: classNames( + "widget-dropdown-reference", + !hasLabel ? this.props.className : undefined, + { + "popup-fix": this.props.location === "popup", + "has-error": this.props.alertMessage + } + ), + onClick: this.setDropdownSize, + style: !hasLabel ? this.props.styleObject : undefined }, this.props.selectType === "normal" ? createElement(Select, { @@ -63,7 +69,7 @@ export class DropdownReference extends Component { loadOptions: debounce(loadOptions, 200), ...commonProps }), - createElement(Alert, { className: "widget-dropdown-reference-alert" }, this.props.alertMessage) + createElement(Alert, { className: classNames("widget-dropdown-reference-alert") }, this.props.alertMessage) ); } else { return createElement("p", { className: classNames("form-control-static", "read-only-text") }, @@ -73,10 +79,10 @@ export class DropdownReference extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); - const dropdownElement = dropdown[0] as HTMLElement; + const dropdownElement = dropdown[0] as HTMLElement; // We pick the first element because only one dropdown can be opened at a time if (dropdownElement && dropdownElement.style.visibility !== "visible" && this.props.location === "popup") { dropdownElement.style.visibility = "hidden"; - const dropdownDimensions = dropdown[0].getBoundingClientRect(); + const dropdownDimensions = dropdownElement.getBoundingClientRect(); if (dropdownDimensions) { dropdownElement.style.width = dropdownDimensions.width - .08 + "px"; dropdownElement.style.left = dropdownDimensions.left + "px"; diff --git a/src/DropdownReference/components/DropdownReferenceContainer.ts b/src/DropdownReference/components/DropdownReferenceContainer.ts index 8230984..e98e7cc 100644 --- a/src/DropdownReference/components/DropdownReferenceContainer.ts +++ b/src/DropdownReference/components/DropdownReferenceContainer.ts @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component, ReactNode, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; @@ -45,15 +45,16 @@ class DropdownReferenceContainer extends Component { + private isReadOnly(): boolean { const { editable, mxObject, readOnly } = this.props; return editable !== "default" || !mxObject || readOnly; @@ -136,9 +137,9 @@ class DropdownReferenceContainer extends Component validateProps + })); } } @@ -155,11 +161,12 @@ class DropdownReferenceContainer extends Component { + private onChange(selection: ReferenceOption) { if (this.props.mxObject) { if (!selection) { const references = this.props.mxObject.getReferences(this.association); this.props.mxObject.removeReferences(this.association, references); + this.executeOnChangeAction(); } else { this.props.mxObject.set(this.association, selection.value); if (!this.state.selectedObject || (this.state.selectedObject.value !== selection.value)) { @@ -178,19 +185,22 @@ class DropdownReferenceContainer extends Component window.mx.ui.error(`Error while executing onchange microflow ${onChangeMicroflow}: ${error.message}`) + error: error => { + const detail = error.message ? `: ${error.message}` : ""; + window.mx.ui.error(`Error while executing onchange microflow ${onChangeMicroflow}${detail}`); + } }); } else if (onChangeEvent === "callNanoflow" && onChangeNanoflow.nanoflow) { window.mx.data.callNanoflow({ nanoflow: onChangeNanoflow, origin: mxform, context, - error: error => window.mx.ui.error(`Error while executing onchange nanoflow: ${error.message}`) + error: error => { + const detail = error.message ? `: ${error.message}` : ""; + window.mx.ui.error(`Error while executing onchange nanoflow${detail}`); + } }); } } diff --git a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts index d2fb0e0..4dbe7d4 100644 --- a/src/DropdownReference/components/__tests__/DropdownReference.spec.ts +++ b/src/DropdownReference/components/__tests__/DropdownReference.spec.ts @@ -1,5 +1,6 @@ import { shallow } from "enzyme"; import { createElement } from "react"; +import * as classNames from "classnames"; import Select from "react-select"; import { Label } from "../../../SharedResources/components/Label"; @@ -35,8 +36,8 @@ describe("DropdownReference", () => { const DropdownReferenceComponent = render(ReferenceProps); expect(DropdownReferenceComponent).toBeElement( - createElement(Label, { label: "City" , orientation: "horizontal" , weight: 3 }, - createElement("div", { className: "widget-dropdown-reference", onClick: jasmine.any(Function) }, + createElement(Label, { caption: "City" , orientation: "horizontal" , width: 3 }, + createElement("div", { className: classNames("widget-dropdown-reference", "has-error"), onClick: jasmine.any(Function) }, createElement(Select, { clearable: true, noResultsText: "No results found", @@ -56,7 +57,7 @@ describe("DropdownReference", () => { DropdownReferenceComponent.setProps({ labelCaption: "", showLabel: false }); expect(DropdownReferenceComponent).toBeElement( - createElement("div", { className: "widget-dropdown-reference", onClick: jasmine.any(Function) }, + createElement("div", { className: classNames("widget-dropdown-reference", "has-error"), onClick: jasmine.any(Function) }, createElement(Select, { clearable: true, noResultsText: "No results found", diff --git a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts index 0f8d1a9..9882d86 100644 --- a/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts +++ b/src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts @@ -53,7 +53,8 @@ export class preview extends Component { export function getPreviewCss() { return ( - require("react-select/dist/react-select.css") + require("../SharedResources/ui/Dropdown.scss") + require("react-select/dist/react-select.css") + + require("../SharedResources/ui/Dropdown.scss") ); } diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts index a82588a..82ccabc 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSet.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSet.ts @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component, ReactNode, createElement } from "react"; import Select, { Async } from "react-select"; import * as classNames from "classnames"; @@ -15,35 +15,33 @@ export interface ReferenceOption { } export class DropdownReferenceSet extends Component { - render() { + render(): ReactNode { return this.props.showLabel ? createElement(Label, { - className: this.props.className, - label: this.props.labelCaption, + class: this.props.className, + caption: this.props.labelCaption, orientation: this.props.labelOrientation, style: this.props.styleObject, - weight: this.props.labelWidth - }, this.renderSelector()) + width: this.props.labelWidth + }, this.renderSelector(true)) : this.renderSelector(); } componentDidMount() { const scrollContainer = document.querySelector(".mx-window-body"); if (scrollContainer && this.props.location === "popup") { - (document.getElementsByClassName("widget-dropdown-reference-set")[0] as HTMLElement).style.overflow = "hidden"; - scrollContainer.addEventListener("scroll", () => { hideDropDown(); }); + scrollContainer.addEventListener("scroll", hideDropDown); } } componentWillUnmount() { const scrollContainer = document.querySelector(".mx-window-body"); if (scrollContainer && this.props.location === "popup") { - (document.getElementsByClassName("widget-dropdown-reference-set")[0] as HTMLElement).style.overflow = "hidden"; - scrollContainer.removeEventListener("scroll", () => { hideDropDown(); }); + scrollContainer.removeEventListener("scroll", hideDropDown); } } - private renderSelector() { + private renderSelector(hasLabel = false) { const commonProps = { clearable: this.props.isClearable, multi: true, @@ -57,7 +55,15 @@ export class DropdownReferenceSet extends Component { const loadOptions = (input?: string) => (this.props.asyncData as (input?: string) => Promise<{}>)(input); return createElement("div", { - className: "widget-dropdown-reference-set", + className: classNames( + "widget-dropdown-reference-set", + !hasLabel ? this.props.className : undefined, + { + "popup-fix": this.props.location === "popup", + "has-error": this.props.alertMessage + } + ), + style: !hasLabel ? this.props.styleObject : undefined, onClick: this.setDropdownSize }, this.props.selectType === "normal" @@ -91,10 +97,10 @@ export class DropdownReferenceSet extends Component { private setDropdownSize = () => { const dropdown = document.getElementsByClassName("Select-menu-outer"); - const dropdownElement = dropdown[0] as HTMLElement; + const dropdownElement = dropdown[0] as HTMLElement; // We pick the first element because only one dropdown can be opened at a time if (dropdownElement && dropdownElement.style.visibility !== "visible" && this.props.location === "popup") { dropdownElement.style.visibility = "hidden"; - const dropdownDimensions = dropdown[0].getBoundingClientRect(); + const dropdownDimensions = dropdownElement.getBoundingClientRect(); if (dropdownDimensions) { dropdownElement.style.width = dropdownDimensions.width - .08 + "px"; dropdownElement.style.left = dropdownDimensions.left + "px"; diff --git a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts index 0f25ca0..540ee28 100644 --- a/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts +++ b/src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts @@ -1,4 +1,4 @@ -import { Component, createElement } from "react"; +import { Component, ReactNode, createElement } from "react"; import * as initializeReactFastclick from "react-fastclick"; import { hot } from "react-hot-loader"; @@ -45,15 +45,16 @@ class DropdownReferenceSetContainer extends Component { + private isReadOnly(): boolean { const { editable, mxObject, readOnly } = this.props; return editable !== "default" || !mxObject || readOnly; @@ -126,10 +127,15 @@ class DropdownReferenceSetContainer extends Component validateProps + })); } } - private onChange = (recentSelection: ReferenceOption[] | any) => { + private onChange(recentSelection: ReferenceOption[] | any) { if (this.props.mxObject) { const selectedOptions: string[] = []; @@ -184,10 +190,7 @@ class DropdownReferenceSetContainer extends Component window.mx.ui.error(`Error while executing microflow ${onChangeMicroflow}: ${error.message}`) }); diff --git a/src/SharedResources/components/Label.ts b/src/SharedResources/components/Label.ts index 9670346..a5e4fda 100644 --- a/src/SharedResources/components/Label.ts +++ b/src/SharedResources/components/Label.ts @@ -1,24 +1,24 @@ -import { FunctionComponent, createElement } from "react"; +import { CSSProperties, FunctionComponent, createElement } from "react"; import * as classNames from "classnames"; export interface LabelProps { - className?: string; - label: string; - weight: number; - style?: object; + class?: string; + caption: string; + width: number; + style?: CSSProperties; orientation?: "horizontal" | "vertical"; } -export const Label: FunctionComponent = ({ children, className, label, style, weight, orientation }) => { +export const Label: FunctionComponent = ({ children, class: className, caption: label, style, width: weight, orientation }) => { weight = (weight > 11 || weight < 1) ? 3 : weight; const labelWeight = orientation === "horizontal" ? `col-sm-${weight}` : ""; const childrenWeight = orientation === "horizontal" ? `col-sm-${12 - weight}` : ""; return createElement("div", { className: classNames("form-group", className), style }, - createElement("label", { className: `control-label ${labelWeight}` }, label), + createElement("label", { className: classNames("control-label", labelWeight) }, label), createElement("div", { className: `${childrenWeight}` }, children) ); }; -Label.defaultProps = { weight: 3 }; +Label.defaultProps = { width: 3 }; Label.displayName = "Label"; diff --git a/src/SharedResources/components/__tests__/Label.spec.ts b/src/SharedResources/components/__tests__/Label.spec.ts index 98a98de..306f1b8 100644 --- a/src/SharedResources/components/__tests__/Label.spec.ts +++ b/src/SharedResources/components/__tests__/Label.spec.ts @@ -8,7 +8,7 @@ describe("Label", () => { const label = "Label"; it("renders the structure correctly", () => { - const labelComponent = renderLabel({ label, orientation: "horizontal" }); + const labelComponent = renderLabel({ caption: label, orientation: "horizontal" }); expect(labelComponent).toBeElement( createElement("div", { className: "form-group" }, @@ -19,7 +19,7 @@ describe("Label", () => { }); it("with orientation as vertical renders with the structure", () => { - const labelComponent = renderLabel({ label, orientation: "vertical" }); + const labelComponent = renderLabel({ caption: label, orientation: "vertical" }); expect(labelComponent).toBeElement( createElement("div", { className: "form-group" }, @@ -30,7 +30,7 @@ describe("Label", () => { }); it("renders a label with the specified weight class", () => { - const labelComponent = renderLabel({ label, orientation: "horizontal", weight: 3 }); + const labelComponent = renderLabel({ caption: label, orientation: "horizontal", width: 3 }); const colorLabel = labelComponent.childAt(0); expect(colorLabel).toHaveClass("col-sm-3"); @@ -38,14 +38,14 @@ describe("Label", () => { it("renders the labeled element's wrapper with the calculated weight class", () => { const weight = 3; - const labelComponent = renderLabel({ label, orientation: "horizontal", weight }); + const labelComponent = renderLabel({ caption: label, orientation: "horizontal", width: weight }); const childrenWrapper = labelComponent.childAt(1); expect(childrenWrapper).toHaveClass(`col-sm-${12 - weight}`); }); it("renders a label with calculated weight when specified value is greater than 11", () => { - const labelComponent = renderLabel({ label, orientation: "horizontal", weight: 20 }); + const labelComponent = renderLabel({ caption: label, orientation: "horizontal", width: 20 }); const colorLabel = labelComponent.childAt(0); expect(colorLabel).toHaveClass("col-sm-3"); diff --git a/src/SharedResources/ui/Dropdown.scss b/src/SharedResources/ui/Dropdown.scss index acc80e4..f203c5d 100644 --- a/src/SharedResources/ui/Dropdown.scss +++ b/src/SharedResources/ui/Dropdown.scss @@ -1,9 +1,5 @@ @import "variables"; .widget-dropdown-reference, .widget-dropdown-reference-set { - .widget-dropdown-reference-alert { - margin-top: 5px; - } - .Select-arrow { display: none; } @@ -56,6 +52,13 @@ background-image: url("data:image/svg+xml;utf8,"); } } + +.widget-dropdown-reference.has-error, .widget-dropdown-reference-set.has-error { + .Select-control { + border-color: #a94442; + } +} + .widget-dropdown-reference-set { .Select.has-value.is-disabled > .Select-control > .Select-multi-value-wrapper > .Select-value { background-color: $gray-lighter; @@ -65,6 +68,8 @@ } } +.popup-fix { overflow: hidden; } + .form-control-static.read-only-text { min-height: 34px; } diff --git a/src/SharedResources/utils/ContainerUtils.ts b/src/SharedResources/utils/ContainerUtils.ts index 1979ced..ba18584 100644 --- a/src/SharedResources/utils/ContainerUtils.ts +++ b/src/SharedResources/utils/ContainerUtils.ts @@ -32,7 +32,7 @@ export interface DropdownProps { location: string; readOnlyStyle: "control" | "text"; asyncData: (input?: string) => Promise<{}>; - handleOnchange?: (selectedOption: ReferenceOption) => void; + handleOnchange?: (selectedOption: ReferenceOption | any) => void; } export function hideDropDown() { diff --git a/src/SharedResources/utils/Data.ts b/src/SharedResources/utils/Data.ts index e103797..32c3acc 100644 --- a/src/SharedResources/utils/Data.ts +++ b/src/SharedResources/utils/Data.ts @@ -102,7 +102,10 @@ export const fetchByXPath = (options: FetchByXPathOptions): Promise window.mx.data.get({ xpath, callback: resolve, - error: error => reject(`An error occurred while retrieving data via XPath (${xpath}): ${error.message}`), + error: error => { + const detail = error.message ? `: ${error.message}` : ""; + reject(`An error occurred while retrieving data via XPath (${xpath})${detail}`); + }, filter: { attributes, offset: 0, @@ -118,22 +121,26 @@ export const createSortProps = (sortAttributes: AttributeType[] | any) => { export const fetchByMicroflow = (actionname: string, guid: string): Promise => new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by microflow (${actionname}): `; window.mx.ui.action(actionname, { callback: result => resolve(result as MxObject[]), - error: error => reject(`${errorMessage} ${error.message}`), + error: error => { + const detail = error.message ? `: ${error.message}` : ""; + reject(`An error occurred while retrieving data by microflow (${actionname})${detail}`); + }, params: { applyto: "selection", guids: [ guid ] } }); }); export const fetchByNanoflow = (actionname: mx.Nanoflow, mxform: mxui.lib.form._FormBase): Promise => new Promise((resolve, reject) => { - const errorMessage = `An error occurred while retrieving data by nanoflow: `; const context = new mendix.lib.MxContext(); window.mx.data.callNanoflow({ callback: result => resolve(result as MxObject[]), context, - error: error => reject(`${errorMessage} ${error.message}`), + error: error => { + const detail = error.message ? `: ${error.message}` : ""; + reject(`An error occurred while retrieving data by nanoflow${detail}`); + }, nanoflow: actionname, origin: mxform }); diff --git a/webpack.config.js b/webpack.config.js index 6fb83ae..e44bbf7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -8,6 +8,7 @@ const mxHost = process.env.npm_package_config_mendixHost || "http://localhost:80 const developmentPort = process.env.npm_package_config_developmentPort || "3000"; const widgetConfig = { + context: __dirname, entry: { DropdownReference: "./src/DropdownReference/components/DropdownReferenceContainer.ts", DropdownReferenceSet: "./src/DropdownReferenceSet/components/DropdownReferenceSetContainer.ts" @@ -84,6 +85,7 @@ const widgetConfig = { }; const previewConfig = { + context: __dirname, entry: { DropdownReference: "./src/DropdownReference/DropdownReference.webmodeler.ts", DropdownReferenceSet: "./src/DropdownReferenceSet/DropdownReferenceSet.webmodeler.ts",