From 0bf81740e92083300c0cad9344f7d6b8ac290ab1 Mon Sep 17 00:00:00 2001 From: jaebradley Date: Mon, 13 Nov 2017 23:33:17 -0500 Subject: [PATCH] patch(dependencies): update to React 16 and Enzyme 3 fix(tests): fix tests patch(tests): add tempPolyfill test chore(tests): remove unnecessary enzyme adapter setup --- package-lock.json | 990 ++++++++++-------- package.json | 19 +- src/Button/Button.test.jsx | 11 +- src/CheckBox/CheckBox.test.jsx | 38 +- src/Dropdown/Dropdown.test.jsx | 82 +- src/Hyperlink/Hyperlink.stories.jsx | 16 +- src/Modal/Modal.test.jsx | 86 +- .../RadioButtonGroup.stories.jsx | 20 +- src/RadioButtonGroup/index.jsx | 7 +- src/StatusAlert/StatusAlert.test.jsx | 57 +- src/Table/Table.test.jsx | 40 +- src/Table/index.jsx | 11 +- src/Tabs/Tabs.test.jsx | 13 +- src/asInput/asInput.test.jsx | 20 +- src/setupTest.js | 9 + src/tempPolyfills.js | 7 + src/tempPolyfills.test.js | 18 + webpack.config.js | 1 + 18 files changed, 724 insertions(+), 721 deletions(-) create mode 100644 src/setupTest.js create mode 100644 src/tempPolyfills.js create mode 100644 src/tempPolyfills.test.js diff --git a/package-lock.json b/package-lock.json index 5ef993cc24..4e4e0372e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,17 @@ { "name": "@edx/paragon", - "version": "0.2.0", + "version": "1.1.8", "lockfileVersion": 1, "requires": true, "dependencies": { "@edx/edx-bootstrap": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@edx/edx-bootstrap/-/edx-bootstrap-0.4.0.tgz", - "integrity": "sha512-aPO1TXMH9VcwGDxeIu3IKFwvh1bpm2f+ma2+2/gGtn0qW098MQ1e4HcXwHQ5SZQYNSTzQyASMHSkxMIKMaHLVw==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@edx/edx-bootstrap/-/edx-bootstrap-0.4.2.tgz", + "integrity": "sha512-wvt1ZyQC1JHkT3WPmuRz5AafIj6wVGOIPfMRkLjxv1Y6g+vUF/UNCIvZYQ3JiK89UwKdv/BMKeYE0Xe2A894bA==", "requires": { - "bootstrap": "4.0.0-beta.2" + "bootstrap": "4.0.0-beta.2", + "jquery": "3.2.1", + "popper.js": "1.12.9" } }, "@hypnosphi/fuse.js": { @@ -32,13 +34,13 @@ "uuid": "3.1.0" } }, - "@storybook/addon-links": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-3.2.12.tgz", - "integrity": "sha512-8cv5Pcoersdbp3QrYnzp+vXpCut4EIWEVoqkJUDosC4r+qT36nnq3l+Ot7ic9R4f87CdPM/Wjt2qzgTpamoSvA==", + "@storybook/addon-console": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-console/-/addon-console-1.0.0.tgz", + "integrity": "sha1-kxOmXwQ5K1JGmOAc7qpIAfXQeyA=", "dev": true, "requires": { - "@storybook/addons": "3.2.12" + "global": "4.3.2" } }, "@storybook/addon-options": { @@ -68,47 +70,36 @@ "integrity": "sha512-gbbW68MWfDxsht9v9V/rqx6aVZUBw6akwyv45T5+lM23Sy7GfoOQ0jR7eRl+DM4KmA/74P/rIZRu0mznT9IfCg==", "dev": true }, - "@storybook/channel-postmessage": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-3.2.12.tgz", - "integrity": "sha512-IjSI7Mjf/u+Msf8Jm+zlYlTuzYxj2yvcQV/rFkm7fkhmv2UAZTsb5B8Mi3KKN7Lr9d5eRumLCtUBkzkBOcSzSg==", - "dev": true, - "requires": { - "@storybook/channels": "3.2.12", - "global": "4.3.2", - "json-stringify-safe": "5.0.1" - } - }, "@storybook/channels": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.2.12.tgz", "integrity": "sha512-smexrg30+mlXIsS/z/0CN+a3Tn/DePZETnu3G42r8Qdm7PbdRo1oC2pcHAEmIjaukRp5qK+txuDJ6WdOvyVsMw==", "dev": true }, - "@storybook/components": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-3.2.12.tgz", - "integrity": "sha512-vMVrPmXKP7Rh3JfHfN7dAf+MJkjyl0iaU4TePsSZD3esqpkr24H+yw0HiLKBsINPJvFlEGLfDT73urXcb4oPQQ==", + "@storybook/mantra-core": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@storybook/mantra-core/-/mantra-core-1.7.2.tgz", + "integrity": "sha512-GD4OYJ8GsayVhIg306sfgcKDk9j8YfuSKIAWvdB/g7IDlw0pDgueONALVEEE2XWJtCwcsUyDtCYzXFgCBWLEjA==", "dev": true, "requires": { - "glamor": "2.20.40", - "glamorous": "4.9.7", - "prop-types": "15.6.0" + "@storybook/react-komposer": "2.0.3", + "@storybook/react-simple-di": "1.2.1", + "babel-runtime": "6.26.0" } }, "@storybook/react": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-3.2.11.tgz", - "integrity": "sha512-73aup7efGRKKFBwEfyvebuZWaHbCsBQq03l29ke8e7gWiPEcRBBzlkXA0Jkt2LZ63K4ZFSsEiryltaouu6rZIA==", + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-3.2.16.tgz", + "integrity": "sha512-gMS+KrI5u0OTnHYhyLkMLknCQRCyDL3QULXKCYtkUcZ6l2MKvOVSMwwG1VUPWssWtLBvN4Fdx9A+9BxDWLZhpw==", "dev": true, "requires": { - "@storybook/addon-actions": "3.2.12", - "@storybook/addon-links": "3.2.12", - "@storybook/addons": "3.2.12", - "@storybook/channel-postmessage": "3.2.12", - "@storybook/ui": "3.2.12", + "@storybook/addon-actions": "3.2.16", + "@storybook/addon-links": "3.2.16", + "@storybook/addons": "3.2.16", + "@storybook/channel-postmessage": "3.2.16", + "@storybook/ui": "3.2.16", "airbnb-js-shims": "1.3.0", - "autoprefixer": "7.1.5", + "autoprefixer": "7.1.6", "babel-core": "6.26.0", "babel-loader": "7.1.2", "babel-plugin-react-docgen": "1.8.1", @@ -117,20 +108,21 @@ "babel-preset-env": "1.6.1", "babel-preset-minify": "0.2.0", "babel-preset-react": "6.24.1", - "babel-preset-react-app": "3.0.3", + "babel-preset-react-app": "3.1.0", "babel-preset-stage-0": "6.24.1", "babel-runtime": "6.26.0", "case-sensitive-paths-webpack-plugin": "2.1.1", - "chalk": "2.2.0", + "chalk": "2.3.0", "commander": "2.11.0", "common-tags": "1.4.0", "configstore": "3.1.1", + "core-js": "2.5.1", "css-loader": "0.28.7", "express": "4.16.2", - "file-loader": "0.11.2", + "file-loader": "1.1.5", "find-cache-dir": "1.0.0", "glamor": "2.20.40", - "glamorous": "4.9.7", + "glamorous": "4.11.0", "global": "4.3.2", "json-loader": "0.5.7", "json-stringify-safe": "5.0.1", @@ -141,13 +133,12 @@ "postcss-loader": "2.0.8", "prop-types": "15.6.0", "qs": "6.5.1", - "react-modal": "2.4.1", "redux": "3.7.2", "request": "2.83.0", "serve-favicon": "2.4.5", "shelljs": "0.7.8", - "style-loader": "0.17.0", - "url-loader": "0.5.9", + "style-loader": "0.18.2", + "url-loader": "0.6.2", "util-deprecate": "1.0.2", "uuid": "3.1.0", "webpack": "3.8.1", @@ -155,27 +146,269 @@ "webpack-hot-middleware": "2.20.0" }, "dependencies": { + "@storybook/addon-actions": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-3.2.16.tgz", + "integrity": "sha512-TXR/H5lDCtPCmc+/nidvVBiTlGsPHxeJ/LMPuGxq/yF7EvzrfXw+CuEuaPNp5qknSioOLm9GngbozNg8HfBgKg==", + "dev": true, + "requires": { + "@storybook/addons": "3.2.16", + "deep-equal": "1.0.1", + "json-stringify-safe": "5.0.1", + "prop-types": "15.6.0", + "react-inspector": "2.2.1", + "uuid": "3.1.0" + } + }, + "@storybook/addon-links": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-3.2.16.tgz", + "integrity": "sha512-JFs2p7EGRFpwUkg7xV7Vi3h/zBr4UjmprF9YYHR2L5TQFbztlKJPBhiATRSQtgFyNNAo7zNkSf439Rkrb9k7yQ==", + "dev": true, + "requires": { + "@storybook/addons": "3.2.16" + } + }, + "@storybook/addons": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-3.2.16.tgz", + "integrity": "sha512-Dxs0XceqqUSG+vao5uCZdphmCAGlpnwDLV0abjYpPH0eKb2QN5Rs/Vrl0MzuOYGghPv8Y1QfhdB6DFh7AuIoTQ==", + "dev": true + }, + "@storybook/channel-postmessage": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-3.2.16.tgz", + "integrity": "sha512-8D3UeZfb4TarkEp0xMCUxX5rW/m2YghYmlnFDcMCgPhN9R2pRySjxxbCjK+ry0q2hUII4R9Bbck63AUqwcQDow==", + "dev": true, + "requires": { + "@storybook/channels": "3.2.16", + "global": "4.3.2", + "json-stringify-safe": "5.0.1" + } + }, + "@storybook/channels": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.2.16.tgz", + "integrity": "sha512-zjaDE/0yvlLfOcpzeTIWi1K7d873UykUmGLwFSO2hUIM7hlc+QxCeE0MH+OrQYUWC8gcU8pg+IWAk/6qzWAZsA==", + "dev": true + }, + "@storybook/components": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-3.2.16.tgz", + "integrity": "sha512-+bxwsvwa7TPqwxG6ap2hjjrwSg1g8e2ZGijPQDEGpvNfEnLfbZRyQKXRhfCyeAN3DL8F8Bx95AJuWaYKr0pqpA==", + "dev": true, + "requires": { + "glamor": "2.20.40", + "glamorous": "4.11.0", + "prop-types": "15.6.0" + } + }, + "@storybook/react-fuzzy": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@storybook/react-fuzzy/-/react-fuzzy-0.4.3.tgz", + "integrity": "sha512-TaFbDiEc/34eiAFyOjyvrh5tOqoKscyVH2BHJB15cQ8RepccX3LKIBqSNr7IUi1jmMB5aWjeefvJywPQf13ByQ==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.5", + "fuse.js": "3.2.0", + "prop-types": "15.6.0" + } + }, + "@storybook/ui": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-3.2.16.tgz", + "integrity": "sha512-K6DwvT2Oo4GrJkT0ij8EW1GsjX7Sw9U6hDp2II5tnKsV7egnIKgJ6y5xGOZLHNvDDkeo5KS+Ii3GjrUbnZ1QzQ==", + "dev": true, + "requires": { + "@hypnosphi/fuse.js": "3.0.9", + "@storybook/components": "3.2.16", + "@storybook/mantra-core": "1.7.2", + "@storybook/react-fuzzy": "0.4.3", + "@storybook/react-komposer": "2.0.3", + "babel-runtime": "6.26.0", + "deep-equal": "1.0.1", + "events": "1.1.1", + "global": "4.3.2", + "json-stringify-safe": "5.0.1", + "keycode": "2.1.9", + "lodash.debounce": "4.0.8", + "lodash.pick": "4.4.0", + "lodash.sortby": "4.7.0", + "podda": "1.2.2", + "prop-types": "15.6.0", + "qs": "6.5.1", + "react-icons": "2.2.7", + "react-inspector": "2.2.1", + "react-modal": "3.1.2", + "react-split-pane": "0.1.71", + "react-treebeard": "2.0.3", + "redux": "3.7.2" + } + }, + "autoprefixer": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz", + "integrity": "sha512-C9yv/UF3X+eJTi/zvfxuyfxmLibYrntpF3qoJYrMeQwgUJOZrZvpJiMG2FMQ3qnhWtF/be4pYONBBw95ZGe3vA==", + "dev": true, + "requires": { + "browserslist": "2.5.1", + "caniuse-lite": "1.0.30000748", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.13", + "postcss-value-parser": "3.3.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.1.0.tgz", + "integrity": "sha512-tTfZbM9Ecwj3GK50mnPrUpinTwA4xXmDiQGCk/aBYbvl1+X8YqldK86wZ1owVJ4u3mrKbRlXMma80J18qwiaTQ==", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-preset-react-app": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-3.1.0.tgz", + "integrity": "sha512-jEAeVozxLzftLl0iDZ0d5jrmfbo3yogON/eI4AsEDIs8p6WW+t9mDRUsj5l12bqPOLSiVOElCQ3QyGjMcyBiwA==", + "dev": true, + "requires": { + "babel-plugin-dynamic-import-node": "1.1.0", + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-react-constant-elements": "6.23.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-self": "6.22.0", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-plugin-transform-regenerator": "6.26.0", + "babel-plugin-transform-runtime": "6.23.0", + "babel-preset-env": "1.6.1", + "babel-preset-react": "6.24.1" + } + }, + "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.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "core-js": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "dev": true + }, + "glamorous": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/glamorous/-/glamorous-4.11.0.tgz", + "integrity": "sha512-qWRmq5HZ6kGnp09/z3I0L5ZWZF8PX9W90ED8Ndm3ccfaamWRcEURYilk3zA1M1VW1xJlV28+aD2XlwbQF5YlSw==", + "dev": true, + "requires": { + "brcast": "3.0.1", + "fast-memoize": "2.2.8", + "html-tag-names": "1.1.2", + "is-function": "1.0.1", + "is-plain-object": "2.0.4", + "react-html-attributes": "1.4.1", + "svg-tag-names": "1.1.1" + } + }, + "react-inspector": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-2.2.1.tgz", + "integrity": "sha512-aXrxJTfriJtZtv/+A9cFIOpfbt711yCD1Ht3fSn3JyuDaAt1+eLtb01R5d/8gGpyquOVWn/d+eM1VPqFXS7UZA==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "is-dom": "1.0.9" + } + }, + "react-modal": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.1.2.tgz", + "integrity": "sha512-a3L2qP0kaqMBy4C1aojs2caUIz3kHRFlnuWJ8zsnuUmh/fKHEDASujVBiQcatn+yUosdE9hViB6JvLfkB0tN2A==", + "dev": true, + "requires": { + "exenv": "1.2.2", + "prop-types": "15.6.0" + } + }, + "react-split-pane": { + "version": "0.1.71", + "resolved": "https://registry.npmjs.org/react-split-pane/-/react-split-pane-0.1.71.tgz", + "integrity": "sha512-c7aK5ffRyeOySSWVeoSEsQHBUrNtzXTB9TFNUnZv/2EM7HEnN1Rfsgxag/bpDcl5GuaY5IuMvq7XySc6nyokog==", + "dev": true, + "requires": { + "@types/inline-style-prefixer": "3.0.1", + "@types/react": "16.0.24", + "inline-style-prefixer": "3.0.8", + "prop-types": "15.6.0", + "react-style-proptype": "3.0.0" + } + }, "style-loader": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.17.0.tgz", - "integrity": "sha1-6CVLzNt690vVgnTjYQe01atN8xA=", + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", + "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" + } + }, + "url-loader": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", + "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", "dev": true, "requires": { - "loader-utils": "1.1.0" + "loader-utils": "1.1.0", + "mime": "1.4.1", + "schema-utils": "0.3.0" } } } }, - "@storybook/react-fuzzy": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@storybook/react-fuzzy/-/react-fuzzy-0.4.1.tgz", - "integrity": "sha512-UCV8HZ3rzEpn36Tn+Ip0ZqcwQjphIcxmnWDF7MgjBJkCPlSahSzALhS9EH6WLBeCDzajoDynAAUhwqC1EPkhkA==", + "@storybook/react-komposer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@storybook/react-komposer/-/react-komposer-2.0.3.tgz", + "integrity": "sha512-DjL/XwZLNx79Rc1y0dyjxme64eUSJeJvajCN587sVDsVZIgsPlDWwmaohOCkPhR8HNGrY89qoeFZZxFslT203w==", "dev": true, "requires": { + "@storybook/react-stubber": "1.0.1", "babel-runtime": "6.26.0", - "classnames": "2.2.5", - "fuse.js": "3.2.0", - "prop-types": "15.6.0" + "hoist-non-react-statics": "1.2.0", + "lodash.pick": "4.4.0", + "shallowequal": "0.2.2" + } + }, + "@storybook/react-simple-di": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@storybook/react-simple-di/-/react-simple-di-1.2.1.tgz", + "integrity": "sha512-Sj3JU1KpnTIyBWBp+uAZT3PlZ2IVYrxvOOXgpT92Injcmg2KV2ry1GkZen6XuVZqUfU0vz/sK08aP45boErFnw==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "hoist-non-react-statics": "1.2.0" + } + }, + "@storybook/react-stubber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@storybook/react-stubber/-/react-stubber-1.0.1.tgz", + "integrity": "sha512-k+CHH+vA8bQfCmzBTtJsPkITFgD+C/w19KuByZ9WeEvNUFtnDaCqfP+Vp3/OR+3IAfAXYYOWolqPLxNPcEqEjw==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" } }, "@storybook/storybook-deployer": { @@ -189,36 +422,23 @@ "yargs": "8.0.2" } }, - "@storybook/ui": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-3.2.12.tgz", - "integrity": "sha512-g7O+YO92qJiWqgSp1U1q4sSgiobNxRBSWCrlYmRfHAUzEzD4cgYDnlldFWWUvR4zCEOCIG/MbJKtqG4727srNg==", - "dev": true, - "requires": { - "@hypnosphi/fuse.js": "3.0.9", - "@storybook/components": "3.2.12", - "@storybook/react-fuzzy": "0.4.1", - "babel-runtime": "6.26.0", - "deep-equal": "1.0.1", - "events": "1.1.1", - "global": "4.3.2", - "json-stringify-safe": "5.0.1", - "keycode": "2.1.9", - "lodash.debounce": "4.0.8", - "lodash.pick": "4.4.0", - "lodash.sortby": "4.7.0", - "mantra-core": "1.7.0", - "podda": "1.2.2", - "prop-types": "15.6.0", - "qs": "6.5.1", - "react-icons": "2.2.7", - "react-inspector": "2.2.0", - "react-komposer": "2.0.0", - "react-modal": "2.4.1", - "react-split-pane": "0.1.66", - "react-treebeard": "2.0.3", - "redux": "3.7.2" - } + "@types/inline-style-prefixer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/inline-style-prefixer/-/inline-style-prefixer-3.0.1.tgz", + "integrity": "sha512-+kbOcYW1/noncDwRryRoB9tH87IYcMfdBGvw98iocK39LtTA2DFL7agmk4UHW/GxjzVfwrxfjlLrqrgA7MCtmg==", + "dev": true + }, + "@types/node": { + "version": "8.0.53", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.53.tgz", + "integrity": "sha512-54Dm6NwYeiSQmRB1BLXKr5GELi0wFapR1npi8bnZhEcu84d/yQKqnwwXQ56hZ0RUbTG6L5nqDZaN3dgByQXQRQ==", + "dev": true + }, + "@types/react": { + "version": "16.0.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.24.tgz", + "integrity": "sha512-id3ypgsBA9En2Nzx46Gqk2A4DyYHhiykH8Cv2pclOfFh549csxbB5dkX9DrpRKxJ491vuVcWxKusI1tFoNCQYw==", + "dev": true }, "abab": { "version": "1.0.4", @@ -610,20 +830,6 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, - "autoprefixer": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.5.tgz", - "integrity": "sha512-sMN453qIm8Z+tunzYWW+Y490wWkICHhCYm/VohLjjl+N7ARSFuF5au7E6tr7oEbeeXj8mNjpSw2kxjJaO6YCOw==", - "dev": true, - "requires": { - "browserslist": "2.5.1", - "caniuse-lite": "1.0.30000748", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.13", - "postcss-value-parser": "3.3.0" - } - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -1101,17 +1307,6 @@ "babel-runtime": "6.26.0" } }, - "babel-plugin-dynamic-import-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.0.2.tgz", - "integrity": "sha1-rbW8j0iokxFUA5WunwzD7UsQuy4=", - "dev": true, - "requires": { - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, "babel-plugin-istanbul": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", @@ -1841,7 +2036,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "core-js": "2.5.1", @@ -1851,14 +2045,12 @@ "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" }, "regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" } } }, @@ -1964,96 +2156,6 @@ "babel-preset-flow": "6.23.0" } }, - "babel-preset-react-app": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-3.0.3.tgz", - "integrity": "sha512-hK1hPq8xOFxmnNwpsOcQ2wSRAQwNBhDqsMV75gyKYQ7Z39KmTRpMN2Jx6Wp0Mberqd2QEWsUqd9ccP2jfd4z2Q==", - "dev": true, - "requires": { - "babel-plugin-dynamic-import-node": "1.0.2", - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-object-rest-spread": "6.23.0", - "babel-plugin-transform-react-constant-elements": "6.23.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-self": "6.22.0", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-plugin-transform-regenerator": "6.24.1", - "babel-plugin-transform-runtime": "6.23.0", - "babel-preset-env": "1.5.2", - "babel-preset-react": "6.24.1" - }, - "dependencies": { - "babel-plugin-transform-object-rest-spread": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz", - "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", - "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", - "dev": true, - "requires": { - "regenerator-transform": "0.9.11" - } - }, - "babel-preset-env": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.5.2.tgz", - "integrity": "sha1-zUrpCm6Utwn5c3SzPl+LmDVWre8=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "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.0", - "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-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.24.1", - "browserslist": "2.5.1", - "invariant": "2.2.2", - "semver": "5.4.1" - } - }, - "regenerator-transform": { - "version": "0.9.11", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", - "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" - } - } - } - }, "babel-preset-stage-0": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", @@ -2134,7 +2236,6 @@ "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.1", "regenerator-runtime": "0.11.0" @@ -2143,8 +2244,7 @@ "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" } } }, @@ -2646,27 +2746,34 @@ } }, "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "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.2", - "lodash.assignin": "4.2.0", - "lodash.bind": "4.2.1", - "lodash.defaults": "4.2.0", - "lodash.filter": "4.6.0", - "lodash.flatten": "4.4.0", - "lodash.foreach": "4.5.0", - "lodash.map": "4.6.0", - "lodash.merge": "4.6.0", - "lodash.pick": "4.4.0", - "lodash.reduce": "4.6.0", - "lodash.reject": "4.6.0", - "lodash.some": "4.6.0" + "lodash": "4.17.4", + "parse5": "3.0.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "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": "8.0.53" + } + } } }, "chokidar": { @@ -3149,16 +3256,6 @@ "sha.js": "2.4.9" } }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -3703,6 +3800,12 @@ "randombytes": "2.0.5" } }, + "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", @@ -3890,21 +3993,63 @@ "dev": true }, "enzyme": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-2.9.1.tgz", - "integrity": "sha1-B9XOaRJBJA+4F78sSxjW5TAkDfY=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.2.0.tgz", + "integrity": "sha512-l0HcjycivXjB4IXkwuRc1K5z8hzWIVZB2b/Y/H2bao9eFTpBz4ACOwAQf44SgG5Nu3d1jF41LasxDgFWZeeysA==", "dev": true, "requires": { - "cheerio": "0.22.0", + "cheerio": "1.0.0-rc.2", "function.prototype.name": "1.0.3", + "has": "1.0.1", "is-subset": "0.1.1", "lodash": "4.17.4", "object-is": "1.0.1", "object.assign": "4.0.4", "object.entries": "1.0.4", "object.values": "1.0.4", + "raf": "3.4.0", + "rst-selector-parser": "2.2.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + } + } + }, + "enzyme-adapter-react-16": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.0.tgz", + "integrity": "sha512-OlZJn5PJUJ91EOQQRuISZpXgPlqT9fYR2yBZQPu9UYok+wS19Rn4teXywF34LMcyw2AzE1s0ZRDtcI952/vQHg==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "1.1.1", + "lodash": "4.17.4", + "object.assign": "4.0.4", + "object.values": "1.0.4", "prop-types": "15.6.0", - "uuid": "3.1.0" + "react-test-renderer": "16.1.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + } + } + }, + "enzyme-adapter-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.1.1.tgz", + "integrity": "sha512-XU41nEiTl7O2JJvRA7JoCMhkDYRW9mQAgiy67Yz9BqTiRP/ldwuJYX8Gkom2LlihKIb9wy96IDuayR3RQspSNg==", + "dev": true, + "requires": { + "lodash": "4.17.4", + "object.assign": "4.0.4", + "prop-types": "15.6.0" }, "dependencies": { "lodash": { @@ -4179,27 +4324,27 @@ } }, "eslint-config-airbnb": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-15.1.0.tgz", - "integrity": "sha512-m0q9fiMBzDAIbirlGnpJNWToIhdhJmXXnMG+IFflYzzod9231ZhtmGKegKg8E9T8F1YuVaDSU1FnCm5b9iXVhQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", + "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "11.3.2" + "eslint-config-airbnb-base": "12.1.0" } }, "eslint-config-airbnb-base": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.3.2.tgz", - "integrity": "sha512-/fhjt/VqzBA2SRsx7ErDtv6Ayf+XLw9LIOqmpBuHFCVwyJo2EtzGWMB9fYRFBoWWQLxmNmCpenNiH0RxyeS41w==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", + "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { "eslint-restricted-globals": "0.1.1" } }, "eslint-config-edx": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-edx/-/eslint-config-edx-4.0.0.tgz", - "integrity": "sha1-E27ESi1CfzVhZeUvrAFNX05jqEA=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-edx/-/eslint-config-edx-4.0.1.tgz", + "integrity": "sha1-jLFiErhbiRUfMxZnIVe+JpzO5J0=", "dev": true, "requires": { "eslint": "4.9.0", @@ -4208,6 +4353,41 @@ "eslint-plugin-import": "2.8.0", "eslint-plugin-jsx-a11y": "5.1.1", "eslint-plugin-react": "7.4.0" + }, + "dependencies": { + "eslint-config-airbnb": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-15.1.0.tgz", + "integrity": "sha512-m0q9fiMBzDAIbirlGnpJNWToIhdhJmXXnMG+IFflYzzod9231ZhtmGKegKg8E9T8F1YuVaDSU1FnCm5b9iXVhQ==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "11.3.2" + } + }, + "eslint-config-airbnb-base": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.3.2.tgz", + "integrity": "sha512-/fhjt/VqzBA2SRsx7ErDtv6Ayf+XLw9LIOqmpBuHFCVwyJo2EtzGWMB9fYRFBoWWQLxmNmCpenNiH0RxyeS41w==", + "dev": true, + "requires": { + "eslint-restricted-globals": "0.1.1" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz", + "integrity": "sha512-5I9SpoP7gT4wBFOtXT8/tXNPYohHBVfyVfO17vkbC7r9kEIxYJF12D3pKqhk8+xnk12rfxKClS3WCFpVckFTPQ==", + "dev": true, + "requires": { + "aria-query": "0.7.0", + "array-includes": "3.0.3", + "ast-types-flow": "0.0.7", + "axobject-query": "0.1.0", + "damerau-levenshtein": "1.0.4", + "emoji-regex": "6.5.1", + "jsx-ast-utils": "1.4.1" + } + } } }, "eslint-import-resolver-node": { @@ -4393,9 +4573,9 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz", - "integrity": "sha512-5I9SpoP7gT4wBFOtXT8/tXNPYohHBVfyVfO17vkbC7r9kEIxYJF12D3pKqhk8+xnk12rfxKClS3WCFpVckFTPQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.2.tgz", + "integrity": "sha1-ZZJ3p1iwNsMFp+ShMFfDAc075z8=", "dev": true, "requires": { "aria-query": "0.7.0", @@ -4748,12 +4928,13 @@ } }, "file-loader": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", - "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.5.tgz", + "integrity": "sha512-RzGHDatcVNpGISTvCpfUfOGpYuSR7HSsSg87ki+wF6rw1Hm0RALPTiAdsxAq1UwLf0RRhbe22/eHK6nhXspiOQ==", "dev": true, "requires": { - "loader-utils": "1.1.0" + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" } }, "filename-regex": { @@ -4855,6 +5036,11 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -6067,21 +6253,6 @@ "through": "2.3.8" } }, - "glamorous": { - "version": "4.9.7", - "resolved": "https://registry.npmjs.org/glamorous/-/glamorous-4.9.7.tgz", - "integrity": "sha512-4Ts/k1fCvRez1k6xYIuXQqFmVG1RjbpQZOHNCWSteY1Tza4YeyExkj4SypAhCspcAzkjvqaUboaLmSfMmx9uLQ==", - "dev": true, - "requires": { - "brcast": "3.0.1", - "fast-memoize": "2.2.8", - "html-tag-names": "1.1.2", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "react-html-attributes": "1.4.1", - "svg-tag-names": "1.1.1" - } - }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -7628,6 +7799,11 @@ "pretty-format": "21.2.1" } }, + "jquery": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", + "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" + }, "js-base64": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", @@ -7964,18 +8140,6 @@ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", "dev": true }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", - "dev": true - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=", - "dev": true - }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -8000,36 +8164,12 @@ "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.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=", - "dev": true - }, - "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", "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", - "dev": true - }, "lodash.get": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-3.7.0.tgz", @@ -8069,24 +8209,12 @@ "lodash.isarray": "3.0.4" } }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", - "dev": true - }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=", - "dev": true - }, "lodash.mergewith": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", @@ -8099,18 +8227,6 @@ "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", "dev": true }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=", - "dev": true - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=", - "dev": true - }, "lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", @@ -8211,32 +8327,6 @@ "tmpl": "1.0.4" } }, - "mantra-core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/mantra-core/-/mantra-core-1.7.0.tgz", - "integrity": "sha1-qMg+jO6D72pzgxMVGf6AMa1UY4Y=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "react-komposer": "1.13.1", - "react-simple-di": "1.2.0" - }, - "dependencies": { - "react-komposer": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/react-komposer/-/react-komposer-1.13.1.tgz", - "integrity": "sha1-S4rEvMcTI710E9yrlcgxGX9Q7tA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "hoist-non-react-statics": "1.2.0", - "invariant": "2.2.2", - "mobx": "2.7.0", - "shallowequal": "0.2.2" - } - } - } - }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -8580,12 +8670,6 @@ "minimist": "0.0.8" } }, - "mobx": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-2.7.0.tgz", - "integrity": "sha1-zz2C0YwMp/RY2PKiQIF7PcflSgE=", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -8626,6 +8710,17 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "nearley": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.11.0.tgz", + "integrity": "sha512-clqqhEuP0ZCJQ85Xv2I/4o2Gs/fvSR6fCg5ZHVE2c8evWyNk2G++ih4JOO3lMb/k/09x6ihQ2nzKUlB/APCWjg==", + "dev": true, + "requires": { + "nomnom": "1.6.2", + "railroad-diagrams": "1.0.0", + "randexp": "0.4.6" + } + }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", @@ -8820,6 +8915,24 @@ } } }, + "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.1", + "underscore": "1.4.4" + }, + "dependencies": { + "colors": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "dev": true + } + } + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -9356,6 +9469,11 @@ "immutable": "3.8.2" } }, + "popper.js": { + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz", + "integrity": "sha1-DfvC3/lsRRuzMu3Pz6r1ZtMx1bM=" + }, "portfinder": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", @@ -11531,6 +11649,31 @@ } } }, + "raf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", + "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", + "dev": true, + "requires": { + "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.15" + } + }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", @@ -11600,11 +11743,10 @@ } }, "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.1.1.tgz", + "integrity": "sha512-FQfiFfk2z2Fk87OngNJHT05KyC9DOVn8LPeB7ZX+9u5+yU1JK6o5ozRlU3PeOMr0IFkWNvgn9jU8/IhRxR1F0g==", "requires": { - "create-react-class": "15.6.2", "fbjs": "0.8.16", "loose-envify": "1.3.1", "object-assign": "4.1.1", @@ -11635,9 +11777,9 @@ } }, "react-dom": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", - "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.1.1.tgz", + "integrity": "sha512-q06jiwST8SEPAMIEkAsu7BgynEZtqF87VrTc70XsW7nxVhWEu2Y4MF5UfxxHQO/mNtQHQWP0YcFxmwm9oMrMaQ==", "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -11645,6 +11787,11 @@ "prop-types": "15.6.0" } }, + "react-element-proptypes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-element-proptypes/-/react-element-proptypes-1.0.0.tgz", + "integrity": "sha1-ygpafBYk646CrQjqeIzfyWvBpRc=" + }, "react-html-attributes": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/react-html-attributes/-/react-html-attributes-1.4.1.tgz", @@ -11679,29 +11826,6 @@ "is-dom": "1.0.9" } }, - "react-komposer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-komposer/-/react-komposer-2.0.0.tgz", - "integrity": "sha1-uWRzgBSptK7klKg8C1uDPWYHKpA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "hoist-non-react-statics": "1.2.0", - "lodash.pick": "4.4.0", - "react-stubber": "1.0.0", - "shallowequal": "0.2.2" - } - }, - "react-modal": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-2.4.1.tgz", - "integrity": "sha512-3WQCn3xqkbEUvxRUO3nkeqxMNgt1F4CyEU3BiUIrg7C71tnqjQIuSE7+JXp85yFl8X1iRTJouySNpwNqv4kiWg==", - "dev": true, - "requires": { - "exenv": "1.2.2", - "prop-types": "15.6.0" - } - }, "react-proptype-conditional-require": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/react-proptype-conditional-require/-/react-proptype-conditional-require-1.0.4.tgz", @@ -11759,36 +11883,6 @@ "warning": "3.0.0" } }, - "react-simple-di": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/react-simple-di/-/react-simple-di-1.2.0.tgz", - "integrity": "sha1-3eDlv2ifOR7yqwLJBDshP+I5xtA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "hoist-non-react-statics": "1.2.0" - } - }, - "react-split-pane": { - "version": "0.1.66", - "resolved": "https://registry.npmjs.org/react-split-pane/-/react-split-pane-0.1.66.tgz", - "integrity": "sha512-k4F0+BaHkPn0WclipkxEDL18Td2Ocgu+XzhOZznGngWk2l3mB5ujX7jxd5DSa8spHIuCGKQXzgjrk7rc2Y5BUQ==", - "dev": true, - "requires": { - "inline-style-prefixer": "3.0.8", - "prop-types": "15.6.0", - "react-style-proptype": "3.0.0" - } - }, - "react-stubber": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/react-stubber/-/react-stubber-1.0.0.tgz", - "integrity": "sha1-Qe4srHLU1P1wpjiW2pjhNzm4Rig=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, "react-style-proptype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-style-proptype/-/react-style-proptype-3.0.0.tgz", @@ -11799,13 +11893,14 @@ } }, "react-test-renderer": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-15.6.2.tgz", - "integrity": "sha1-0DM0NPwsQ4CSaWyncNpe1IA376g=", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.1.1.tgz", + "integrity": "sha512-RV0Krfuc6wDnlv5C/BJzW3e2/s7ZTMZ25gfVjdXdT3hhXNDCQlZucP83HMD8mVh1XScGx9hRaXnIRJ7mE+2N6A==", "dev": true, "requires": { "fbjs": "0.8.16", - "object-assign": "4.1.1" + "object-assign": "4.1.1", + "prop-types": "15.6.0" } }, "react-transition-group": { @@ -12016,8 +12111,7 @@ "regenerator-runtime": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", - "dev": true + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" }, "regenerator-transform": { "version": "0.10.1", @@ -12201,6 +12295,12 @@ "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 + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -12229,6 +12329,16 @@ "inherits": "2.0.3" } }, + "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.11.0" + } + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -13489,6 +13599,12 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, + "underscore": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=", + "dev": true + }, "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -13543,24 +13659,6 @@ } } }, - "url-loader": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", - "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "1.3.6" - }, - "dependencies": { - "mime": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", - "dev": true - } - } - }, "url-parse": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", diff --git a/package.json b/package.json index 16e233e9be..32aedc3c3d 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,12 @@ }, "dependencies": { "@edx/edx-bootstrap": "^0.4.2", + "babel-polyfill": "^6.26.0", "classnames": "^2.2.5", "font-awesome": "^4.7.0", "prop-types": "^15.5.8", - "react": "^15.5.4", - "react-dom": "^15.5.4", + "react": "^16.1.0", + "react-dom": "^16.1.0", "react-element-proptypes": "^1.0.0", "react-proptype-conditional-require": "^1.0.4" }, @@ -37,8 +38,8 @@ "@storybook/addon-console": "^1.0.0", "@storybook/addon-options": "^3.2.6", "@storybook/addon-storyshots": "^3.2.8", - "@storybook/channels": "^3.2.15", - "@storybook/react": "^3.2.12", + "@storybook/channels": "^3.2.16", + "@storybook/react": "^3.2.16", "@storybook/storybook-deployer": "^2.0.0", "babel-cli": "^6.24.1", "babel-jest": "^21.0.0", @@ -52,9 +53,10 @@ "coveralls": "^3.0.0", "css-loader": "^0.28.4", "cz-conventional-changelog": "^2.1.0", - "enzyme": "^2.8.2", + "enzyme": "^3.1.1", + "enzyme-adapter-react-16": "^1.0.4", "eslint": "^4.5.0", - "eslint-config-airbnb": "^15.0.1", + "eslint-config-airbnb": "^16.0.0", "eslint-config-edx": "^4.0.1", "eslint-import-resolver-webpack": "^0.8.1", "eslint-plugin-jsx-a11y": "^5.1.0", @@ -67,7 +69,7 @@ "node-sass": "^4.5.3", "postcss-scss": "^1.0.1", "react-router-dom": "^4.1.1", - "react-test-renderer": "^15.6.1", + "react-test-renderer": "^16.1.0", "sass-loader": "^6.0.5", "semantic-release": "^8.2.0", "source-map-loader": "^0.2.1", @@ -77,6 +79,9 @@ "webpack-dev-server": "^2.4.4" }, "jest": { + "setupFiles": [ + "./src/setupTest.js" + ], "moduleNameMapper": { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", "\\.(css|scss)$": "identity-obj-proxy" diff --git a/src/Button/Button.test.jsx b/src/Button/Button.test.jsx index a761e07278..00c31dce85 100644 --- a/src/Button/Button.test.jsx +++ b/src/Button/Button.test.jsx @@ -12,11 +12,9 @@ describe('