diff --git a/package-lock.json b/package-lock.json index a86945926..a62e7d284 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1341,6 +1341,17 @@ "to-fast-properties": "^2.0.0" } }, + "@coralproject/rte": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/@coralproject/rte/-/rte-0.10.6.tgz", + "integrity": "sha512-oUK/KSw28AkmpX5D8v1IkQT0iIxKxPmSG0euTFgqEthSgnAUQgoOmQengaR/nsS9zE31KPbbWMIAzH0aN/YwNA==", + "dev": true, + "requires": { + "bowser": "^1.0.0", + "classnames": "^2.2.6", + "react-contenteditable": "^2.1.5" + } + }, "@csstools/convert-colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", @@ -1703,6 +1714,12 @@ "@types/node": "*" } }, + "@types/dompurify": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-0.0.31.tgz", + "integrity": "sha512-Vi2VBl262MjJuxpROjQU3AuBv1NgA7oaL9jqLJRgF60tps4GR/9qzXN0P4pRYPXsBA0b10AF1M6wO74uwGqtmw==", + "dev": true + }, "@types/dotenv": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-4.0.3.tgz", @@ -5359,6 +5376,12 @@ } } }, + "bowser": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", + "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==", + "dev": true + }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", @@ -8751,6 +8774,12 @@ "domelementtype": "1" } }, + "dompurify": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-1.0.7.tgz", + "integrity": "sha512-1xK0JEda/jvIm3SgqHXKvRCh3AbEKCyBbUAGpNCMVIljBD145cPvBR66JSj3O4SdscFUx5NXsDkJpz6vDT8KLg==", + "dev": true + }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -20474,6 +20503,16 @@ "integrity": "sha512-9Fv10F6rrzFDIT04aoRsw3dbN6l6onNXbBvCpt4OjXZFGDz/P65laNIujHVTlVjcqErut9d4BL0aplVByyGcJw==", "dev": true }, + "react-contenteditable": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/react-contenteditable/-/react-contenteditable-2.1.5.tgz", + "integrity": "sha512-mjaxwybOX7Om8Cx/0mVCUpgvAyheP48JXoABMTvzWENluFTpwAhlsLfKN4xNZk3Y7DsiidA7mUZibh0sTMly2w==", + "dev": true, + "requires": { + "@types/prop-types": "^15.5.4", + "fast-deep-equal": "^2.0.1" + } + }, "react-copy-to-clipboard": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz", @@ -20774,9 +20813,9 @@ } }, "react-is": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.1.tgz", - "integrity": "sha512-xpb0PpALlFWNw/q13A+1aHeyJyLYCg0/cCHPUA43zYluZuIPHaHL3k8OBsTgQtxqW0FhyDEMvi8fZ/+7+r4OSQ==", + "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": { @@ -20926,15 +20965,15 @@ } }, "react-test-renderer": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.4.1.tgz", - "integrity": "sha512-wyyiPxRZOTpKnNIgUBOB6xPLTpIzwcQMIURhZvzUqZzezvHjaGNsDPBhMac5fIY3Jf5NuKxoGvV64zDSOECPPQ==", + "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.1" + "react-is": "^16.4.2" } }, "react-timeago": { diff --git a/package.json b/package.json index 32146395e..fe98d87a8 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "@babel/polyfill": "7.0.0-beta.49", "@babel/preset-env": "7.0.0-beta.49", "@babel/preset-react": "7.0.0-beta.49", + "@coralproject/rte": "^0.10.6", "@types/bcryptjs": "^2.4.1", "@types/bunyan": "^1.8.4", "@types/case-sensitive-paths-webpack-plugin": "^2.1.2", @@ -85,6 +86,7 @@ "@types/consolidate": "0.0.34", "@types/convict": "^4.2.0", "@types/cross-spawn": "^6.0.0", + "@types/dompurify": "0.0.31", "@types/dotenv": "^4.0.3", "@types/enzyme": "^3.1.11", "@types/enzyme-adapter-react-16": "^1.0.2", @@ -145,6 +147,7 @@ "css-loader": "^0.28.11", "del": "^3.0.0", "docz": "^0.5.8", + "dompurify": "^1.0.7", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", "enzyme-to-json": "^3.3.4", @@ -193,7 +196,7 @@ "react-popper": "^1.0.0", "react-relay": "github:coralproject/patched#react-relay", "react-responsive": "^5.0.0", - "react-test-renderer": "^16.4.1", + "react-test-renderer": "^16.4.2", "react-timeago": "^4.1.9", "react-with-state-props": "^2.0.4", "recompose": "^0.27.1", diff --git a/src/core/build/postcss.config.js b/src/core/build/postcss.config.js index 3a386d17b..543cc877f 100644 --- a/src/core/build/postcss.config.js +++ b/src/core/build/postcss.config.js @@ -37,7 +37,7 @@ const mediaQueryVariables = mapValues( // with the smallest screen and gradually add styling for the // next bigger screen. This is realized using `min-width` without // ever using `max-width`. - v => `${Number.parseInt(v) + 1}px` + v => `${Number.parseInt(v, 10) + 1}px` ); module.exports = { diff --git a/src/core/client/auth/containers/SignUpContainer.tsx b/src/core/client/auth/containers/SignUpContainer.tsx index 8be2d84ed..a4400863f 100644 --- a/src/core/client/auth/containers/SignUpContainer.tsx +++ b/src/core/client/auth/containers/SignUpContainer.tsx @@ -17,8 +17,8 @@ interface SignUpContainerProps { class SignUpContainer extends Component { private onSubmit: SignUpForm["onSubmit"] = async (input, form) => { try { - return await this.props.signUp(input); - form.reset(); + await this.props.signUp(input); + return form.reset(); } catch (error) { return { [FORM_ERROR]: error.message }; } diff --git a/src/core/client/auth/test/__snapshots__/signIn.spec.tsx.snap b/src/core/client/auth/test/__snapshots__/signIn.spec.tsx.snap index 33a6f001a..2f6fa4225 100644 --- a/src/core/client/auth/test/__snapshots__/signIn.spec.tsx.snap +++ b/src/core/client/auth/test/__snapshots__/signIn.spec.tsx.snap @@ -25,14 +25,27 @@ exports[`accepts correct password 1`] = ` Email Address +
+ + + This field is required. + +
+
+ + + This field is required. + +
+
+ + + This field is required. + +
+
+ + + This field is required. + +