Skip to content
This repository was archived by the owner on Oct 9, 2024. It is now read-only.

Commit f3fedc6

Browse files
Adding Apollo client
1 parent fc7ed70 commit f3fedc6

File tree

4 files changed

+196
-11
lines changed

4 files changed

+196
-11
lines changed

todo-app-react/package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
"version": "0.1.0",
44
"private": true,
55
"dependencies": {
6+
"@apollo/react-hooks": "^3.1.5",
67
"@testing-library/jest-dom": "^4.2.4",
78
"@testing-library/react": "^9.3.2",
89
"@testing-library/user-event": "^7.1.2",
10+
"apollo-cache-inmemory": "^1.6.6",
11+
"apollo-client": "^2.6.10",
12+
"apollo-link-http": "^1.5.17",
913
"react": "^16.13.1",
1014
"react-dom": "^16.13.1",
1115
"react-scripts": "3.4.1",
@@ -31,5 +35,8 @@
3135
"last 1 firefox version",
3236
"last 1 safari version"
3337
]
38+
},
39+
"devDependencies": {
40+
"graphql": "^15.0.0"
3441
}
3542
}

todo-app-react/src/App.js

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,40 @@
1-
import React from 'react';
1+
import React from 'react'
2+
3+
import ApolloClient from "apollo-client";
4+
import { InMemoryCache } from "apollo-cache-inmemory";
5+
import { ApolloProvider } from "@apollo/react-hooks";
6+
import { createHttpLink } from "apollo-link-http";
7+
28
import './App.css';
39

10+
const createApolloClient = () => {
11+
const httpLink = createHttpLink({
12+
uri: "http://localhost:8080/graphql",
13+
options: {
14+
reconnect: true,
15+
},
16+
});
17+
18+
return new ApolloClient({
19+
link: httpLink,
20+
cache: new InMemoryCache()
21+
});
22+
}
23+
424
const App = () => {
25+
const client = createApolloClient();
526
return (
6-
<div>
7-
<h1>todos</h1>
8-
<input
9-
className="new-todo"
10-
placeholder="What needs to be done?"
11-
autoFocus={true}
12-
/>
13-
</div>
27+
<ApolloProvider client={client}>
28+
<div>
29+
<h1>todos</h1>
30+
<input
31+
className="new-todo"
32+
placeholder="What needs to be done?"
33+
autoFocus={true}
34+
/>
35+
</div>
36+
</ApolloProvider>
1437
);
1538
}
1639

17-
export default App;
40+
export default App

todo-app-react/src/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@ ReactDOM.render(
88
<App />,
99
document.getElementById('root')
1010
);
11-

todo-app-react/yarn.lock

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22
# yarn lockfile v1
33

44

5+
"@apollo/react-common@^3.1.4":
6+
version "3.1.4"
7+
resolved "https://registry.yarnpkg.com/@apollo/react-common/-/react-common-3.1.4.tgz#ec13c985be23ea8e799c9ea18e696eccc97be345"
8+
integrity sha512-X5Kyro73bthWSCBJUC5XYQqMnG0dLWuDZmVkzog9dynovhfiVCV4kPSdgSIkqnb++cwCzOVuQ4rDKVwo2XRzQA==
9+
dependencies:
10+
ts-invariant "^0.4.4"
11+
tslib "^1.10.0"
12+
13+
"@apollo/react-hooks@^3.1.5":
14+
version "3.1.5"
15+
resolved "https://registry.yarnpkg.com/@apollo/react-hooks/-/react-hooks-3.1.5.tgz#7e710be52461255ae7fc0b3b9c2ece64299c10e6"
16+
integrity sha512-y0CJ393DLxIIkksRup4nt+vSjxalbZBXnnXxYbviq/woj+zKa431zy0yT4LqyRKpFy9ahMIwxBnBwfwIoupqLQ==
17+
dependencies:
18+
"@apollo/react-common" "^3.1.4"
19+
"@wry/equality" "^0.1.9"
20+
ts-invariant "^0.4.4"
21+
tslib "^1.10.0"
22+
523
"@babel/code-frame@7.8.3", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
624
version "7.8.3"
725
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
@@ -1483,6 +1501,11 @@
14831501
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.2.tgz#ace1880c03594cc3e80206d96847157d8e7fa349"
14841502
integrity sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==
14851503

1504+
"@types/node@>=6":
1505+
version "14.0.1"
1506+
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
1507+
integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
1508+
14861509
"@types/parse-json@^4.0.0":
14871510
version "4.0.0"
14881511
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
@@ -1560,6 +1583,11 @@
15601583
dependencies:
15611584
"@types/yargs-parser" "*"
15621585

1586+
"@types/zen-observable@^0.8.0":
1587+
version "0.8.0"
1588+
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d"
1589+
integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==
1590+
15631591
"@typescript-eslint/eslint-plugin@^2.10.0":
15641592
version "2.24.0"
15651593
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz#a86cf618c965a462cddf3601f594544b134d6d68"
@@ -1749,6 +1777,21 @@
17491777
"@webassemblyjs/wast-parser" "1.8.5"
17501778
"@xtuc/long" "4.2.2"
17511779

1780+
"@wry/context@^0.4.0":
1781+
version "0.4.4"
1782+
resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz#e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8"
1783+
integrity sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==
1784+
dependencies:
1785+
"@types/node" ">=6"
1786+
tslib "^1.9.3"
1787+
1788+
"@wry/equality@^0.1.2", "@wry/equality@^0.1.9":
1789+
version "0.1.11"
1790+
resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790"
1791+
integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==
1792+
dependencies:
1793+
tslib "^1.9.3"
1794+
17521795
"@xtuc/ieee754@^1.2.0":
17531796
version "1.2.0"
17541797
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -1932,6 +1975,77 @@ anymatch@~3.1.1:
19321975
normalize-path "^3.0.0"
19331976
picomatch "^2.0.4"
19341977

1978+
apollo-cache-inmemory@^1.6.6:
1979+
version "1.6.6"
1980+
resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz#56d1f2a463a6b9db32e9fa990af16d2a008206fd"
1981+
integrity sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A==
1982+
dependencies:
1983+
apollo-cache "^1.3.5"
1984+
apollo-utilities "^1.3.4"
1985+
optimism "^0.10.0"
1986+
ts-invariant "^0.4.0"
1987+
tslib "^1.10.0"
1988+
1989+
apollo-cache@1.3.5, apollo-cache@^1.3.5:
1990+
version "1.3.5"
1991+
resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461"
1992+
integrity sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==
1993+
dependencies:
1994+
apollo-utilities "^1.3.4"
1995+
tslib "^1.10.0"
1996+
1997+
apollo-client@^2.6.10:
1998+
version "2.6.10"
1999+
resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a"
2000+
integrity sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==
2001+
dependencies:
2002+
"@types/zen-observable" "^0.8.0"
2003+
apollo-cache "1.3.5"
2004+
apollo-link "^1.0.0"
2005+
apollo-utilities "1.3.4"
2006+
symbol-observable "^1.0.2"
2007+
ts-invariant "^0.4.0"
2008+
tslib "^1.10.0"
2009+
zen-observable "^0.8.0"
2010+
2011+
apollo-link-http-common@^0.2.16:
2012+
version "0.2.16"
2013+
resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc"
2014+
integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==
2015+
dependencies:
2016+
apollo-link "^1.2.14"
2017+
ts-invariant "^0.4.0"
2018+
tslib "^1.9.3"
2019+
2020+
apollo-link-http@^1.5.17:
2021+
version "1.5.17"
2022+
resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba"
2023+
integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==
2024+
dependencies:
2025+
apollo-link "^1.2.14"
2026+
apollo-link-http-common "^0.2.16"
2027+
tslib "^1.9.3"
2028+
2029+
apollo-link@^1.0.0, apollo-link@^1.2.14:
2030+
version "1.2.14"
2031+
resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9"
2032+
integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==
2033+
dependencies:
2034+
apollo-utilities "^1.3.0"
2035+
ts-invariant "^0.4.0"
2036+
tslib "^1.9.3"
2037+
zen-observable-ts "^0.8.21"
2038+
2039+
apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4:
2040+
version "1.3.4"
2041+
resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf"
2042+
integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==
2043+
dependencies:
2044+
"@wry/equality" "^0.1.2"
2045+
fast-json-stable-stringify "^2.0.0"
2046+
ts-invariant "^0.4.0"
2047+
tslib "^1.10.0"
2048+
19352049
aproba@^1.1.1:
19362050
version "1.2.0"
19372051
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -4786,6 +4900,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6
47864900
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
47874901
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
47884902

4903+
graphql@^15.0.0:
4904+
version "15.0.0"
4905+
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.0.0.tgz#042a5eb5e2506a2e2111ce41eb446a8e570b8be9"
4906+
integrity sha512-ZyVO1xIF9F+4cxfkdhOJINM+51B06Friuv4M66W7HzUOeFd+vNzUn4vtswYINPi6sysjf1M2Ri/rwZALqgwbaQ==
4907+
47894908
growly@^1.3.0:
47904909
version "1.3.0"
47914910
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
@@ -7148,6 +7267,13 @@ opn@^5.5.0:
71487267
dependencies:
71497268
is-wsl "^1.1.0"
71507269

7270+
optimism@^0.10.0:
7271+
version "0.10.3"
7272+
resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz#163268fdc741dea2fb50f300bedda80356445fd7"
7273+
integrity sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw==
7274+
dependencies:
7275+
"@wry/context" "^0.4.0"
7276+
71517277
optimize-css-assets-webpack-plugin@5.0.3:
71527278
version "5.0.3"
71537279
resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572"
@@ -9799,6 +9925,11 @@ svgo@^1.0.0, svgo@^1.2.2:
97999925
unquote "~1.1.1"
98009926
util.promisify "~1.0.0"
98019927

9928+
symbol-observable@^1.0.2:
9929+
version "1.2.0"
9930+
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
9931+
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
9932+
98029933
symbol-tree@^3.2.2:
98039934
version "3.2.4"
98049935
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
@@ -9987,6 +10118,13 @@ tr46@^1.0.1:
998710118
dependencies:
998810119
punycode "^2.1.0"
998910120

10121+
ts-invariant@^0.4.0, ts-invariant@^0.4.4:
10122+
version "0.4.4"
10123+
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86"
10124+
integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==
10125+
dependencies:
10126+
tslib "^1.9.3"
10127+
999010128
ts-pnp@1.1.6, ts-pnp@^1.1.6:
999110129
version "1.1.6"
999210130
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a"
@@ -9997,6 +10135,11 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0:
999710135
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
999810136
integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
999910137

10138+
tslib@^1.9.3:
10139+
version "1.13.0"
10140+
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
10141+
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
10142+
1000010143
tsutils@^3.17.1:
1000110144
version "3.17.1"
1000210145
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
@@ -10798,3 +10941,16 @@ yargs@^13.3.0:
1079810941
which-module "^2.0.0"
1079910942
y18n "^4.0.0"
1080010943
yargs-parser "^13.1.2"
10944+
10945+
zen-observable-ts@^0.8.21:
10946+
version "0.8.21"
10947+
resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d"
10948+
integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==
10949+
dependencies:
10950+
tslib "^1.9.3"
10951+
zen-observable "^0.8.0"
10952+
10953+
zen-observable@^0.8.0:
10954+
version "0.8.15"
10955+
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
10956+
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==

0 commit comments

Comments
 (0)