Skip to content

Commit 7e70162

Browse files
WIP: Refactor linter and add navigator
1 parent 2d85e27 commit 7e70162

File tree

9 files changed

+148
-32
lines changed

9 files changed

+148
-32
lines changed

.eslintrc.json

+5-9
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
},
1919
"plugins": ["react", "prettier"],
2020
"rules": {
21-
"import/no-absolute-path": [2, { "esmodule": false, "commonjs": false, "amd": false }],
21+
"import/no-absolute-path": [
22+
2,
23+
{ "esmodule": false, "commonjs": false, "amd": false }
24+
],
2225
"import/no-extraneous-dependencies": ["error", { "packageDir": "." }],
2326
"no-unused-expressions": "off",
2427
"no-use-before-define": [
@@ -31,13 +34,6 @@
3134
],
3235

3336
"no-nested-ternary": "error",
34-
"prettier/prettier": [
35-
"error",
36-
{
37-
"endOfLine": "auto"
38-
}
39-
],
40-
4137
"no-console": [
4238
"error",
4339
{
@@ -76,7 +72,7 @@
7672
"react/forbid-prop-types": "off",
7773
"react/destructuring-assignment": "off",
7874
"react/no-access-state-in-setstate": "off",
79-
"react/style-prop-object": ["error", { "allow": ["App"] }],
75+
"react/style-prop-object": ["off"],
8076

8177
"jsx-a11y/no-noninteractive-element-interactions": 1,
8278
"jsx-a11y/click-events-have-key-events": 1,

.prettierrc.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2-
"printWidth": 100,
3-
"singleQuote": true
4-
}
2+
"printWidth": 80,
3+
"singleQuote": true,
4+
"trailingComma": "all"
5+
}

App.js

+21-14
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,38 @@
1+
import * as React from 'react';
2+
import { NavigationContainer } from '@react-navigation/native';
3+
import { createStackNavigator } from '@react-navigation/stack';
4+
5+
import 'react-native-gesture-handler';
16
import { StatusBar } from 'expo-status-bar';
2-
import React from 'react';
3-
import { Text } from 'react-native';
47
import tail from 'mr-min-tail-css/react-native';
8+
import { StyleSheet, Text, View } from 'react-native';
9+
510
import { PersistGate } from 'redux-persist/es/integration/react';
611
import { Provider } from 'react-redux';
712
import { ThemeProvider } from 'styled-components';
813
import { store, persistor } from '~/store/store';
914
import defaultTheme from '~/constants/theme';
10-
import Counter from '~/components/Common/screens/Counter';
15+
16+
import Home from '~/pages/home';
17+
import Profile from '~/pages/profile';
1118
import { ContainerView } from './styles';
1219

20+
const Stack = createStackNavigator();
21+
1322
const App = () => (
1423
<ContainerView>
1524
<Provider store={store}>
1625
<PersistGate loading={null} persistor={persistor}>
1726
<ThemeProvider theme={defaultTheme}>
18-
<Text style={tail.fontBold}>Open up App.js to start working on your app2!</Text>
19-
<Counter />
27+
<NavigationContainer>
28+
<Stack.Navigator initialRouteName="Home">
29+
<Stack.Screen name="Home" component={Home} />
30+
<Stack.Screen name="Profile" component={Profile} />
31+
</Stack.Navigator>
32+
</NavigationContainer>
33+
<View>
34+
<Text>Open up App.js to start working on your app2!</Text>
35+
</View>
2036
<StatusBar style="auto" />
2137
</ThemeProvider>
2238
</PersistGate>
@@ -25,12 +41,3 @@ const App = () => (
2541
);
2642

2743
export default App;
28-
29-
// const styles = StyleSheet.create({
30-
// container: {
31-
// flex: 1,
32-
// backgroundColor: '#fff',
33-
// alignItems: 'center',
34-
// justifyContent: 'center',
35-
// },
36-
// });

package.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
},
1313
"dependencies": {
1414
"@react-native-community/async-storage": "^1.12.1",
15+
"@react-native-community/masked-view": "0.1.10",
16+
"@react-navigation/native": "^5.9.4",
17+
"@react-navigation/stack": "^5.14.4",
1518
"axios": "^0.21.1",
1619
"expo": "~40.0.0",
1720
"expo-splash-screen": "~0.8.0",
@@ -23,7 +26,8 @@
2326
"react-native": "~0.63.4",
2427
"react-native-gesture-handler": "~1.8.0",
2528
"react-native-reanimated": "~1.13.0",
26-
"react-native-screens": "~2.15.0",
29+
"react-native-safe-area-context": "3.1.9",
30+
"react-native-screens": "~2.15.2",
2731
"react-native-unimodules": "~0.12.0",
2832
"react-native-web": "~0.13.12",
2933
"react-redux": "^7.2.3",

source/pages/home/index.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import * as React from 'react';
2+
import { View, Text } from 'react-native';
3+
4+
const HomeScreen = () => (
5+
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
6+
<Text>Home Screen</Text>
7+
</View>
8+
);
9+
10+
export default HomeScreen;

source/pages/profile/index.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import * as React from 'react';
2+
import { View, Text } from 'react-native';
3+
4+
const Profile = () => (
5+
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
6+
<Text>Profile Screen</Text>
7+
</View>
8+
);
9+
10+
export default Profile;

source/store/request.js

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ instanceAxios.interceptors.response.use(
6565
instanceAxios.defaults.headers.common.Authorization = `Bearer ${localStorageService.getAccessToken()}`;
6666
return axios(originalRequest);
6767
}
68+
return res;
6869
});
6970
}
7071
return Promise.reject(error);

styles.js

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import styled from 'styled-components/native';
44
export const ContainerView2 = styled(View)``;
55
export const ContainerView = styled(View)`
66
flex: 1;
7-
background-color: gray;
87
align-items: center;
98
justify-content: center;
109
`;

yarn.lock

+92-4
Original file line numberDiff line numberDiff line change
@@ -2099,6 +2099,46 @@
20992099
sudo-prompt "^9.0.0"
21002100
wcwidth "^1.0.1"
21012101

2102+
"@react-native-community/[email protected]":
2103+
version "0.1.10"
2104+
resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.10.tgz#5dda643e19e587793bc2034dd9bf7398ad43d401"
2105+
integrity sha512-rk4sWFsmtOw8oyx8SD3KSvawwaK7gRBSEIy2TAwURyGt+3TizssXP1r8nx3zY+R7v2vYYHXZ+k2/GULAT/bcaQ==
2106+
2107+
"@react-navigation/core@^5.15.3":
2108+
version "5.15.3"
2109+
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.15.3.tgz#dce7090bf3ea0d302993d742c706825e495b812e"
2110+
integrity sha512-3ZdyDInh8qg1kygCNkmh9lFgpDf29lTvPsaMe2mm/qvmxLKSgttWBz07P2fc181aV9jTdgQpzYfWZ5KWT036zw==
2111+
dependencies:
2112+
"@react-navigation/routers" "^5.7.2"
2113+
escape-string-regexp "^4.0.0"
2114+
nanoid "^3.1.15"
2115+
query-string "^6.13.6"
2116+
react-is "^16.13.0"
2117+
2118+
"@react-navigation/native@^5.9.4":
2119+
version "5.9.4"
2120+
resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-5.9.4.tgz#414c044423c58aa1cdde1b6494309e0b51da08b8"
2121+
integrity sha512-BUCrOXfZDdKWBqM8OhOKQhCX5we4HUo5XG6tCQtVqQAep+7UcApZmMUuemUXDxVe8NPESUpoUlB0RaEpyIdfTQ==
2122+
dependencies:
2123+
"@react-navigation/core" "^5.15.3"
2124+
escape-string-regexp "^4.0.0"
2125+
nanoid "^3.1.15"
2126+
2127+
"@react-navigation/routers@^5.7.2":
2128+
version "5.7.2"
2129+
resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.7.2.tgz#069d0a707b30ba2e27a32b6482531d0ff7317136"
2130+
integrity sha512-BxNSMLHpU+oS37Xok0ql6rc9U7IC8aUD4+U5ZPbjDJ0pwzZxGGh0YOEBzfV4k/Ig3cbPdvVWbc1C9HHbCVr2oQ==
2131+
dependencies:
2132+
nanoid "^3.1.15"
2133+
2134+
"@react-navigation/stack@^5.14.4":
2135+
version "5.14.4"
2136+
resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.14.4.tgz#32f6717c03494f0ca6cf0dd43d8302af824de9e9"
2137+
integrity sha512-gQjWK8JHtVkD1p7wzjtSPuScJI0mSAk/N/gzgjQZo+rDUwgM8rOTDcVNRbtEOqCEgLQcZrZQHwhOjkrJirehjQ==
2138+
dependencies:
2139+
color "^3.1.3"
2140+
react-native-iphone-x-helper "^1.3.0"
2141+
21022142
"@sinonjs/commons@^1.7.0":
21032143
version "1.8.2"
21042144
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b"
@@ -3413,7 +3453,7 @@ collection-visit@^1.0.0:
34133453
map-visit "^1.0.0"
34143454
object-visit "^1.0.0"
34153455

3416-
color-convert@^1.9.0:
3456+
color-convert@^1.9.0, color-convert@^1.9.1:
34173457
version "1.9.3"
34183458
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
34193459
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -3437,7 +3477,7 @@ color-name@^1.0.0, color-name@~1.1.4:
34373477
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
34383478
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
34393479

3440-
color-string@^1.5.3:
3480+
color-string@^1.5.3, color-string@^1.5.4:
34413481
version "1.5.5"
34423482
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014"
34433483
integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==
@@ -3450,6 +3490,14 @@ color-support@^1.1.3:
34503490
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
34513491
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
34523492

3493+
color@^3.1.3:
3494+
version "3.1.3"
3495+
resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
3496+
integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==
3497+
dependencies:
3498+
color-convert "^1.9.1"
3499+
color-string "^1.5.4"
3500+
34533501
colorette@^1.0.7, colorette@^1.2.1:
34543502
version "1.2.2"
34553503
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
@@ -4168,6 +4216,11 @@ escape-string-regexp@^2.0.0:
41684216
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
41694217
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
41704218

4219+
escape-string-regexp@^4.0.0:
4220+
version "4.0.0"
4221+
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
4222+
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
4223+
41714224
escodegen@^1.11.1:
41724225
version "1.14.3"
41734226
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
@@ -5001,6 +5054,11 @@ fill-range@^7.0.1:
50015054
dependencies:
50025055
to-regex-range "^5.0.1"
50035056

5057+
filter-obj@^1.1.0:
5058+
version "1.1.0"
5059+
resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
5060+
integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
5061+
50045062
50055063
version "1.1.2"
50065064
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
@@ -7524,6 +7582,11 @@ nan@^2.12.1:
75247582
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
75257583
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
75267584

7585+
nanoid@^3.1.15:
7586+
version "3.1.22"
7587+
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844"
7588+
integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==
7589+
75277590
nanomatch@^1.2.9:
75287591
version "1.2.13"
75297592
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -8403,6 +8466,16 @@ qs@~6.5.2:
84038466
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
84048467
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
84058468

8469+
query-string@^6.13.6:
8470+
version "6.14.1"
8471+
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a"
8472+
integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==
8473+
dependencies:
8474+
decode-uri-component "^0.2.0"
8475+
filter-obj "^1.1.0"
8476+
split-on-first "^1.0.0"
8477+
strict-uri-encode "^2.0.0"
8478+
84068479
querystring-es3@^0.2.0:
84078480
version "0.2.1"
84088481
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -8456,7 +8529,7 @@ [email protected]:
84568529
prop-types "^15.6.2"
84578530
scheduler "^0.19.1"
84588531

8459-
react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
8532+
react-is@^16.12.0, react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6:
84608533
version "16.13.1"
84618534
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
84628535
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -8481,6 +8554,11 @@ react-native-gesture-handler@~1.8.0:
84818554
invariant "^2.2.4"
84828555
prop-types "^15.7.2"
84838556

8557+
react-native-iphone-x-helper@^1.3.0:
8558+
version "1.3.1"
8559+
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010"
8560+
integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==
8561+
84848562
react-native-reanimated@~1.13.0:
84858563
version "1.13.3"
84868564
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.13.3.tgz#fb0e1d582c8866015140f2159e147ffe6e798a3a"
@@ -8493,7 +8571,7 @@ [email protected]:
84938571
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.1.9.tgz#48864ea976b0fa57142a2cc523e1fd3314e7247e"
84948572
integrity sha512-wmcGbdyE/vBSL5IjDPReoJUEqxkZsywZw5gPwsVUV1NBpw5eTIdnL6Y0uNKHE25Z661moxPHQz6kwAkYQyorxA==
84958573

8496-
react-native-screens@~2.15.0:
8574+
react-native-screens@~2.15.2:
84978575
version "2.15.2"
84988576
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.15.2.tgz#a449700e895b462937211ec72ed6f09652758f06"
84998577
integrity sha512-CagNf2APXkVoRlF3Mugr264FbKbrBg9eXUkqhIPVeZB8EsdS8XPrnt99yj/pzmT+yJMBY0dGrjXT8+68WYh6YQ==
@@ -9390,6 +9468,11 @@ spdx-license-ids@^3.0.0:
93909468
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65"
93919469
integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
93929470

9471+
split-on-first@^1.0.0:
9472+
version "1.1.0"
9473+
resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
9474+
integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
9475+
93939476
split-string@^3.0.1, split-string@^3.0.2:
93949477
version "3.1.0"
93959478
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -9478,6 +9561,11 @@ stream-http@^2.7.2:
94789561
to-arraybuffer "^1.0.0"
94799562
xtend "^4.0.0"
94809563

9564+
strict-uri-encode@^2.0.0:
9565+
version "2.0.0"
9566+
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
9567+
integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
9568+
94819569
string-length@^3.1.0:
94829570
version "3.1.0"
94839571
resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837"

0 commit comments

Comments
 (0)