From 391b10acf2fbafa1d38e6d590cff93cadf8ab8c9 Mon Sep 17 00:00:00 2001 From: malexsan <alexandru.munt@gmail.com> Date: Tue, 4 Dec 2018 17:37:35 +0200 Subject: [PATCH] feat(adminUsers): replace api get with a gql query --- packages/component-faraday-ui/package.json | 3 +- .../src/modals/FormModal.js | 21 ++-- packages/component-user/typeDefs.js | 23 ++++ packages/components-faraday/package.json | 7 +- .../src/components/Admin/AdminUsers.js | 56 ++++----- packages/styleguide/src/webpack-config.js | 2 +- packages/xpub-faraday/config/default.js | 5 + packages/xpub-faraday/package.json | 12 +- .../xpub-faraday/webpack/rules.development.js | 2 +- .../xpub-faraday/webpack/rules.production.js | 2 +- packages/xpub-faraday/webpack/rules.test.js | 2 +- yarn.lock | 113 +++++++++++++++++- 12 files changed, 190 insertions(+), 58 deletions(-) diff --git a/packages/component-faraday-ui/package.json b/packages/component-faraday-ui/package.json index 020fd030a..a3124d61c 100644 --- a/packages/component-faraday-ui/package.json +++ b/packages/component-faraday-ui/package.json @@ -7,10 +7,11 @@ "@pubsweet/ui": "^8.6.0", "@pubsweet/ui-toolkit": "^1.2.0", "country-list": "^1.1.0", + "formik": "^1.3.2", "grid-styled": "5.0.2", "prop-types": "^15.6.2", "querystring": "^0.2.0", - "react": "^16.4.2", + "react": "^16.6.0", "styled-components": "^3.4.2" } } diff --git a/packages/component-faraday-ui/src/modals/FormModal.js b/packages/component-faraday-ui/src/modals/FormModal.js index e9adb3b78..c8d4ac798 100644 --- a/packages/component-faraday-ui/src/modals/FormModal.js +++ b/packages/component-faraday-ui/src/modals/FormModal.js @@ -1,7 +1,6 @@ import React, { Fragment } from 'react' import { get } from 'lodash' import styled from 'styled-components' -import { reduxForm } from 'redux-form' import { th } from '@pubsweet/ui-toolkit' import { required } from 'xpub-validators' import { compose, setDisplayName, withHandlers, withProps } from 'recompose' @@ -24,6 +23,8 @@ import { ItemOverrideAlert, } from 'pubsweet-component-faraday-ui' +import { Formik } from 'formik' + const AddUserForm = ({ roles, countries, titles }) => ( <Fragment> <Row alignItems="baseline" mb={1} mt={1}> @@ -177,6 +178,12 @@ const EditForm = ({ titles, countries }) => ( </Fragment> ) +const FormikForm = () => ( + <Formik onSubmit={(...props) => console.log(props)}> + {ceva => console.log(ceva) || <span onClick={ceva.handleSubmit}>gg</span>} + </Formik> +) + const FormModal = ({ edit, user, @@ -196,12 +203,9 @@ const FormModal = ({ <Root> <IconButton icon="x" onClick={onClose} right={5} secondary top={5} /> <H2>{title}</H2> - {edit && <Text secondary>{user.email}</Text>} - {edit ? ( - <EditForm countries={countries} titles={titles} /> - ) : ( - <AddUserForm countries={countries} roles={roles} titles={titles} /> - )} + + <FormikForm /> + {modalError && ( <Row mb={1}> <Text error>{modalError}</Text> @@ -253,9 +257,6 @@ export default compose( }, confirmText: edit ? 'EDIT USER' : 'SAVE USER', })), - reduxForm({ - form: 'add-edit', - }), setDisplayName('FormModal'), )(FormModal) diff --git a/packages/component-user/typeDefs.js b/packages/component-user/typeDefs.js index d7060e75d..ac3ffd253 100644 --- a/packages/component-user/typeDefs.js +++ b/packages/component-user/typeDefs.js @@ -3,4 +3,27 @@ module.exports = ` id: String! name: String } + + extend type User { + affiliation: String + country: String + editorInChief: Boolean + handlingEditor: Boolean + isActive: Boolean + isConfirmed: Boolean + firstName: String + lastName: String + title: String + } + + extend input UserInput { + firstName: String + lastName: String + title: String + country: String + affiliation: String + admin: Boolean + editorInChief: Boolean + handlingEditor: Boolean + } ` diff --git a/packages/components-faraday/package.json b/packages/components-faraday/package.json index d7844c443..68ec4b8b0 100644 --- a/packages/components-faraday/package.json +++ b/packages/components-faraday/package.json @@ -8,15 +8,16 @@ "@pubsweet/ui": "^8.6.0", "@pubsweet/ui-toolkit": "latest", "country-list": "^1.1.0", + "formik": "^1.3.2", "graphql-tag": "^2.10.0", "moment": "^2.22.1", "prop-types": "^15.5.10", "pubsweet-component-login": "^1.2.0", - "react": "^16.4.2", + "react": "^16.6.0", "react-apollo": "^2.3.2", - "react-dnd": "^2.5.4", + "react-dnd": "^7.0.0", "react-dnd-html5-backend": "^2.5.4", - "react-dom": "^16.1.0", + "react-dom": "^16.6.0", "react-router-dom": "^4.2.2", "react-tippy": "^1.2.2", "recompose": "^0.30.0", diff --git a/packages/components-faraday/src/components/Admin/AdminUsers.js b/packages/components-faraday/src/components/Admin/AdminUsers.js index 7dc07fce9..9c06664a6 100644 --- a/packages/components-faraday/src/components/Admin/AdminUsers.js +++ b/packages/components-faraday/src/components/Admin/AdminUsers.js @@ -1,17 +1,13 @@ import React, { Fragment } from 'react' import { get } from 'lodash' import { Button } from '@pubsweet/ui' -import { connect } from 'react-redux' import styled from 'styled-components' import { th } from '@pubsweet/ui-toolkit' -import { actions } from 'pubsweet-client' -import { ConnectPage } from 'xpub-connect' import { withJournal } from 'xpub-journal' import { compose, withHandlers, withProps } from 'recompose' -import { getAdminUsers } from 'pubsweet-component-faraday-selectors' -import { Query } from 'react-apollo' -import gql from 'graphql-tag' +import gql from 'graphql-tag' +import { graphql } from 'react-apollo' import { Row, Text, @@ -29,10 +25,18 @@ import { AddUser } from './' import { updateUserStatus, onSubmit } from './utils' const GET_USERS = gql` - query Users { + { users { id + admin + country username + lastName + isActive + firstName + isConfirmed + editorInChief + handlingEditor } } ` @@ -45,6 +49,7 @@ const Users = ({ journal, getUsers, isFetching, + getUserName, getUserRoles, itemsPerPage, deactivateUser, @@ -75,13 +80,6 @@ const Users = ({ <Pagination {...rest} itemsPerPage={itemsPerPage} page={page} /> </Row> - <Query query={GET_USERS}> - {({ data }) => { - console.log('props query', data) - return <span>sebi e retardat</span> - }} - </Query> - <Table> <thead> <tr> @@ -107,11 +105,7 @@ const Users = ({ {paginatedItems.map(user => ( <UserRow key={user.id}> <td> - <Text pl={1}>{`${get(user, 'firstName', '')} ${get( - user, - 'lastName', - '', - )}`}</Text> + <Text pl={1}>{getUserName(user)}</Text> </td> <td colSpan={2}> <Text>{user.email}</Text> @@ -165,23 +159,17 @@ const Users = ({ ) export default compose( - ConnectPage(() => [actions.getUsers()]), - connect( - state => ({ - items: getAdminUsers(state), - }), - { - getUsers: actions.getUsers, - }, - ), withJournal, withFetching, - withPagination, - withProps(({ journal: { roles = {} } }) => ({ + graphql(GET_USERS), + withProps(({ journal: { roles = {} }, data: { users } }) => ({ roles: Object.keys(roles), + items: users, })), + withPagination, withHandlers({ - getStatusLabel: () => ({ isConfirmed, isActive = true }) => { + getStatusLabel: () => ({ admin, isConfirmed, isActive = true }) => { + if (admin) return 'ACTIVE' if (!isActive) { return 'INACTIVE' } @@ -203,6 +191,12 @@ export default compose( handleError(setModalError)(err) }) }, + getUserName: () => user => { + if (user.admin) { + return 'Admin' + } + return `${get(user, 'firstName', '')} ${get(user, 'lastName', '')}` + }, getUserRoles: ({ journal: { roles = {} } }) => user => { const parsedRoles = Object.entries(roles) .reduce((acc, role) => (user[role[0]] ? [...acc, role[1]] : acc), []) diff --git a/packages/styleguide/src/webpack-config.js b/packages/styleguide/src/webpack-config.js index e94d05781..b5132f279 100644 --- a/packages/styleguide/src/webpack-config.js +++ b/packages/styleguide/src/webpack-config.js @@ -46,7 +46,7 @@ module.exports = dir => { }, // Files { - exclude: [/\.jsx?$/, /\.html$/, /\.json$/], + exclude: [/\.(js|jsx|mjs)$/, /\.html$/, /\.json$/], loader: 'file-loader', options: { name: 'static/media/[name].[hash:8].[ext]', diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js index 4bd9d05a5..295d5346f 100644 --- a/packages/xpub-faraday/config/default.js +++ b/packages/xpub-faraday/config/default.js @@ -5,6 +5,8 @@ const logger = require('winston') const components = require('./components.json') const journalConfig = require('../app/config/journal') +const users = require('../../component-user') + const getDbConfig = () => { if (process.env.DATABASE) { return { @@ -43,8 +45,11 @@ module.exports = { port: 3000, logger, uploads: 'uploads', + secret: 'SECRET', enableExperimentalGraphql: true, graphiql: true, + typeDefs: `${users.typeDefs}`, + // resolvers, }, 'pubsweet-client': { API_ENDPOINT: '/api', diff --git a/packages/xpub-faraday/package.json b/packages/xpub-faraday/package.json index 7e997fbc9..fa964915f 100644 --- a/packages/xpub-faraday/package.json +++ b/packages/xpub-faraday/package.json @@ -32,12 +32,13 @@ "pubsweet-client": "^6.1.0", "pubsweet-component-login": "^1.2.0", "pubsweet-server": "10.1.1", - "react": "^16.4.2", - "react-dnd": "^2.5.4", - "react-dnd-html5-backend": "^2.5.4", - "react-dom": "^16.2.0", + "react": "^16.6.0", + "react-dnd": "^7.0.0", + "react-dnd-html5-backend": "^7.0.0", + "react-dom": "^16.6.0", "react-router-dom": "^4.2.2", "recompose": "^0.30.0", + "formik": "^1.3.2", "redux": "^3.6.0", "redux-form": "7.0.3", "redux-logger": "^3.0.1", @@ -82,7 +83,8 @@ "start": "pubsweet start", "start:services": "docker-compose up postgres", "server": "pubsweet server", - "start-now": "echo $secret > config/local-development.json && npm run server", + "start-now": + "echo $secret > config/local-development.json && npm run server", "build": "NODE_ENV=production pubsweet build", "clean": "rm -rf node_modules", "debug": "pgrep -f startup/start.js | xargs kill -sigusr1", diff --git a/packages/xpub-faraday/webpack/rules.development.js b/packages/xpub-faraday/webpack/rules.development.js index 548c24f16..f2426d600 100644 --- a/packages/xpub-faraday/webpack/rules.development.js +++ b/packages/xpub-faraday/webpack/rules.development.js @@ -44,7 +44,7 @@ module.exports = [ // files { - exclude: [/\.jsx?$/, /\.html$/, /\.json$/], + exclude: [/\.(js|jsx|mjs)$/, /\.html$/, /\.json$/], loader: 'file-loader', options: { name: 'static/media/[name].[hash:8].[ext]', diff --git a/packages/xpub-faraday/webpack/rules.production.js b/packages/xpub-faraday/webpack/rules.production.js index 0fe8d5b7e..56eecf0b3 100644 --- a/packages/xpub-faraday/webpack/rules.production.js +++ b/packages/xpub-faraday/webpack/rules.production.js @@ -49,7 +49,7 @@ module.exports = [ // files { - exclude: [/\.jsx?$/, /\.html$/, /\.json$/], + exclude: [/\.(js|jsx|mjs)$/, /\.html$/, /\.json$/], loader: 'file-loader', options: { name: 'static/media/[name].[hash:8].[ext]', diff --git a/packages/xpub-faraday/webpack/rules.test.js b/packages/xpub-faraday/webpack/rules.test.js index 0fe8d5b7e..56eecf0b3 100644 --- a/packages/xpub-faraday/webpack/rules.test.js +++ b/packages/xpub-faraday/webpack/rules.test.js @@ -49,7 +49,7 @@ module.exports = [ // files { - exclude: [/\.jsx?$/, /\.html$/, /\.json$/], + exclude: [/\.(js|jsx|mjs)$/, /\.html$/, /\.json$/], loader: 'file-loader', options: { name: 'static/media/[name].[hash:8].[ext]', diff --git a/yarn.lock b/yarn.lock index ec3a52c68..01a62f9fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3974,6 +3974,16 @@ dnd-core@^2.5.4: lodash "^4.2.0" redux "^3.7.1" +dnd-core@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-7.0.2.tgz#6c080eb57243fa0372fd083b3db242d9eb525010" + integrity sha512-InwRBi6zTndtE3+3nTYpLJkYMEr7utSR7OziAoSFhtQsbUfJE1KeqxM+ZFRIMKn6ehxUTAC+QU6QC7IG9u86Mg== + dependencies: + asap "^2.0.6" + invariant "^2.2.4" + lodash "^4.17.11" + redux "^4.0.1" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -5423,6 +5433,21 @@ formik@1.3.0: tslib "^1.9.3" warning "^3.0.0" +formik@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/formik/-/formik-1.3.2.tgz#f97b9e71084db4a51f7bde798584c094b3696738" + integrity sha512-WzKX8MGfSJTBF97oDDeP2meb2/I1bi1dLdkICmUfPB2KJ9mcdBOmsOPY8cE1cfV25ML3DzLomYsUezH+yedpvQ== + dependencies: + create-react-context "^0.2.2" + deepmerge "^2.1.1" + hoist-non-react-statics "^2.5.5" + lodash.clonedeep "^4.5.0" + lodash.topath "4.5.2" + prop-types "^15.6.1" + react-fast-compare "^1.0.0" + tslib "^1.9.3" + warning "^3.0.0" + forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -6199,6 +6224,13 @@ hoist-non-react-statics@^3.0.0: dependencies: react-is "^16.3.2" +hoist-non-react-statics@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz#c09c0555c84b38a7ede6912b61efddafd6e75e1e" + integrity sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw== + dependencies: + react-is "^16.3.2" + home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -6553,7 +6585,7 @@ invariant@^2.0.0, invariant@^2.1.0, invariant@^2.2.0, invariant@^2.2.1, invarian dependencies: loose-envify "^1.0.0" -invariant@^2.2.3: +invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -7513,6 +7545,11 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + js-yaml@^3.4.3, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.10.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" @@ -8262,7 +8299,7 @@ lodash@4.17.5, lodash@^4, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.13.1, lodash@^ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" integrity sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw== -lodash@^4.17.0: +lodash@^4.17.0, lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -8316,6 +8353,13 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3 dependencies: js-tokens "^3.0.0" +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -11071,6 +11115,14 @@ react-dnd-html5-backend@^2.5.4: dependencies: lodash "^4.2.0" +react-dnd-html5-backend@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-7.0.2.tgz#f74181ca0ff05be13eb6094629c5ad560f558a7e" + integrity sha512-BPhmHeQjvhPXRykHvFLbM+TJFrrarcuf/mIArNEmXzZuNhLfbOnHtMSzR8lPwodABcDAYj7hEF7vTABXX298vA== + dependencies: + dnd-core "^7.0.2" + lodash "^4.17.11" + react-dnd@^2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-2.5.4.tgz#0b6dc5e9d0dfc2909f4f4fe736e5534f3afd1bd9" @@ -11083,6 +11135,18 @@ react-dnd@^2.5.4: lodash "^4.2.0" prop-types "^15.5.10" +react-dnd@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-7.0.2.tgz#8f5611a6e877592932c082d6280c64d1c817f420" + integrity sha512-nJnHJo/tNQjyod234+hPNopWHPvgH0gujf3pcdJWRe3l0GL+jSXXwXJ2SFwIHkVmxPYrx8+gbKU3+Pq26p6fkg== + dependencies: + dnd-core "^7.0.2" + hoist-non-react-statics "^3.1.0" + invariant "^2.1.0" + lodash "^4.17.11" + recompose "^0.30.0" + shallowequal "^1.1.0" + react-docgen-annotation-resolver@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/react-docgen-annotation-resolver/-/react-docgen-annotation-resolver-1.0.0.tgz#abbb343698b3b319537142082b6bb7d835fe2f1f" @@ -11116,7 +11180,7 @@ react-dom@^15.6.1: object-assign "^4.1.0" prop-types "^15.5.10" -react-dom@^16.1.0, react-dom@^16.2.0: +react-dom@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" integrity sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg== @@ -11126,6 +11190,16 @@ react-dom@^16.1.0, react-dom@^16.2.0: object-assign "^4.1.1" prop-types "^15.6.0" +react-dom@^16.6.0: + version "16.6.3" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.6.3.tgz#8fa7ba6883c85211b8da2d0efeffc9d3825cccc0" + integrity sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.11.2" + react-error-overlay@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.0.tgz#d198408a85b4070937a98667f500c832f86bd5d4" @@ -11355,6 +11429,16 @@ react@^16.4.2: object-assign "^4.1.1" prop-types "^15.6.0" +react@^16.6.0: + version "16.6.3" + resolved "https://registry.yarnpkg.com/react/-/react-16.6.3.tgz#25d77c91911d6bbdd23db41e70fb094cc1e0871c" + integrity sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.11.2" + read-cmd-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" @@ -11621,6 +11705,14 @@ redux@^3.6.0, redux@^3.7.1: loose-envify "^1.1.0" symbol-observable "^1.0.3" +redux@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" + integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== + dependencies: + loose-envify "^1.4.0" + symbol-observable "^1.2.0" + referrer-policy@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/referrer-policy/-/referrer-policy-1.1.0.tgz#35774eb735bf50fb6c078e83334b472350207d79" @@ -12225,6 +12317,14 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +scheduler@^0.11.2: + version "0.11.3" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.3.tgz#b5769b90cf8b1464f3f3cfcafe8e3cd7555a2d6b" + integrity sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + schema-utils@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" @@ -12413,6 +12513,11 @@ shallow-clone@^1.0.0: kind-of "^5.0.0" mixin-object "^2.0.1" +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -13238,7 +13343,7 @@ symbol-observable@^0.2.2: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" integrity sha1-lag9smGG1q9+ehjb2XYKL4bQj0A= -symbol-observable@^1.0.2, symbol-observable@^1.0.3, symbol-observable@^1.0.4, symbol-observable@^1.1.0: +symbol-observable@^1.0.2, symbol-observable@^1.0.3, symbol-observable@^1.0.4, symbol-observable@^1.1.0, symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== -- GitLab