frontend: introduce tanstack + mmkv
The idea is to have some persistent layer and use tanstack as a request cache
Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago
391cc7246372cfa8de4a5cda441a22365129b421 Browse filesParents
6b4f982Changed files
2
Additions
+53
Deletions
0
frontend/package-lock.json
1 1
{
2 2
"name": "orbit",
3 3
"version": "0.0.0",
4 4
"lockfileVersion": 3,
5 5
"requires": true,
14 14
"@react-native-community/datetimepicker": "8.4.4",
15 15
"@react-native-community/slider": "5.0.1",
16 16
"@react-navigation/bottom-tabs": "^7.4.0",
17 17
"@react-navigation/elements": "^2.6.3",
18 18
"@react-navigation/native": "^7.1.8",
19 +
"@tanstack/react-query": "^5.100.10",
19 20
"expo": "~54.0.34",
20 21
"expo-constants": "~18.0.13",
21 22
"expo-dev-client": "~6.0.21",
22 23
"expo-font": "~14.0.11",
23 24
"expo-haptics": "~15.0.8",
33 34
"expo-web-browser": "~15.0.11",
34 35
"react": "19.1.0",
35 36
"react-dom": "19.1.0",
36 37
"react-native": "0.81.5",
37 38
"react-native-gesture-handler": "~2.28.0",
39 +
"react-native-mmkv": "^4.3.1",
40 +
"react-native-nitro-modules": "^0.35.6",
38 41
"react-native-reanimated": "~4.1.1",
39 42
"react-native-safe-area-context": "~5.6.0",
40 43
"react-native-screens": "~4.16.0",
41 44
"react-native-teleport": "^1.1.2",
42 45
"react-native-web": "~0.21.0",
3160 3163
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
3161 3164
"integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
3162 3165
"license": "BSD-3-Clause",
3163 3166
"dependencies": {
3164 3167
"@sinonjs/commons": "^3.0.0"
3168 +
}
3169 +
},
3170 +
"node_modules/@tanstack/query-core": {
3171 +
"version": "5.100.10",
3172 +
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.10.tgz",
3173 +
"integrity": "sha512-8UR0yJR+GiQ40m3lPhUr0xbfAupe6GSQiksSBSa9SM2NjezFyxXCIA69/lz8cSoNKZLrw1/PktIyQBJcVeMi3w==",
3174 +
"license": "MIT",
3175 +
"funding": {
3176 +
"type": "github",
3177 +
"url": "https://github.com/sponsors/tannerlinsley"
3178 +
}
3179 +
},
3180 +
"node_modules/@tanstack/react-query": {
3181 +
"version": "5.100.10",
3182 +
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.10.tgz",
3183 +
"integrity": "sha512-FLaZf2RCrA/Zgp4aiu5tG3TyasTRO7aZ99skxQpr3Hg/zXOhu6yq5FZCYQ/tRaJtM9ylnoK8tFK7PolXQadv6Q==",
3184 +
"license": "MIT",
3185 +
"dependencies": {
3186 +
"@tanstack/query-core": "5.100.10"
3187 +
},
3188 +
"funding": {
3189 +
"type": "github",
3190 +
"url": "https://github.com/sponsors/tannerlinsley"
3191 +
},
3192 +
"peerDependencies": {
3193 +
"react": "^18 || ^19"
3165 3194
}
3166 3195
},
3167 3196
"node_modules/@tybys/wasm-util": {
3168 3197
"version": "0.10.1",
3169 3198
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
10515 10544
},
10516 10545
"node_modules/react-native-is-edge-to-edge": {
10517 10546
"version": "1.3.1",
10518 10547
"resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.3.1.tgz",
10519 10548
"integrity": "sha512-NIXU/iT5+ORyCc7p0z2nnlkouYKX425vuU1OEm6bMMtWWR9yvb+Xg5AZmImTKoF9abxCPqrKC3rOZsKzUYgYZA==",
10549 +
"license": "MIT",
10550 +
"peerDependencies": {
10551 +
"react": "*",
10552 +
"react-native": "*"
10553 +
}
10554 +
},
10555 +
"node_modules/react-native-mmkv": {
10556 +
"version": "4.3.1",
10557 +
"resolved": "https://registry.npmjs.org/react-native-mmkv/-/react-native-mmkv-4.3.1.tgz",
10558 +
"integrity": "sha512-APyGGaaHtayVgT18dBM8QGGZKr9pGfSTiBwbbPNzhGGfJQSU7awLGRGq879OqYl31HmVks9hOBLCs+qfgacRZg==",
10559 +
"license": "MIT",
10560 +
"peerDependencies": {
10561 +
"react": "*",
10562 +
"react-native": "*",
10563 +
"react-native-nitro-modules": "*"
10564 +
}
10565 +
},
10566 +
"node_modules/react-native-nitro-modules": {
10567 +
"version": "0.35.6",
10568 +
"resolved": "https://registry.npmjs.org/react-native-nitro-modules/-/react-native-nitro-modules-0.35.6.tgz",
10569 +
"integrity": "sha512-3Cb7s+O5tpZ6RdIiPOB/wi3IMfBxD6tl6VDF8gJ5zvM/BEGTWxwMMLjzmWmsYPKekdbYBznF6qp2d2SxixPy8g==",
10520 10570
"license": "MIT",
10521 10571
"peerDependencies": {
10522 10572
"react": "*",
10523 10573
"react-native": "*"
10524 10574
}
13109 13159
}
13110 13160
}
13111 13161
}
13112 13162
}
13113 13163
}
frontend/package.json
1 1
{
2 2
"name": "orbit",
3 3
"main": "expo-router/entry",
4 4
"version": "0.0.0",
5 5
"scripts": {
16 16
"@react-native-community/datetimepicker": "8.4.4",
17 17
"@react-native-community/slider": "5.0.1",
18 18
"@react-navigation/bottom-tabs": "^7.4.0",
19 19
"@react-navigation/elements": "^2.6.3",
20 20
"@react-navigation/native": "^7.1.8",
21 +
"@tanstack/react-query": "^5.100.10",
21 22
"expo": "~54.0.34",
22 23
"expo-constants": "~18.0.13",
23 24
"expo-dev-client": "~6.0.21",
24 25
"expo-font": "~14.0.11",
25 26
"expo-haptics": "~15.0.8",
35 36
"expo-web-browser": "~15.0.11",
36 37
"react": "19.1.0",
37 38
"react-dom": "19.1.0",
38 39
"react-native": "0.81.5",
39 40
"react-native-gesture-handler": "~2.28.0",
41 +
"react-native-mmkv": "^4.3.1",
42 +
"react-native-nitro-modules": "^0.35.6",
40 43
"react-native-reanimated": "~4.1.1",
41 44
"react-native-safe-area-context": "~5.6.0",
42 45
"react-native-screens": "~4.16.0",
43 46
"react-native-teleport": "^1.1.2",
44 47
"react-native-web": "~0.21.0",
51 54
"eslint-config-expo": "~10.0.0",
52 55
"typescript": "~5.9.2"
53 56
},
54 57
"private": true
55 58
}