18 | isAuthenticated() ? :
19 | }
20 | />
21 | );
22 | };
23 |
24 | export default function Routes() {
25 | return (
26 |
27 |
28 |
32 | isAuthenticated() ? :
33 | }
34 | />
35 |
36 |
37 |
38 | );
39 | }
40 |
--------------------------------------------------------------------------------
/frontend/src/components/Feed/WhatsHappening/styles.js:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import { darkGrey, grey } from '../../../global-styles';
3 | import { UserCircle } from 'styled-icons/boxicons-solid';
4 |
5 | export const Container = styled.div`
6 | width: 100%;
7 | height: 150px;
8 | background-color: #fff;
9 | display: flex;
10 | border-left: 1px solid ${grey};
11 | border-right: 1px solid ${grey};
12 | `;
13 |
14 | export const ProfileContainer = styled.div`
15 | height: 100%;
16 | width: 10%;
17 | display: flex;
18 | justify-content: center;
19 | `;
20 |
21 | export const ProfileIcon = styled(UserCircle).attrs({
22 | height: '70px'
23 | })`
24 | color: ${darkGrey};
25 | padding: 10px;
26 | margin: 20px 0px;
27 | `;
28 |
29 | export const RightContainer = styled.div`
30 | display: flex;
31 | width: 90%;
32 | height: 100%;
33 | flex-direction: column;
34 | `;
35 |
36 | export const TextArea = styled.textarea`
37 | width: 100%;
38 | height: 60%;
39 | padding: 20px 10px;
40 | border: none;
41 | font-size: 20px;
42 | overflow: hidden;
43 | resize: none;
44 | `;
45 |
--------------------------------------------------------------------------------
/frontend/src/components/Feed/WhatsHappening/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import {
4 | Container,
5 | ProfileContainer,
6 | ProfileIcon,
7 | TextArea,
8 | RightContainer
9 | } from './styles';
10 | import ActionBar from './ActionBar';
11 | import { useState } from 'react';
12 | import { useMutation } from 'react-apollo';
13 |
14 | import { CREATE_TWEET } from '../../../repository';
15 |
16 | export default function WhatsHappening() {
17 | const [inputValue, setInputValue] = useState('');
18 | const [createTweet] = useMutation(CREATE_TWEET);
19 |
20 | function handleTweetButton() {
21 | const tweet = {
22 | author: sessionStorage.getItem('name'),
23 | user: sessionStorage.getItem('username'),
24 | message: inputValue
25 | };
26 | const { author, user, message } = tweet;
27 | createTweet({ variables: { author, user, message } });
28 | }
29 | return (
30 |
31 |
32 |
33 |
34 |
35 |
38 |
39 | );
40 | }
41 |
--------------------------------------------------------------------------------
/frontend/src/components/Feed/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Query } from 'react-apollo';
3 |
4 | import { Container } from './styles';
5 | import Header from './Header';
6 | import WhatsHappening from './WhatsHappening';
7 | import Tweets from './Tweets';
8 |
9 | import { GET_TWEETS, NEW_TWEET } from '../../repository';
10 |
11 | export default function Feed() {
12 | return (
13 |
14 |
15 |
16 |
17 | {({ data, loading, subscribeToMore }) => {
18 | if (!data) return null;
19 | if (loading) return Loading... ;
20 | subscribeToMore({
21 | document: NEW_TWEET,
22 | updateQuery: (prev, { subscriptionData }) => {
23 | if (!subscriptionData.data) return prev;
24 | const { newTweet } = subscriptionData.data;
25 | if (prev.tweets.find(t => t.id === newTweet.id)) {
26 | return prev;
27 | }
28 | return {
29 | ...prev,
30 | tweets: [newTweet, ...prev.tweets]
31 | };
32 | }
33 | });
34 | return ;
35 | }}
36 |
37 |
38 |
39 | );
40 | }
41 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.1.0",
4 | "dependencies": {
5 | "@apollo/react-hooks": "^3.1.3",
6 | "@testing-library/jest-dom": "^4.2.4",
7 | "@testing-library/react": "^9.3.2",
8 | "@testing-library/user-event": "^7.1.2",
9 | "apollo-cache-inmemory": "^1.6.5",
10 | "apollo-client": "^2.6.8",
11 | "apollo-link": "^1.2.13",
12 | "apollo-link-http": "^1.5.16",
13 | "apollo-link-ws": "^1.0.19",
14 | "graphql": "^14.6.0",
15 | "graphql-tag": "^2.10.3",
16 | "react": "^16.13.0",
17 | "react-apollo": "^3.1.3",
18 | "react-dom": "^16.13.0",
19 | "react-router-dom": "^5.1.2",
20 | "react-scripts": "3.4.0",
21 | "react-time-ago": "^5.0.7",
22 | "styled-components": "^5.0.1",
23 | "styled-icons": "^10.2.1",
24 | "subscriptions-transport-ws": "^0.9.16"
25 | },
26 | "scripts": {
27 | "start": "react-scripts start",
28 | "build": "react-scripts build",
29 | "test": "react-scripts test",
30 | "eject": "react-scripts eject"
31 | },
32 | "eslintConfig": {
33 | "extends": "react-app"
34 | },
35 | "browserslist": {
36 | "production": [
37 | ">0.2%",
38 | "not dead",
39 | "not op_mini all"
40 | ],
41 | "development": [
42 | "last 1 chrome version",
43 | "last 1 firefox version",
44 | "last 1 safari version"
45 | ]
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Twitter clone
4 |
5 |
6 | Live demo
7 |
8 | This is a simple project made with the purpose of testing the GraphQL's Subscription feature.
9 |
10 | The focus of this project is the WebSocket comunication using Apollo Server + Client with React , so I didn't spend much time with the interface and bugs.
11 |
12 | Not recommended for < 1024px large screens.
13 |
14 | Setup
15 |
16 | - Make sure you have the latest version of Node and Docker installed.
17 | - Change the name off the .env.example file on /backend to .env
18 |
19 | > Linux / OSX
20 |
21 | - Run `make install`
22 | - Run `make up`
23 |
24 | > Other OS
25 |
26 | - Run a container with mongodb:`docker run -t twitter-db -p 27017:27107 -d mongo:latest`
27 | - Make sure you have two terminal tabs open
28 | - Run `yarn` on /frontend and /backend
29 | - Run `yarn start` on /frontend on one tab and /backend on the other
30 |
31 | Using
32 |
33 |
34 |
35 |
36 | - Type any Name and Username
37 | - Open a new browser window and "sign in" with another name and username
38 | - See the real-time comunication between clients.
39 |
--------------------------------------------------------------------------------
/frontend/src/components/Feed/Tweets/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import {
4 | Container,
5 | Tweet,
6 | ProfileContainer,
7 | ProfileIcon,
8 | RightContainer,
9 | Header,
10 | UserData,
11 | TweetData,
12 | TweetAuthor,
13 | ArrowDown,
14 | Content,
15 | Actions,
16 | Answer,
17 | Retweet,
18 | Like,
19 | Export,
20 | Stats
21 | } from './styles';
22 |
23 | import ReactTimeAgo from 'react-time-ago';
24 |
25 | export default function Tweets({ tweets }) {
26 | return (
27 |
28 | {tweets &&
29 | tweets.map(tweet => (
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | {tweet.author}
38 | @{tweet.user}
39 |
40 | ·{' '}
41 |
42 |
43 |
44 |
45 |
46 |
47 | {tweet.message}
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | ))}
59 |
60 | );
61 | }
62 |
--------------------------------------------------------------------------------
/frontend/src/pages/Login/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import {
4 | Container,
5 | LoginContainer,
6 | TwitterLogo,
7 | InputContainer,
8 | Input,
9 | UserIcon,
10 | AtIcon,
11 | LoginButton
12 | } from './styles';
13 | import { useState } from 'react';
14 | import { useEffect } from 'react';
15 |
16 | export default function Login({ history }) {
17 | const [name, setName] = useState('');
18 | const [username, setUsername] = useState('');
19 | const nameLabel = 'Name';
20 | const usernameLabel = 'Username';
21 |
22 | useEffect(() => {
23 | document.title = 'Twitter';
24 | }, []);
25 |
26 | function handleButtonClick() {
27 | sessionStorage.setItem('username', username);
28 | sessionStorage.setItem('name', name);
29 | if (sessionStorage.getItem('username') && sessionStorage.getItem('name')) {
30 | history.push('/');
31 | }
32 | }
33 |
34 | return (
35 |
36 |
37 |
38 |
39 |
40 | setName(e.target.value)}
44 | />
45 |
46 |
47 |
48 | setUsername(e.target.value)}
52 | />
53 |
54 | handleButtonClick()}>Sign in
55 |
56 |
57 | );
58 | }
59 |
--------------------------------------------------------------------------------
/frontend/src/pages/Login/styles.js:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import { blue, grey, darkGrey, darkBlue } from '../../global-styles';
3 | import { Twitter } from 'styled-icons/boxicons-logos';
4 | import { User, At } from 'styled-icons/boxicons-regular';
5 |
6 | export const Container = styled.div`
7 | height: 100%;
8 | display: flex;
9 | align-items: center;
10 | justify-content: center;
11 | `;
12 |
13 | export const LoginContainer = styled.div`
14 | width: 500px;
15 | height: 500px;
16 | display: flex;
17 | flex-direction: column;
18 | align-items: center;
19 | `;
20 |
21 | export const TwitterLogo = styled(Twitter).attrs({
22 | height: '100px'
23 | })`
24 | color: ${blue};
25 | margin-bottom: 50px;
26 | `;
27 |
28 | export const InputContainer = styled.div`
29 | width: 300px;
30 | height: 40px;
31 | background-color: ${grey};
32 | border-radius: 40px;
33 | padding: 0px 10px;
34 | margin: 5px 0px;
35 | display: flex;
36 | align-items: center;
37 | `;
38 |
39 | export const Input = styled.input`
40 | width: 100%;
41 | height: 100%;
42 | background: none;
43 | border: none;
44 | ::placeholder {
45 | color: ${darkGrey};
46 | }
47 | `;
48 |
49 | export const UserIcon = styled(User).attrs({
50 | height: '20px'
51 | })`
52 | color: ${darkGrey};
53 | margin-right: 10px;
54 | `;
55 |
56 | export const AtIcon = styled(At).attrs({
57 | height: '20px'
58 | })`
59 | color: ${darkGrey};
60 | margin-right: 10px;
61 | `;
62 |
63 | export const LoginButton = styled.button`
64 | width: 320px;
65 | height: 50px;
66 | background-color: ${blue};
67 | border: none;
68 | border-radius: 40px;
69 | margin-top: 20px;
70 | cursor: pointer;
71 | color: #fff;
72 | font-weight: bold;
73 | font-size: 18px;
74 | :hover {
75 | background-color: ${darkBlue};
76 | }
77 | `;
78 |
--------------------------------------------------------------------------------
/frontend/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
17 |
18 |
27 | Twitter
28 |
29 |
30 | You need to enable JavaScript to run this app.
31 |
32 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/frontend/src/components/Discover/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import {
4 | Container,
5 | SearchContainer,
6 | SearchIcon,
7 | SearchInput,
8 | TrendsContainer,
9 | TrendingTitle,
10 | ConfigIcons,
11 | TrendingTopicsContainer,
12 | TrendingTopic,
13 | Topic,
14 | ArrowDown,
15 | ShowMore
16 | } from './styles';
17 |
18 | export default function Discover() {
19 | const trends = [
20 | {
21 | id: 1,
22 | name: '#GraphQL',
23 | tweets: '127K Tweets',
24 | link: 'https://www.graphql.com/'
25 | },
26 | {
27 | id: 2,
28 | name: '#NodeJs',
29 | tweets: '999K Tweets',
30 | link: 'https://nodejs.org/en/'
31 | },
32 | {
33 | id: 3,
34 | name: '#React',
35 | tweets: '378K Tweets',
36 | link: 'https://reactjs.org/'
37 | },
38 | {
39 | id: 4,
40 | name: '#linkedin/viniciusestevam1',
41 | tweets: '31K Tweets',
42 | link: 'https://linkedin.com/in/vinicius-estevam1'
43 | },
44 | {
45 | id: 5,
46 | name: '#github/estevam31',
47 | tweets: '31K Tweets',
48 | link: 'https://github.com/estevam31'
49 | }
50 | ];
51 |
52 | return (
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Trends for you
61 |
62 |
63 | {trends.map(t => (
64 |
65 |
66 |
67 | {t.name}
68 |
69 | {t.tweets}
70 |
71 |
72 |
73 | ))}
74 |
75 |
76 | Show more
77 |
78 |
79 |
80 | );
81 | }
82 |
--------------------------------------------------------------------------------
/frontend/src/components/Feed/WhatsHappening/ActionBar/styles.js:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import { Image } from '@styled-icons/evil/Image';
3 | import { blue, lightBlue, darkGrey } from '../../../../global-styles';
4 | import { Gif } from 'styled-icons/material';
5 | import { Stats, PlusCircle } from 'styled-icons/boxicons-regular';
6 | import { SmileBeam } from 'styled-icons/fa-regular';
7 |
8 | export const Container = styled.div`
9 | width: 100%;
10 | height: 40%;
11 | display: flex;
12 | justify-content: space-between;
13 | `;
14 |
15 | export const LeftIconsContainer = styled.div`
16 | width: 20%;
17 | display: flex;
18 | justify-content: space-between;
19 | align-items: center;
20 | `;
21 |
22 | export const RightIconsContainer = styled.div`
23 | width: 220px;
24 | display: flex;
25 | justify-content: space-between;
26 | align-items: center;
27 | padding-right: 20px;
28 | `;
29 |
30 | const iconStyle = `
31 | color: ${blue};
32 | padding: 5px;
33 | border-radius: 50%;
34 | :hover {
35 | background-color: ${lightBlue};
36 | cursor: pointer;
37 | }
38 | `;
39 |
40 | export const ImageIcon = styled(Image).attrs({
41 | height: '40px'
42 | })`
43 | ${iconStyle};
44 | `;
45 |
46 | export const GifIcon = styled(Gif).attrs({
47 | height: '40px'
48 | })`
49 | ${iconStyle}
50 | `;
51 |
52 | export const StatsIcon = styled(Stats).attrs({
53 | height: '40px'
54 | })`
55 | ${iconStyle}
56 | `;
57 |
58 | export const SmileIcon = styled(SmileBeam).attrs({
59 | height: '30px'
60 | })`
61 | ${iconStyle}
62 | `;
63 |
64 | export const ButtonContainer = styled.div`
65 | height: 40px;
66 | width: 90px;
67 | `;
68 |
69 | export const PlusIcon = styled(PlusCircle).attrs({
70 | height: '40px'
71 | })`
72 | ${iconStyle}
73 | `;
74 |
75 | export const Divider = styled.span`
76 | height: 30px;
77 | width: 1px;
78 | background-color: ${darkGrey};
79 | `;
80 |
81 | export const Circle = styled.span`
82 | height: 25px;
83 | width: 25px;
84 | border: 2px solid ${blue};
85 | border-radius: 20px;
86 | :hover {
87 | background-color: ${lightBlue};
88 | cursor: pointer;
89 | }
90 | `;
91 |
--------------------------------------------------------------------------------
/frontend/src/components/Menu/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import {
4 | Container,
5 | MenuItemContainer,
6 | MenuItem,
7 | ActiveMenuItem,
8 | TwitterIcon,
9 | HomeIcon,
10 | HashIcon,
11 | NotificationIcon,
12 | MessagesIcon,
13 | BookmarksIcon,
14 | ListIcon,
15 | ProfileIcon,
16 | MoreIcon
17 | } from './styles';
18 |
19 | import TweetButton from '../TweetButton';
20 |
21 | export default function Menu() {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | Home
31 |
32 |
33 |
34 |
35 |
36 | Explore
37 |
38 |
39 |
40 |
41 |
42 | Notifications
43 |
44 |
45 |
46 |
47 |
48 | Messages
49 |
50 |
51 |
52 |
53 |
54 | Bookmarks
55 |
56 |
57 |
58 |
59 |
60 | Lists
61 |
62 |
63 |
64 |
65 |
66 | Profile
67 |
68 |
69 |
70 |
71 |
72 | More
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 | );
82 | }
83 |
--------------------------------------------------------------------------------
/frontend/src/components/Menu/styles.js:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import { Twitter } from 'styled-icons/boxicons-logos';
3 | import { HomeCircle, UserCircle } from 'styled-icons/boxicons-solid';
4 |
5 | import { blue, lightBlue } from '../../global-styles';
6 | import { Hash, Bookmark } from 'styled-icons/boxicons-regular';
7 | import { NotificationsNone, ListAlt } from 'styled-icons/material';
8 | import { EmailOutline } from 'styled-icons/evaicons-outline';
9 | import { Ellipsis } from 'styled-icons/octicons';
10 |
11 | export const Container = styled.div`
12 | display: flex;
13 | flex-direction: column;
14 | padding: 5px 10px;
15 | height: 100%;
16 | width: 250px;
17 | font-weight: bold;
18 | font-size: 20px;
19 | `;
20 |
21 | export const MenuItemContainer = styled.span`
22 | margin: 5px 0px;
23 | display: flex;
24 | flex-direction: column;
25 | `;
26 |
27 | export const MenuItem = styled.span`
28 | padding-right: 20px;
29 | height: ${props => (props.height ? props.height : '')};
30 | :hover {
31 | color: ${blue};
32 | background-color: ${props => (props.dontHover ? '' : lightBlue)};
33 | cursor: pointer;
34 | border-radius: 25px;
35 | }
36 | `;
37 |
38 | export const ActiveMenuItem = styled.span`
39 | padding-right: 20px;
40 | color: ${blue};
41 | cursor: pointer;
42 | border-radius: 25px;
43 | :hover {
44 | background-color: ${lightBlue};
45 | cursor: pointer;
46 | border-radius: 25px;
47 | }
48 | `;
49 |
50 | export const TwitterIcon = styled(Twitter).attrs({
51 | height: '55px'
52 | })`
53 | color: ${blue};
54 | padding: 10px;
55 | align-self: flex-start;
56 | :hover {
57 | background-color: ${lightBlue};
58 | cursor: pointer;
59 | border-radius: 50%;
60 | }
61 | `;
62 |
63 | const iconPadMg = `
64 | padding: 10px;
65 | margin-right: 5px;
66 | `;
67 |
68 | export const HomeIcon = styled(HomeCircle).attrs({
69 | height: '50px'
70 | })`
71 | ${iconPadMg}
72 | `;
73 |
74 | export const HashIcon = styled(Hash).attrs({
75 | height: '50px'
76 | })`
77 | ${iconPadMg}
78 | `;
79 |
80 | export const NotificationIcon = styled(NotificationsNone).attrs({
81 | height: '50px'
82 | })`
83 | ${iconPadMg}
84 | `;
85 |
86 | export const MessagesIcon = styled(EmailOutline).attrs({
87 | height: '50px'
88 | })`
89 | ${iconPadMg}
90 | `;
91 |
92 | export const BookmarksIcon = styled(Bookmark).attrs({
93 | height: '50px'
94 | })`
95 | ${iconPadMg}
96 | `;
97 |
98 | export const ListIcon = styled(ListAlt).attrs({
99 | height: '50px'
100 | })`
101 | ${iconPadMg}
102 | `;
103 |
104 | export const ProfileIcon = styled(UserCircle).attrs({
105 | height: '50px'
106 | })`
107 | ${iconPadMg}
108 | `;
109 |
110 | export const MoreIcon = styled(Ellipsis).attrs({
111 | height: '50px'
112 | })`
113 | ${iconPadMg};
114 | margin-left: 6px;
115 | `;
116 |
--------------------------------------------------------------------------------
/frontend/README.md:
--------------------------------------------------------------------------------
1 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `yarn start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 | You will also see any lint errors in the console.
14 |
15 | ### `yarn test`
16 |
17 | Launches the test runner in the interactive watch mode.
18 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
19 |
20 | ### `yarn build`
21 |
22 | Builds the app for production to the `build` folder.
23 | It correctly bundles React in production mode and optimizes the build for the best performance.
24 |
25 | The build is minified and the filenames include the hashes.
26 | Your app is ready to be deployed!
27 |
28 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
29 |
30 | ### `yarn eject`
31 |
32 | **Note: this is a one-way operation. Once you `eject`, you can’t go back!**
33 |
34 | If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
35 |
36 | Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
37 |
38 | You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
39 |
40 | ## Learn More
41 |
42 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
43 |
44 | To learn React, check out the [React documentation](https://reactjs.org/).
45 |
46 | ### Code Splitting
47 |
48 | This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
49 |
50 | ### Analyzing the Bundle Size
51 |
52 | This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
53 |
54 | ### Making a Progressive Web App
55 |
56 | This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
57 |
58 | ### Advanced Configuration
59 |
60 | This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
61 |
62 | ### Deployment
63 |
64 | This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
65 |
66 | ### `yarn build` fails to minify
67 |
68 | This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
69 |
--------------------------------------------------------------------------------
/frontend/src/components/Discover/styles.js:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import {
3 | grey,
4 | darkGrey,
5 | lightGrey,
6 | blue,
7 | lightBlue
8 | } from '../../global-styles';
9 | import { Search, Cog, ChevronDown } from 'styled-icons/boxicons-regular';
10 |
11 | export const Container = styled.div`
12 | width: 100%;
13 | height: 100%;
14 | display: flex;
15 | padding-top: 10px;
16 | padding-left: 30px;
17 | flex-direction: column;
18 | `;
19 |
20 | export const SearchContainer = styled.div`
21 | width: 300px;
22 | height: 40px;
23 | background-color: ${grey};
24 | border-radius: 40px;
25 | padding: 0px 10px;
26 | display: flex;
27 | align-items: center;
28 | `;
29 |
30 | export const SearchIcon = styled(Search).attrs({
31 | height: '20px'
32 | })`
33 | color: ${darkGrey};
34 | margin-right: 10px;
35 | `;
36 |
37 | export const SearchInput = styled.input`
38 | background: none;
39 | border: none;
40 | ::placeholder {
41 | color: ${darkGrey};
42 | }
43 | `;
44 |
45 | export const TrendsContainer = styled.div`
46 | width: 300px;
47 | height: 500px;
48 | margin-top: 20px;
49 | background-color: ${lightGrey};
50 | border-radius: 20px;
51 | display: flex;
52 | flex-direction: column;
53 | `;
54 |
55 | export const TrendingTitle = styled.span`
56 | font-weight: bold;
57 | font-size: 18px;
58 | height: 50px;
59 | width: 100%;
60 | background: none;
61 | display: flex;
62 | align-items: center;
63 | padding-left: 20px;
64 | border-bottom: 1px solid ${grey};
65 | justify-content: space-between;
66 | `;
67 |
68 | export const ConfigIcons = styled(Cog).attrs({
69 | height: '35px'
70 | })`
71 | color: ${blue};
72 | padding: 5px;
73 | margin-right: 20px;
74 | :hover {
75 | background-color: ${lightBlue};
76 | cursor: pointer;
77 | border-radius: 50%;
78 | }
79 | `;
80 |
81 | export const TrendingTopicsContainer = styled.div`
82 | width: 100%;
83 | `;
84 |
85 | export const TrendingTopic = styled.div`
86 | width: 100%;
87 | height: 80px;
88 | border-bottom: 1px solid ${grey};
89 | display: flex;
90 | `;
91 |
92 | export const Topic = styled.span`
93 | width: 100%;
94 | padding-left: 20px;
95 | display: flex;
96 | flex-direction: column;
97 | align-self: center;
98 | a {
99 | color: #000;
100 | text-decoration: none;
101 | font-weight: bold;
102 | :hover {
103 | text-decoration: underline;
104 | cursor: pointer;
105 | }
106 | }
107 | span {
108 | color: ${darkGrey};
109 | }
110 | `;
111 |
112 | export const ArrowDown = styled(ChevronDown).attrs({
113 | height: '35px'
114 | })`
115 | color: ${darkGrey};
116 | padding: 5px;
117 | border-radius: 50%;
118 | margin-right: 20px;
119 | :hover {
120 | background-color: ${lightBlue};
121 | cursor: pointer;
122 | border-radius: 50%;
123 | }
124 | `;
125 |
126 | export const ShowMore = styled.div`
127 | color: ${blue};
128 | display: flex;
129 | font-size: 14px;
130 | cursor: pointer;
131 | width: 100%;
132 | height: 50px;
133 | align-items: center;
134 | padding-left: 20px;
135 | `;
136 |
--------------------------------------------------------------------------------
/frontend/src/components/Feed/Tweets/styles.js:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import { UserCircle } from 'styled-icons/boxicons-solid';
3 | import { Retweet as RT } from '@styled-icons/entypo/Retweet';
4 | import { Export as Ex } from '@styled-icons/boxicons-regular/Export';
5 |
6 | import { grey, darkGrey, lightGrey, lightBlue } from '../../../global-styles';
7 | import {
8 | ChevronDown,
9 | MessageRounded,
10 | Heart
11 | } from 'styled-icons/boxicons-regular';
12 | import { StatsBars } from 'styled-icons/icomoon';
13 |
14 | export const iconHover = `:hover {
15 | background-color: ${lightBlue};
16 | cursor: pointer;
17 | border-radius: 50%;
18 | }`;
19 |
20 | export const Container = styled.div`
21 | margin: 10px 0px;
22 | width: 100%;
23 | background-color: #fff;
24 | border-left: 1px solid ${grey};
25 | border-right: 1px solid ${grey};
26 | `;
27 |
28 | export const Tweet = styled.div`
29 | margin-left: 1px solid ${grey};
30 | width: 100%;
31 | border-top: 1px solid ${grey};
32 | min-height: 100px;
33 | display: flex;
34 | :hover {
35 | cursor: pointer;
36 | background-color: ${lightGrey};
37 | }
38 | `;
39 |
40 | export const ProfileContainer = styled.div`
41 | height: 100%;
42 | width: 10%;
43 | display: flex;
44 | justify-content: center;
45 | `;
46 |
47 | export const ProfileIcon = styled(UserCircle).attrs({
48 | height: '70px'
49 | })`
50 | color: ${darkGrey};
51 | padding: 10px;
52 | margin: 20px 0px;
53 | `;
54 |
55 | export const RightContainer = styled.div`
56 | width: 90%;
57 | height: 100%;
58 | `;
59 |
60 | export const Header = styled.div`
61 | width: 100%;
62 | height: 35px;
63 | display: flex;
64 | align-items: center;
65 | justify-content: space-between;
66 | `;
67 |
68 | export const UserData = styled.div`
69 | width: 500px;
70 | height: 100%;
71 | display: flex;
72 | align-items: center;
73 | `;
74 |
75 | export const TweetAuthor = styled.span`
76 | font-weight: bold;
77 | :hover {
78 | text-decoration: underline;
79 | }
80 | `;
81 |
82 | export const TweetData = styled.span`
83 | color: ${darkGrey};
84 | margin-left: 10px;
85 | `;
86 |
87 | export const ArrowDown = styled(ChevronDown).attrs({
88 | height: '35px'
89 | })`
90 | color: ${darkGrey};
91 | padding: 5px;
92 | border-radius: 50%;
93 | margin-right: 10px;
94 | ${iconHover}
95 | `;
96 |
97 | export const Content = styled.div`
98 | width: 100%;
99 | min-height: 45px;
100 | display: flex;
101 | `;
102 |
103 | export const Actions = styled.div`
104 | width: 80%;
105 | min-height: 30px;
106 | display: flex;
107 | justify-content: space-between;
108 | `;
109 |
110 | const tweetIconsStyle = `
111 | color: ${darkGrey};
112 | padding: 5px;
113 | border-radius: 50%;
114 | ${iconHover}
115 | `;
116 |
117 | export const Answer = styled(MessageRounded).attrs({
118 | height: '30px'
119 | })`
120 | ${tweetIconsStyle}
121 | `;
122 |
123 | export const Retweet = styled(RT).attrs({
124 | height: '30px'
125 | })`
126 | ${tweetIconsStyle}
127 | `;
128 |
129 | export const Like = styled(Heart).attrs({
130 | height: '30px'
131 | })`
132 | ${tweetIconsStyle}
133 | `;
134 |
135 | export const Export = styled(Ex).attrs({
136 | height: '30px'
137 | })`
138 | ${tweetIconsStyle}
139 | `;
140 |
141 | export const Stats = styled(StatsBars).attrs({
142 | height: '30px'
143 | })`
144 | ${tweetIconsStyle}
145 | `;
146 |
--------------------------------------------------------------------------------
/backend/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@apollo/protobufjs@^1.0.3":
6 | version "1.0.3"
7 | resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.0.3.tgz#02c655aedd4ba7c7f64cbc3d2b1dd9a000a391ba"
8 | integrity sha512-gqeT810Ect9WIqsrgfUvr+ljSB5m1PyBae9HGdrRyQ3HjHjTcjVvxpsMYXlUk4rUHnrfUqyoGvLSy2yLlRGEOw==
9 | dependencies:
10 | "@protobufjs/aspromise" "^1.1.2"
11 | "@protobufjs/base64" "^1.1.2"
12 | "@protobufjs/codegen" "^2.0.4"
13 | "@protobufjs/eventemitter" "^1.1.0"
14 | "@protobufjs/fetch" "^1.1.0"
15 | "@protobufjs/float" "^1.0.2"
16 | "@protobufjs/inquire" "^1.1.0"
17 | "@protobufjs/path" "^1.1.2"
18 | "@protobufjs/pool" "^1.1.0"
19 | "@protobufjs/utf8" "^1.1.0"
20 | "@types/long" "^4.0.0"
21 | "@types/node" "^10.1.0"
22 | long "^4.0.0"
23 |
24 | "@apollographql/apollo-tools@^0.4.3":
25 | version "0.4.4"
26 | resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.4.4.tgz#e2564c35b22536de1e4a633b2fdea219583d082c"
27 | integrity sha512-kldvB9c+vzimel4yEktlkB08gaJ5DQn9ZuIfFf1kpAw+++5hFwYRWTyKgOhF9LbOWNWGropesYC7WwLja2erhQ==
28 | dependencies:
29 | apollo-env "^0.6.2"
30 |
31 | "@apollographql/graphql-playground-html@1.6.24":
32 | version "1.6.24"
33 | resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.24.tgz#3ce939cb127fb8aaa3ffc1e90dff9b8af9f2e3dc"
34 | integrity sha512-8GqG48m1XqyXh4mIZrtB5xOhUwSsh1WsrrsaZQOEYYql3YN9DEu9OOSg0ILzXHZo/h2Q74777YE4YzlArQzQEQ==
35 |
36 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
37 | version "1.1.2"
38 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
39 | integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=
40 |
41 | "@protobufjs/base64@^1.1.2":
42 | version "1.1.2"
43 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
44 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
45 |
46 | "@protobufjs/codegen@^2.0.4":
47 | version "2.0.4"
48 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
49 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
50 |
51 | "@protobufjs/eventemitter@^1.1.0":
52 | version "1.1.0"
53 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
54 | integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=
55 |
56 | "@protobufjs/fetch@^1.1.0":
57 | version "1.1.0"
58 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
59 | integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=
60 | dependencies:
61 | "@protobufjs/aspromise" "^1.1.1"
62 | "@protobufjs/inquire" "^1.1.0"
63 |
64 | "@protobufjs/float@^1.0.2":
65 | version "1.0.2"
66 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
67 | integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=
68 |
69 | "@protobufjs/inquire@^1.1.0":
70 | version "1.1.0"
71 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
72 | integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=
73 |
74 | "@protobufjs/path@^1.1.2":
75 | version "1.1.2"
76 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
77 | integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=
78 |
79 | "@protobufjs/pool@^1.1.0":
80 | version "1.1.0"
81 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
82 | integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=
83 |
84 | "@protobufjs/utf8@^1.1.0":
85 | version "1.1.0"
86 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
87 | integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
88 |
89 | "@types/accepts@*", "@types/accepts@^1.3.5":
90 | version "1.3.5"
91 | resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
92 | integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==
93 | dependencies:
94 | "@types/node" "*"
95 |
96 | "@types/body-parser@*", "@types/body-parser@1.19.0":
97 | version "1.19.0"
98 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f"
99 | integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==
100 | dependencies:
101 | "@types/connect" "*"
102 | "@types/node" "*"
103 |
104 | "@types/connect@*":
105 | version "3.4.33"
106 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546"
107 | integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==
108 | dependencies:
109 | "@types/node" "*"
110 |
111 | "@types/cookies@*":
112 | version "0.7.4"
113 | resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.4.tgz#26dedf791701abc0e36b5b79a5722f40e455f87b"
114 | integrity sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==
115 | dependencies:
116 | "@types/connect" "*"
117 | "@types/express" "*"
118 | "@types/keygrip" "*"
119 | "@types/node" "*"
120 |
121 | "@types/cors@^2.8.4":
122 | version "2.8.6"
123 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.6.tgz#cfaab33c49c15b1ded32f235111ce9123009bd02"
124 | integrity sha512-invOmosX0DqbpA+cE2yoHGUlF/blyf7nB0OGYBBiH27crcVm5NmFaZkLP4Ta1hGaesckCi5lVLlydNJCxkTOSg==
125 | dependencies:
126 | "@types/express" "*"
127 |
128 | "@types/express-serve-static-core@*":
129 | version "4.17.2"
130 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz#f6f41fa35d42e79dbf6610eccbb2637e6008a0cf"
131 | integrity sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg==
132 | dependencies:
133 | "@types/node" "*"
134 | "@types/range-parser" "*"
135 |
136 | "@types/express@*":
137 | version "4.17.3"
138 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.3.tgz#38e4458ce2067873b09a73908df488870c303bd9"
139 | integrity sha512-I8cGRJj3pyOLs/HndoP+25vOqhqWkAZsWMEmq1qXy/b/M3ppufecUwaK2/TVDVxcV61/iSdhykUjQQ2DLSrTdg==
140 | dependencies:
141 | "@types/body-parser" "*"
142 | "@types/express-serve-static-core" "*"
143 | "@types/serve-static" "*"
144 |
145 | "@types/express@4.17.2":
146 | version "4.17.2"
147 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.2.tgz#a0fb7a23d8855bac31bc01d5a58cadd9b2173e6c"
148 | integrity sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==
149 | dependencies:
150 | "@types/body-parser" "*"
151 | "@types/express-serve-static-core" "*"
152 | "@types/serve-static" "*"
153 |
154 | "@types/fs-capacitor@*":
155 | version "2.0.0"
156 | resolved "https://registry.yarnpkg.com/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz#17113e25817f584f58100fb7a08eed288b81956e"
157 | integrity sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==
158 | dependencies:
159 | "@types/node" "*"
160 |
161 | "@types/graphql-upload@^8.0.0":
162 | version "8.0.3"
163 | resolved "https://registry.yarnpkg.com/@types/graphql-upload/-/graphql-upload-8.0.3.tgz#b371edb5f305a2a1f7b7843a890a2a7adc55c3ec"
164 | integrity sha512-hmLg9pCU/GmxBscg8GCr1vmSoEmbItNNxdD5YH2TJkXm//8atjwuprB+xJBK714JG1dkxbbhp5RHX+Pz1KsCMA==
165 | dependencies:
166 | "@types/express" "*"
167 | "@types/fs-capacitor" "*"
168 | "@types/koa" "*"
169 | graphql "^14.5.3"
170 |
171 | "@types/http-assert@*":
172 | version "1.5.1"
173 | resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b"
174 | integrity sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==
175 |
176 | "@types/keygrip@*":
177 | version "1.0.2"
178 | resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72"
179 | integrity sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==
180 |
181 | "@types/koa-compose@*":
182 | version "3.2.5"
183 | resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.5.tgz#85eb2e80ac50be95f37ccf8c407c09bbe3468e9d"
184 | integrity sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==
185 | dependencies:
186 | "@types/koa" "*"
187 |
188 | "@types/koa@*":
189 | version "2.11.2"
190 | resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.11.2.tgz#0595656a59ff13ca97edf6dde7da1e5319651f9b"
191 | integrity sha512-2UPelagNNW6bnc1I5kIzluCaheXRA9S+NyOdXEFFj9Az7jc15ek5V03kb8OTbb3tdZ5i2BIJObe86PhHvpMolg==
192 | dependencies:
193 | "@types/accepts" "*"
194 | "@types/cookies" "*"
195 | "@types/http-assert" "*"
196 | "@types/keygrip" "*"
197 | "@types/koa-compose" "*"
198 | "@types/node" "*"
199 |
200 | "@types/long@^4.0.0":
201 | version "4.0.1"
202 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
203 | integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
204 |
205 | "@types/mime@*":
206 | version "2.0.1"
207 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d"
208 | integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==
209 |
210 | "@types/node-fetch@2.5.5":
211 | version "2.5.5"
212 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.5.tgz#cd264e20a81f4600a6c52864d38e7fef72485e92"
213 | integrity sha512-IWwjsyYjGw+em3xTvWVQi5MgYKbRs0du57klfTaZkv/B24AEQ/p/IopNeqIYNy3EsfHOpg8ieQSDomPcsYMHpA==
214 | dependencies:
215 | "@types/node" "*"
216 | form-data "^3.0.0"
217 |
218 | "@types/node@*":
219 | version "13.9.2"
220 | resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.2.tgz#ace1880c03594cc3e80206d96847157d8e7fa349"
221 | integrity sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==
222 |
223 | "@types/node@^10.1.0":
224 | version "10.17.17"
225 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.17.tgz#7a183163a9e6ff720d86502db23ba4aade5999b8"
226 | integrity sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==
227 |
228 | "@types/range-parser@*":
229 | version "1.2.3"
230 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
231 | integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
232 |
233 | "@types/serve-static@*":
234 | version "1.13.3"
235 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1"
236 | integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==
237 | dependencies:
238 | "@types/express-serve-static-core" "*"
239 | "@types/mime" "*"
240 |
241 | "@types/ws@^6.0.0":
242 | version "6.0.4"
243 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.4.tgz#7797707c8acce8f76d8c34b370d4645b70421ff1"
244 | integrity sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==
245 | dependencies:
246 | "@types/node" "*"
247 |
248 | "@wry/equality@^0.1.2":
249 | version "0.1.9"
250 | resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.9.tgz#b13e18b7a8053c6858aa6c85b54911fb31e3a909"
251 | integrity sha512-mB6ceGjpMGz1ZTza8HYnrPGos2mC6So4NhS1PtZ8s4Qt0K7fBiIGhpSxUbQmhwcSWE3no+bYxmI2OL6KuXYmoQ==
252 | dependencies:
253 | tslib "^1.9.3"
254 |
255 | accepts@^1.3.5, accepts@~1.3.7:
256 | version "1.3.7"
257 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
258 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
259 | dependencies:
260 | mime-types "~2.1.24"
261 | negotiator "0.6.2"
262 |
263 | apollo-cache-control@^0.9.0:
264 | version "0.9.0"
265 | resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.9.0.tgz#43d2eec16d40248683f46b9b28937a89ad3b5c54"
266 | integrity sha512-iLT6IT4Ul5cMfBcJAvhpk3a7AD6fXqvFxNmJEPVapVJHbSKYIjra4PTis13sOyN5Y3WQS6a+NRFxAW8+hL3q3Q==
267 | dependencies:
268 | apollo-server-env "^2.4.3"
269 | graphql-extensions "^0.11.0"
270 |
271 | apollo-datasource@^0.7.0:
272 | version "0.7.0"
273 | resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.7.0.tgz#2a6d82edb2eba21b4ddf21877009ba39ff821945"
274 | integrity sha512-Yja12BgNQhzuFGG/5Nw2MQe0hkuQy2+9er09HxeEyAf2rUDIPnhPrn1MDoZTB8MU7UGfjwITC+1ofzKkkrZobA==
275 | dependencies:
276 | apollo-server-caching "^0.5.1"
277 | apollo-server-env "^2.4.3"
278 |
279 | apollo-engine-reporting-protobuf@^0.4.4:
280 | version "0.4.4"
281 | resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.4.4.tgz#73a064f8c9f2d6605192d1673729c66ec47d9cb7"
282 | integrity sha512-SGrIkUR7Q/VjU8YG98xcvo340C4DaNUhg/TXOtGsMlfiJDzHwVau/Bv6zifAzBafp2lj0XND6Daj5kyT/eSI/w==
283 | dependencies:
284 | "@apollo/protobufjs" "^1.0.3"
285 |
286 | apollo-engine-reporting@^1.7.0:
287 | version "1.7.0"
288 | resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.7.0.tgz#34a54ef96da5cfe1dea3a4fdf02768d1cc7e154f"
289 | integrity sha512-jsjSnoHrRmk4XXK4aFU17YSJILmWsilKRwIeN74QJsSxjn5SCVF4EI/ebf/MNrTHpft8EhShx+wdkAcOD9ivqA==
290 | dependencies:
291 | apollo-engine-reporting-protobuf "^0.4.4"
292 | apollo-graphql "^0.4.0"
293 | apollo-server-caching "^0.5.1"
294 | apollo-server-env "^2.4.3"
295 | apollo-server-errors "^2.4.0"
296 | apollo-server-types "^0.3.0"
297 | async-retry "^1.2.1"
298 | graphql-extensions "^0.11.0"
299 |
300 | apollo-env@^0.6.2:
301 | version "0.6.2"
302 | resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.6.2.tgz#7d456cf3f36e410ce5e7b5f81506efd15095aadf"
303 | integrity sha512-Vb/doL1ZbzkNDJCQ6kYGOrphRx63rMERYo3MT2pzm2pNEdm6AK60InMgJaeh3RLK3cjGllOXFAgP8IY+m+TaEg==
304 | dependencies:
305 | "@types/node-fetch" "2.5.5"
306 | core-js "^3.0.1"
307 | node-fetch "^2.2.0"
308 | sha.js "^2.4.11"
309 |
310 | apollo-graphql@^0.4.0:
311 | version "0.4.1"
312 | resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.4.1.tgz#c9470b11cf29f046f6e9b747034417c200222e91"
313 | integrity sha512-dz2wtGeCqUDAKAj4KXLKLZiFY791aoXduul3KcLo8/6SwqWlsuZiPe0oB8mENHZZc/EchCpTMTJZX2ZENsOt2A==
314 | dependencies:
315 | apollo-env "^0.6.2"
316 | lodash.sortby "^4.7.0"
317 |
318 | apollo-link@^1.2.3:
319 | version "1.2.13"
320 | resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.13.tgz#dff00fbf19dfcd90fddbc14b6a3f9a771acac6c4"
321 | integrity sha512-+iBMcYeevMm1JpYgwDEIDt/y0BB7VWyvlm/7x+TIPNLHCTCMgcEgDuW5kH86iQZWo0I7mNwQiTOz+/3ShPFmBw==
322 | dependencies:
323 | apollo-utilities "^1.3.0"
324 | ts-invariant "^0.4.0"
325 | tslib "^1.9.3"
326 | zen-observable-ts "^0.8.20"
327 |
328 | apollo-server-caching@^0.5.1:
329 | version "0.5.1"
330 | resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.5.1.tgz#5cd0536ad5473abb667cc82b59bc56b96fb35db6"
331 | integrity sha512-L7LHZ3k9Ao5OSf2WStvQhxdsNVplRQi7kCAPfqf9Z3GBEnQ2uaL0EgO0hSmtVHfXTbk5CTRziMT1Pe87bXrFIw==
332 | dependencies:
333 | lru-cache "^5.0.0"
334 |
335 | apollo-server-core@^2.11.0:
336 | version "2.11.0"
337 | resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.11.0.tgz#91a055ce6cf12a8b43e8a4811d465d97fa324eac"
338 | integrity sha512-jHLOqwTRlyWzqWNRlwr2M/xfrt+lw2pHtKYyxUGRjWFo8EM5TX1gDcTKtbtvx9p5m+ZBDAhcWp/rpq0vSz4tqg==
339 | dependencies:
340 | "@apollographql/apollo-tools" "^0.4.3"
341 | "@apollographql/graphql-playground-html" "1.6.24"
342 | "@types/graphql-upload" "^8.0.0"
343 | "@types/ws" "^6.0.0"
344 | apollo-cache-control "^0.9.0"
345 | apollo-datasource "^0.7.0"
346 | apollo-engine-reporting "^1.7.0"
347 | apollo-server-caching "^0.5.1"
348 | apollo-server-env "^2.4.3"
349 | apollo-server-errors "^2.4.0"
350 | apollo-server-plugin-base "^0.7.0"
351 | apollo-server-types "^0.3.0"
352 | apollo-tracing "^0.9.0"
353 | fast-json-stable-stringify "^2.0.0"
354 | graphql-extensions "^0.11.0"
355 | graphql-tag "^2.9.2"
356 | graphql-tools "^4.0.0"
357 | graphql-upload "^8.0.2"
358 | sha.js "^2.4.11"
359 | subscriptions-transport-ws "^0.9.11"
360 | ws "^6.0.0"
361 |
362 | apollo-server-env@^2.4.3:
363 | version "2.4.3"
364 | resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.3.tgz#9bceedaae07eafb96becdfd478f8d92617d825d2"
365 | integrity sha512-23R5Xo9OMYX0iyTu2/qT0EUb+AULCBriA9w8HDfMoChB8M+lFClqUkYtaTTHDfp6eoARLW8kDBhPOBavsvKAjA==
366 | dependencies:
367 | node-fetch "^2.1.2"
368 | util.promisify "^1.0.0"
369 |
370 | apollo-server-errors@^2.4.0:
371 | version "2.4.0"
372 | resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.4.0.tgz#3096db02b6ae8d434a6b2678f74eddaad8b98452"
373 | integrity sha512-ZouZfr2sGavvI18rgdRcyY2ausRAlVtWNOax9zca8ZG2io86dM59jXBmUVSNlVZSmBsIh45YxYC0eRvr2vmRdg==
374 |
375 | apollo-server-express@^2.11.0:
376 | version "2.11.0"
377 | resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.11.0.tgz#ef59a15f6f9ba8a8fb90cfa8b7c4c436be6e84c0"
378 | integrity sha512-9bbiD+zFAx+xyurc9lxYmNa9y79k/gsA1vEyPFVcv7jxzCFC5wc0tcbV7NPX2qi1Nn7K76fxo2fPNYbPFX/y0g==
379 | dependencies:
380 | "@apollographql/graphql-playground-html" "1.6.24"
381 | "@types/accepts" "^1.3.5"
382 | "@types/body-parser" "1.19.0"
383 | "@types/cors" "^2.8.4"
384 | "@types/express" "4.17.2"
385 | accepts "^1.3.5"
386 | apollo-server-core "^2.11.0"
387 | apollo-server-types "^0.3.0"
388 | body-parser "^1.18.3"
389 | cors "^2.8.4"
390 | express "^4.17.1"
391 | graphql-subscriptions "^1.0.0"
392 | graphql-tools "^4.0.0"
393 | parseurl "^1.3.2"
394 | subscriptions-transport-ws "^0.9.16"
395 | type-is "^1.6.16"
396 |
397 | apollo-server-plugin-base@^0.7.0:
398 | version "0.7.0"
399 | resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.7.0.tgz#5c52ee311c8ef884b8b17be1b7e9d4597966dae1"
400 | integrity sha512-//xgYrBYLQSr92W0z3mYsFGoVz3wxKNsv3KcOUBhbOCGTbjZgP7vHOE1vhHhRcpZKKXmjXTVONdrnNJ+XVGi6A==
401 | dependencies:
402 | apollo-server-types "^0.3.0"
403 |
404 | apollo-server-types@^0.3.0:
405 | version "0.3.0"
406 | resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.3.0.tgz#01732e5fc6c4a2a522f051d5685c57a8e3dc620e"
407 | integrity sha512-FMo7kbTkhph9dfIQ3xDbRLObqmdQH9mwSjxhGsX+JxGMRPPXgd3+GZvCeVKOi/udxh//w1otSeAqItjvbj0tfQ==
408 | dependencies:
409 | apollo-engine-reporting-protobuf "^0.4.4"
410 | apollo-server-caching "^0.5.1"
411 | apollo-server-env "^2.4.3"
412 |
413 | apollo-server@^2.11.0:
414 | version "2.11.0"
415 | resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.11.0.tgz#f901f820716716e8693be8b0e234849f5819a4ae"
416 | integrity sha512-UhW6RHPBMWZy1v7KhzssUnxPBxpu9fGFajtqP68vtvvP3+xa2Y2GUg0594bHcUcLK+BjdMBQQSW27i0yQ/Fz9g==
417 | dependencies:
418 | apollo-server-core "^2.11.0"
419 | apollo-server-express "^2.11.0"
420 | express "^4.0.0"
421 | graphql-subscriptions "^1.0.0"
422 | graphql-tools "^4.0.0"
423 |
424 | apollo-tracing@^0.9.0:
425 | version "0.9.0"
426 | resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.9.0.tgz#673916ae674b9a8d72603f73af0b8561dfd38306"
427 | integrity sha512-oqspTrf4BLGbKkIk1vF+I31C2v7PPJmF36TFpT/+zJxNvJw54ji4ZMhtytgVqbVldQEintJmdHQIidYBGKmu+g==
428 | dependencies:
429 | apollo-server-env "^2.4.3"
430 | graphql-extensions "^0.11.0"
431 |
432 | apollo-utilities@^1.0.1, apollo-utilities@^1.3.0:
433 | version "1.3.3"
434 | resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.3.tgz#f1854715a7be80cd810bc3ac95df085815c0787c"
435 | integrity sha512-F14aX2R/fKNYMvhuP2t9GD9fggID7zp5I96MF5QeKYWDWTrkRdHRp4+SVfXUVN+cXOaB/IebfvRtzPf25CM0zw==
436 | dependencies:
437 | "@wry/equality" "^0.1.2"
438 | fast-json-stable-stringify "^2.0.0"
439 | ts-invariant "^0.4.0"
440 | tslib "^1.10.0"
441 |
442 | array-flatten@1.1.1:
443 | version "1.1.1"
444 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
445 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
446 |
447 | async-limiter@~1.0.0:
448 | version "1.0.1"
449 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
450 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
451 |
452 | async-retry@^1.2.1:
453 | version "1.3.1"
454 | resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.1.tgz#139f31f8ddce50c0870b0ba558a6079684aaed55"
455 | integrity sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==
456 | dependencies:
457 | retry "0.12.0"
458 |
459 | asynckit@^0.4.0:
460 | version "0.4.0"
461 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
462 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
463 |
464 | backo2@^1.0.2:
465 | version "1.0.2"
466 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
467 | integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
468 |
469 | bl@^2.2.0:
470 | version "2.2.0"
471 | resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.0.tgz#e1a574cdf528e4053019bb800b041c0ac88da493"
472 | integrity sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==
473 | dependencies:
474 | readable-stream "^2.3.5"
475 | safe-buffer "^5.1.1"
476 |
477 | bluebird@3.5.1:
478 | version "3.5.1"
479 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
480 | integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
481 |
482 | body-parser@1.19.0, body-parser@^1.18.3:
483 | version "1.19.0"
484 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
485 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
486 | dependencies:
487 | bytes "3.1.0"
488 | content-type "~1.0.4"
489 | debug "2.6.9"
490 | depd "~1.1.2"
491 | http-errors "1.7.2"
492 | iconv-lite "0.4.24"
493 | on-finished "~2.3.0"
494 | qs "6.7.0"
495 | raw-body "2.4.0"
496 | type-is "~1.6.17"
497 |
498 | bson@^1.1.1, bson@~1.1.1:
499 | version "1.1.3"
500 | resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.3.tgz#aa82cb91f9a453aaa060d6209d0675114a8154d3"
501 | integrity sha512-TdiJxMVnodVS7r0BdL42y/pqC9cL2iKynVwA0Ho3qbsQYr428veL3l7BQyuqiw+Q5SqqoT0m4srSY/BlZ9AxXg==
502 |
503 | busboy@^0.3.1:
504 | version "0.3.1"
505 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b"
506 | integrity sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==
507 | dependencies:
508 | dicer "0.3.0"
509 |
510 | bytes@3.1.0:
511 | version "3.1.0"
512 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
513 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
514 |
515 | combined-stream@^1.0.8:
516 | version "1.0.8"
517 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
518 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
519 | dependencies:
520 | delayed-stream "~1.0.0"
521 |
522 | content-disposition@0.5.3:
523 | version "0.5.3"
524 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
525 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
526 | dependencies:
527 | safe-buffer "5.1.2"
528 |
529 | content-type@~1.0.4:
530 | version "1.0.4"
531 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
532 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
533 |
534 | cookie-signature@1.0.6:
535 | version "1.0.6"
536 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
537 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
538 |
539 | cookie@0.4.0:
540 | version "0.4.0"
541 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
542 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
543 |
544 | core-js@^3.0.1:
545 | version "3.6.4"
546 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647"
547 | integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==
548 |
549 | core-util-is@~1.0.0:
550 | version "1.0.2"
551 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
552 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
553 |
554 | cors@^2.8.4, cors@^2.8.5:
555 | version "2.8.5"
556 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
557 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
558 | dependencies:
559 | object-assign "^4"
560 | vary "^1"
561 |
562 | debug@2.6.9:
563 | version "2.6.9"
564 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
565 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
566 | dependencies:
567 | ms "2.0.0"
568 |
569 | debug@3.1.0:
570 | version "3.1.0"
571 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
572 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
573 | dependencies:
574 | ms "2.0.0"
575 |
576 | define-properties@^1.1.2, define-properties@^1.1.3:
577 | version "1.1.3"
578 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
579 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
580 | dependencies:
581 | object-keys "^1.0.12"
582 |
583 | delayed-stream@~1.0.0:
584 | version "1.0.0"
585 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
586 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
587 |
588 | denque@^1.4.1:
589 | version "1.4.1"
590 | resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf"
591 | integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==
592 |
593 | depd@~1.1.2:
594 | version "1.1.2"
595 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
596 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
597 |
598 | deprecated-decorator@^0.1.6:
599 | version "0.1.6"
600 | resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37"
601 | integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=
602 |
603 | destroy@~1.0.4:
604 | version "1.0.4"
605 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
606 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
607 |
608 | dicer@0.3.0:
609 | version "0.3.0"
610 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872"
611 | integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==
612 | dependencies:
613 | streamsearch "0.1.2"
614 |
615 | dotenv@^8.2.0:
616 | version "8.2.0"
617 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
618 | integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
619 |
620 | ee-first@1.1.1:
621 | version "1.1.1"
622 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
623 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
624 |
625 | encodeurl@~1.0.2:
626 | version "1.0.2"
627 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
628 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
629 |
630 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.2:
631 | version "1.17.4"
632 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184"
633 | integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==
634 | dependencies:
635 | es-to-primitive "^1.2.1"
636 | function-bind "^1.1.1"
637 | has "^1.0.3"
638 | has-symbols "^1.0.1"
639 | is-callable "^1.1.5"
640 | is-regex "^1.0.5"
641 | object-inspect "^1.7.0"
642 | object-keys "^1.1.1"
643 | object.assign "^4.1.0"
644 | string.prototype.trimleft "^2.1.1"
645 | string.prototype.trimright "^2.1.1"
646 |
647 | es-to-primitive@^1.2.1:
648 | version "1.2.1"
649 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
650 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
651 | dependencies:
652 | is-callable "^1.1.4"
653 | is-date-object "^1.0.1"
654 | is-symbol "^1.0.2"
655 |
656 | escape-html@~1.0.3:
657 | version "1.0.3"
658 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
659 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
660 |
661 | esm@^3.2.25:
662 | version "3.2.25"
663 | resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
664 | integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
665 |
666 | etag@~1.8.1:
667 | version "1.8.1"
668 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
669 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
670 |
671 | eventemitter3@^3.1.0:
672 | version "3.1.2"
673 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
674 | integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
675 |
676 | express@^4.0.0, express@^4.17.1:
677 | version "4.17.1"
678 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
679 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
680 | dependencies:
681 | accepts "~1.3.7"
682 | array-flatten "1.1.1"
683 | body-parser "1.19.0"
684 | content-disposition "0.5.3"
685 | content-type "~1.0.4"
686 | cookie "0.4.0"
687 | cookie-signature "1.0.6"
688 | debug "2.6.9"
689 | depd "~1.1.2"
690 | encodeurl "~1.0.2"
691 | escape-html "~1.0.3"
692 | etag "~1.8.1"
693 | finalhandler "~1.1.2"
694 | fresh "0.5.2"
695 | merge-descriptors "1.0.1"
696 | methods "~1.1.2"
697 | on-finished "~2.3.0"
698 | parseurl "~1.3.3"
699 | path-to-regexp "0.1.7"
700 | proxy-addr "~2.0.5"
701 | qs "6.7.0"
702 | range-parser "~1.2.1"
703 | safe-buffer "5.1.2"
704 | send "0.17.1"
705 | serve-static "1.14.1"
706 | setprototypeof "1.1.1"
707 | statuses "~1.5.0"
708 | type-is "~1.6.18"
709 | utils-merge "1.0.1"
710 | vary "~1.1.2"
711 |
712 | fast-json-stable-stringify@^2.0.0:
713 | version "2.1.0"
714 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
715 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
716 |
717 | finalhandler@~1.1.2:
718 | version "1.1.2"
719 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
720 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
721 | dependencies:
722 | debug "2.6.9"
723 | encodeurl "~1.0.2"
724 | escape-html "~1.0.3"
725 | on-finished "~2.3.0"
726 | parseurl "~1.3.3"
727 | statuses "~1.5.0"
728 | unpipe "~1.0.0"
729 |
730 | form-data@^3.0.0:
731 | version "3.0.0"
732 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
733 | integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
734 | dependencies:
735 | asynckit "^0.4.0"
736 | combined-stream "^1.0.8"
737 | mime-types "^2.1.12"
738 |
739 | forwarded@~0.1.2:
740 | version "0.1.2"
741 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
742 | integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
743 |
744 | fresh@0.5.2:
745 | version "0.5.2"
746 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
747 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
748 |
749 | fs-capacitor@^2.0.4:
750 | version "2.0.4"
751 | resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-2.0.4.tgz#5a22e72d40ae5078b4fe64fe4d08c0d3fc88ad3c"
752 | integrity sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==
753 |
754 | function-bind@^1.1.1:
755 | version "1.1.1"
756 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
757 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
758 |
759 | graphql-extensions@^0.11.0:
760 | version "0.11.0"
761 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.11.0.tgz#2923b06f7452dad186d835327974b6c3ebb9c58f"
762 | integrity sha512-zd4qfUiJoYBx2MwJusM36SEJ+YmJ1ki8YF8nlm9mgaPDUzsnmFq4lxULxUfhLAXFwZw7MbEN2vV4V6WiNgSJLg==
763 | dependencies:
764 | "@apollographql/apollo-tools" "^0.4.3"
765 | apollo-server-env "^2.4.3"
766 | apollo-server-types "^0.3.0"
767 |
768 | graphql-subscriptions@^1.0.0:
769 | version "1.1.0"
770 | resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz#5f2fa4233eda44cf7570526adfcf3c16937aef11"
771 | integrity sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA==
772 | dependencies:
773 | iterall "^1.2.1"
774 |
775 | graphql-tag@^2.9.2:
776 | version "2.10.3"
777 | resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.3.tgz#ea1baba5eb8fc6339e4c4cf049dabe522b0edf03"
778 | integrity sha512-4FOv3ZKfA4WdOKJeHdz6B3F/vxBLSgmBcGeAFPf4n1F64ltJUvOOerNj0rsJxONQGdhUMynQIvd6LzB+1J5oKA==
779 |
780 | graphql-tools@^4.0.0:
781 | version "4.0.7"
782 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.7.tgz#743309b96cb657ff45b607ee0a07193cd987e43c"
783 | integrity sha512-rApl8sT8t/W1uQRcwzxMYyUBiCl/XicluApiDkNze5TX/GR0BSTQMjM2UcRGdTmkbsb1Eqq6afkyyeG/zMxZYQ==
784 | dependencies:
785 | apollo-link "^1.2.3"
786 | apollo-utilities "^1.0.1"
787 | deprecated-decorator "^0.1.6"
788 | iterall "^1.1.3"
789 | uuid "^3.1.0"
790 |
791 | graphql-upload@^8.0.2:
792 | version "8.1.0"
793 | resolved "https://registry.yarnpkg.com/graphql-upload/-/graphql-upload-8.1.0.tgz#6d0ab662db5677a68bfb1f2c870ab2544c14939a"
794 | integrity sha512-U2OiDI5VxYmzRKw0Z2dmfk0zkqMRaecH9Smh1U277gVgVe9Qn+18xqf4skwr4YJszGIh7iQDZ57+5ygOK9sM/Q==
795 | dependencies:
796 | busboy "^0.3.1"
797 | fs-capacitor "^2.0.4"
798 | http-errors "^1.7.3"
799 | object-path "^0.11.4"
800 |
801 | graphql@^14.5.3:
802 | version "14.6.0"
803 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49"
804 | integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg==
805 | dependencies:
806 | iterall "^1.2.2"
807 |
808 | has-symbols@^1.0.0, has-symbols@^1.0.1:
809 | version "1.0.1"
810 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
811 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
812 |
813 | has@^1.0.3:
814 | version "1.0.3"
815 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
816 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
817 | dependencies:
818 | function-bind "^1.1.1"
819 |
820 | http-errors@1.7.2:
821 | version "1.7.2"
822 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
823 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
824 | dependencies:
825 | depd "~1.1.2"
826 | inherits "2.0.3"
827 | setprototypeof "1.1.1"
828 | statuses ">= 1.5.0 < 2"
829 | toidentifier "1.0.0"
830 |
831 | http-errors@^1.7.3, http-errors@~1.7.2:
832 | version "1.7.3"
833 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
834 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
835 | dependencies:
836 | depd "~1.1.2"
837 | inherits "2.0.4"
838 | setprototypeof "1.1.1"
839 | statuses ">= 1.5.0 < 2"
840 | toidentifier "1.0.0"
841 |
842 | iconv-lite@0.4.24:
843 | version "0.4.24"
844 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
845 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
846 | dependencies:
847 | safer-buffer ">= 2.1.2 < 3"
848 |
849 | inherits@2.0.3:
850 | version "2.0.3"
851 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
852 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
853 |
854 | inherits@2.0.4, inherits@^2.0.1, inherits@~2.0.3:
855 | version "2.0.4"
856 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
857 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
858 |
859 | ipaddr.js@1.9.1:
860 | version "1.9.1"
861 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
862 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
863 |
864 | is-callable@^1.1.4, is-callable@^1.1.5:
865 | version "1.1.5"
866 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
867 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
868 |
869 | is-date-object@^1.0.1:
870 | version "1.0.2"
871 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
872 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
873 |
874 | is-regex@^1.0.5:
875 | version "1.0.5"
876 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
877 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==
878 | dependencies:
879 | has "^1.0.3"
880 |
881 | is-symbol@^1.0.2:
882 | version "1.0.3"
883 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
884 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
885 | dependencies:
886 | has-symbols "^1.0.1"
887 |
888 | isarray@~1.0.0:
889 | version "1.0.0"
890 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
891 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
892 |
893 | iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2:
894 | version "1.3.0"
895 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
896 | integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
897 |
898 | kareem@2.3.1:
899 | version "2.3.1"
900 | resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.3.1.tgz#def12d9c941017fabfb00f873af95e9c99e1be87"
901 | integrity sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==
902 |
903 | lodash.sortby@^4.7.0:
904 | version "4.7.0"
905 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
906 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
907 |
908 | long@^4.0.0:
909 | version "4.0.0"
910 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
911 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
912 |
913 | lru-cache@^5.0.0:
914 | version "5.1.1"
915 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
916 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
917 | dependencies:
918 | yallist "^3.0.2"
919 |
920 | media-typer@0.3.0:
921 | version "0.3.0"
922 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
923 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
924 |
925 | memory-pager@^1.0.2:
926 | version "1.5.0"
927 | resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5"
928 | integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==
929 |
930 | merge-descriptors@1.0.1:
931 | version "1.0.1"
932 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
933 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
934 |
935 | methods@~1.1.2:
936 | version "1.1.2"
937 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
938 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
939 |
940 | mime-db@1.43.0:
941 | version "1.43.0"
942 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
943 | integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
944 |
945 | mime-types@^2.1.12, mime-types@~2.1.24:
946 | version "2.1.26"
947 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
948 | integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
949 | dependencies:
950 | mime-db "1.43.0"
951 |
952 | mime@1.6.0:
953 | version "1.6.0"
954 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
955 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
956 |
957 | mongodb@3.5.5:
958 | version "3.5.5"
959 | resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.5.5.tgz#1334c3e5a384469ac7ef0dea69d59acc829a496a"
960 | integrity sha512-GCjDxR3UOltDq00Zcpzql6dQo1sVry60OXJY3TDmFc2SWFY6c8Gn1Ardidc5jDirvJrx2GC3knGOImKphbSL3A==
961 | dependencies:
962 | bl "^2.2.0"
963 | bson "^1.1.1"
964 | denque "^1.4.1"
965 | require_optional "^1.0.1"
966 | safe-buffer "^5.1.2"
967 | optionalDependencies:
968 | saslprep "^1.0.0"
969 |
970 | mongoose-legacy-pluralize@1.0.2:
971 | version "1.0.2"
972 | resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4"
973 | integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==
974 |
975 | mongoose@^5.9.5:
976 | version "5.9.5"
977 | resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.9.5.tgz#ac3b532197b961da4b9e08f8be1ed8bbd5d53b5f"
978 | integrity sha512-2kMNZCZRWCMtww4f//CwdGH6BjO3+9/c3YdsC6nbzdJVyl8+GRtNfgrKUge3226VZXXLJa6LwxXN2K8/Dh4irg==
979 | dependencies:
980 | bson "~1.1.1"
981 | kareem "2.3.1"
982 | mongodb "3.5.5"
983 | mongoose-legacy-pluralize "1.0.2"
984 | mpath "0.6.0"
985 | mquery "3.2.2"
986 | ms "2.1.2"
987 | regexp-clone "1.0.0"
988 | safe-buffer "5.1.2"
989 | sift "7.0.1"
990 | sliced "1.0.1"
991 |
992 | mpath@0.6.0:
993 | version "0.6.0"
994 | resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.6.0.tgz#aa922029fca4f0f641f360e74c5c1b6a4c47078e"
995 | integrity sha512-i75qh79MJ5Xo/sbhxrDrPSEG0H/mr1kcZXJ8dH6URU5jD/knFxCVqVC/gVSW7GIXL/9hHWlT9haLbCXWOll3qw==
996 |
997 | mquery@3.2.2:
998 | version "3.2.2"
999 | resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.2.2.tgz#e1383a3951852ce23e37f619a9b350f1fb3664e7"
1000 | integrity sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==
1001 | dependencies:
1002 | bluebird "3.5.1"
1003 | debug "3.1.0"
1004 | regexp-clone "^1.0.0"
1005 | safe-buffer "5.1.2"
1006 | sliced "1.0.1"
1007 |
1008 | ms@2.0.0:
1009 | version "2.0.0"
1010 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1011 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
1012 |
1013 | ms@2.1.1:
1014 | version "2.1.1"
1015 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
1016 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
1017 |
1018 | ms@2.1.2:
1019 | version "2.1.2"
1020 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1021 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1022 |
1023 | negotiator@0.6.2:
1024 | version "0.6.2"
1025 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
1026 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
1027 |
1028 | node-fetch@^2.1.2, node-fetch@^2.2.0:
1029 | version "2.6.0"
1030 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
1031 | integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
1032 |
1033 | object-assign@^4:
1034 | version "4.1.1"
1035 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1036 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
1037 |
1038 | object-inspect@^1.7.0:
1039 | version "1.7.0"
1040 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
1041 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
1042 |
1043 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
1044 | version "1.1.1"
1045 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1046 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1047 |
1048 | object-path@^0.11.4:
1049 | version "0.11.4"
1050 | resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
1051 | integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=
1052 |
1053 | object.assign@^4.1.0:
1054 | version "4.1.0"
1055 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
1056 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
1057 | dependencies:
1058 | define-properties "^1.1.2"
1059 | function-bind "^1.1.1"
1060 | has-symbols "^1.0.0"
1061 | object-keys "^1.0.11"
1062 |
1063 | object.getownpropertydescriptors@^2.1.0:
1064 | version "2.1.0"
1065 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
1066 | integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
1067 | dependencies:
1068 | define-properties "^1.1.3"
1069 | es-abstract "^1.17.0-next.1"
1070 |
1071 | on-finished@~2.3.0:
1072 | version "2.3.0"
1073 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
1074 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
1075 | dependencies:
1076 | ee-first "1.1.1"
1077 |
1078 | parseurl@^1.3.2, parseurl@~1.3.3:
1079 | version "1.3.3"
1080 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
1081 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
1082 |
1083 | path-to-regexp@0.1.7:
1084 | version "0.1.7"
1085 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
1086 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
1087 |
1088 | process-nextick-args@~2.0.0:
1089 | version "2.0.1"
1090 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
1091 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
1092 |
1093 | proxy-addr@~2.0.5:
1094 | version "2.0.6"
1095 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
1096 | integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
1097 | dependencies:
1098 | forwarded "~0.1.2"
1099 | ipaddr.js "1.9.1"
1100 |
1101 | qs@6.7.0:
1102 | version "6.7.0"
1103 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
1104 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
1105 |
1106 | range-parser@~1.2.1:
1107 | version "1.2.1"
1108 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
1109 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
1110 |
1111 | raw-body@2.4.0:
1112 | version "2.4.0"
1113 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
1114 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
1115 | dependencies:
1116 | bytes "3.1.0"
1117 | http-errors "1.7.2"
1118 | iconv-lite "0.4.24"
1119 | unpipe "1.0.0"
1120 |
1121 | readable-stream@^2.3.5:
1122 | version "2.3.7"
1123 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
1124 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
1125 | dependencies:
1126 | core-util-is "~1.0.0"
1127 | inherits "~2.0.3"
1128 | isarray "~1.0.0"
1129 | process-nextick-args "~2.0.0"
1130 | safe-buffer "~5.1.1"
1131 | string_decoder "~1.1.1"
1132 | util-deprecate "~1.0.1"
1133 |
1134 | regexp-clone@1.0.0, regexp-clone@^1.0.0:
1135 | version "1.0.0"
1136 | resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63"
1137 | integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==
1138 |
1139 | require_optional@^1.0.1:
1140 | version "1.0.1"
1141 | resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
1142 | integrity sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==
1143 | dependencies:
1144 | resolve-from "^2.0.0"
1145 | semver "^5.1.0"
1146 |
1147 | resolve-from@^2.0.0:
1148 | version "2.0.0"
1149 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
1150 | integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=
1151 |
1152 | retry@0.12.0:
1153 | version "0.12.0"
1154 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
1155 | integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
1156 |
1157 | safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1158 | version "5.1.2"
1159 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1160 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1161 |
1162 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2:
1163 | version "5.2.0"
1164 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
1165 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
1166 |
1167 | "safer-buffer@>= 2.1.2 < 3":
1168 | version "2.1.2"
1169 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1170 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1171 |
1172 | saslprep@^1.0.0:
1173 | version "1.0.3"
1174 | resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226"
1175 | integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==
1176 | dependencies:
1177 | sparse-bitfield "^3.0.3"
1178 |
1179 | semver@^5.1.0:
1180 | version "5.7.1"
1181 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
1182 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
1183 |
1184 | send@0.17.1:
1185 | version "0.17.1"
1186 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
1187 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
1188 | dependencies:
1189 | debug "2.6.9"
1190 | depd "~1.1.2"
1191 | destroy "~1.0.4"
1192 | encodeurl "~1.0.2"
1193 | escape-html "~1.0.3"
1194 | etag "~1.8.1"
1195 | fresh "0.5.2"
1196 | http-errors "~1.7.2"
1197 | mime "1.6.0"
1198 | ms "2.1.1"
1199 | on-finished "~2.3.0"
1200 | range-parser "~1.2.1"
1201 | statuses "~1.5.0"
1202 |
1203 | serve-static@1.14.1:
1204 | version "1.14.1"
1205 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
1206 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
1207 | dependencies:
1208 | encodeurl "~1.0.2"
1209 | escape-html "~1.0.3"
1210 | parseurl "~1.3.3"
1211 | send "0.17.1"
1212 |
1213 | setprototypeof@1.1.1:
1214 | version "1.1.1"
1215 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
1216 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
1217 |
1218 | sha.js@^2.4.11:
1219 | version "2.4.11"
1220 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
1221 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
1222 | dependencies:
1223 | inherits "^2.0.1"
1224 | safe-buffer "^5.0.1"
1225 |
1226 | sift@7.0.1:
1227 | version "7.0.1"
1228 | resolved "https://registry.yarnpkg.com/sift/-/sift-7.0.1.tgz#47d62c50b159d316f1372f8b53f9c10cd21a4b08"
1229 | integrity sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==
1230 |
1231 | sliced@1.0.1:
1232 | version "1.0.1"
1233 | resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
1234 | integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=
1235 |
1236 | sparse-bitfield@^3.0.3:
1237 | version "3.0.3"
1238 | resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11"
1239 | integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE=
1240 | dependencies:
1241 | memory-pager "^1.0.2"
1242 |
1243 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
1244 | version "1.5.0"
1245 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
1246 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
1247 |
1248 | streamsearch@0.1.2:
1249 | version "0.1.2"
1250 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
1251 | integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=
1252 |
1253 | string.prototype.trimleft@^2.1.1:
1254 | version "2.1.1"
1255 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74"
1256 | integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==
1257 | dependencies:
1258 | define-properties "^1.1.3"
1259 | function-bind "^1.1.1"
1260 |
1261 | string.prototype.trimright@^2.1.1:
1262 | version "2.1.1"
1263 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9"
1264 | integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==
1265 | dependencies:
1266 | define-properties "^1.1.3"
1267 | function-bind "^1.1.1"
1268 |
1269 | string_decoder@~1.1.1:
1270 | version "1.1.1"
1271 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
1272 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
1273 | dependencies:
1274 | safe-buffer "~5.1.0"
1275 |
1276 | subscriptions-transport-ws@^0.9.11, subscriptions-transport-ws@^0.9.16:
1277 | version "0.9.16"
1278 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec"
1279 | integrity sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw==
1280 | dependencies:
1281 | backo2 "^1.0.2"
1282 | eventemitter3 "^3.1.0"
1283 | iterall "^1.2.1"
1284 | symbol-observable "^1.0.4"
1285 | ws "^5.2.0"
1286 |
1287 | symbol-observable@^1.0.4:
1288 | version "1.2.0"
1289 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
1290 | integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
1291 |
1292 | toidentifier@1.0.0:
1293 | version "1.0.0"
1294 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
1295 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
1296 |
1297 | ts-invariant@^0.4.0:
1298 | version "0.4.4"
1299 | resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86"
1300 | integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==
1301 | dependencies:
1302 | tslib "^1.9.3"
1303 |
1304 | tslib@^1.10.0, tslib@^1.9.3:
1305 | version "1.11.1"
1306 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
1307 | integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
1308 |
1309 | type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18:
1310 | version "1.6.18"
1311 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
1312 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
1313 | dependencies:
1314 | media-typer "0.3.0"
1315 | mime-types "~2.1.24"
1316 |
1317 | unpipe@1.0.0, unpipe@~1.0.0:
1318 | version "1.0.0"
1319 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
1320 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
1321 |
1322 | util-deprecate@~1.0.1:
1323 | version "1.0.2"
1324 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1325 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
1326 |
1327 | util.promisify@^1.0.0:
1328 | version "1.0.1"
1329 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
1330 | integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
1331 | dependencies:
1332 | define-properties "^1.1.3"
1333 | es-abstract "^1.17.2"
1334 | has-symbols "^1.0.1"
1335 | object.getownpropertydescriptors "^2.1.0"
1336 |
1337 | utils-merge@1.0.1:
1338 | version "1.0.1"
1339 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
1340 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
1341 |
1342 | uuid@^3.1.0:
1343 | version "3.4.0"
1344 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
1345 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
1346 |
1347 | vary@^1, vary@~1.1.2:
1348 | version "1.1.2"
1349 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
1350 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
1351 |
1352 | ws@^5.2.0:
1353 | version "5.2.2"
1354 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
1355 | integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
1356 | dependencies:
1357 | async-limiter "~1.0.0"
1358 |
1359 | ws@^6.0.0:
1360 | version "6.2.1"
1361 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
1362 | integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
1363 | dependencies:
1364 | async-limiter "~1.0.0"
1365 |
1366 | yallist@^3.0.2:
1367 | version "3.1.1"
1368 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
1369 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1370 |
1371 | zen-observable-ts@^0.8.20:
1372 | version "0.8.20"
1373 | resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.20.tgz#44091e335d3fcbc97f6497e63e7f57d5b516b163"
1374 | integrity sha512-2rkjiPALhOtRaDX6pWyNqK1fnP5KkJJybYebopNSn6wDG1lxBoFs2+nwwXKoA6glHIrtwrfBBy6da0stkKtTAA==
1375 | dependencies:
1376 | tslib "^1.9.3"
1377 | zen-observable "^0.8.0"
1378 |
1379 | zen-observable@^0.8.0:
1380 | version "0.8.15"
1381 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
1382 | integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
1383 |
--------------------------------------------------------------------------------