Skip to content

Commit cdfa17b

Browse files
committed
Add prettier with ordered imports
1 parent 0f63cda commit cdfa17b

29 files changed

+428
-140
lines changed

.prettierrc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"tabWidth": 2,
3+
"useTabs": false,
4+
"singleQuote": true,
5+
"trailingComma": "all",
6+
"importOrder": [
7+
"^react(-native)?$",
8+
"^@?react",
9+
"^expo",
10+
"<THIRD_PARTY_MODULES>",
11+
"screens/",
12+
"components/",
13+
"hooks/",
14+
"utils/",
15+
"assets/",
16+
"^[./]"
17+
],
18+
"importOrderSeparation": true,
19+
"importOrderSortSpecifiers": true,
20+
"importOrderGroupNamespaceSpecifiers": true
21+
}

App.js

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
1-
import { useState, useEffect, useCallback, useRef } from 'react';
1+
import { useCallback, useEffect, useRef, useState } from 'react';
22
import { LayoutAnimation, View } from 'react-native';
3-
import { StatusBar } from 'expo-status-bar';
3+
4+
import { useAppState } from '@react-native-community/hooks';
45
import { NavigationContainer } from '@react-navigation/native';
56
import { createNativeStackNavigator } from '@react-navigation/native-stack';
6-
import Constants from 'expo-constants';
7-
import { useAppState } from '@react-native-community/hooks';
8-
import * as Updates from 'expo-updates';
9-
import { SafeAreaProvider } from 'react-native-safe-area-context';
107
import {
118
GestureHandlerRootView,
129
TouchableOpacity,
1310
} from 'react-native-gesture-handler';
11+
import { SafeAreaProvider } from 'react-native-safe-area-context';
12+
13+
import * as Updates from 'expo-updates';
14+
import Constants from 'expo-constants';
15+
import { StatusBar } from 'expo-status-bar';
16+
17+
import useStore from './hooks/useStore';
18+
import useTheme from './hooks/useTheme';
19+
import useViewportStore from './hooks/useViewportStore';
1420

21+
import CommentsScreen from './screens/CommentsScreen';
22+
import DevTestScreen from './screens/DevTestScreen';
23+
import LogsScreen from './screens/LogsScreen';
24+
import SettingsScreen from './screens/SettingsScreen';
1525
import StoriesScreen from './screens/StoriesScreen';
1626
import StoryScreen from './screens/StoryScreen';
17-
import CommentsScreen from './screens/CommentsScreen';
1827
import UserScreen from './screens/UserScreen';
19-
import SettingsScreen from './screens/SettingsScreen';
20-
import LogsScreen from './screens/LogsScreen';
21-
import DevTestScreen from './screens/DevTestScreen';
2228

2329
import Text from './components/Text';
2430

25-
import useStore from './hooks/useStore';
26-
import useTheme from './hooks/useTheme';
27-
import useViewportStore from './hooks/useViewportStore';
28-
2931
const BACKGROUND_BUFFER = 15 * 60 * 1000; // 15min
3032

3133
const Stack = createNativeStackNavigator();

components/ActivityIndicator.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useRef, useEffect } from 'react';
1+
import { useEffect, useRef } from 'react';
22
import { ActivityIndicator, Animated } from 'react-native';
33

44
export default function (props) {

components/Button.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useState } from 'react';
2-
import { StyleSheet, Pressable } from 'react-native';
2+
import { Pressable, StyleSheet } from 'react-native';
33

44
const styles = StyleSheet.create({
55
button: {

components/Comment.jsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,31 @@
1-
import { useRef, useCallback } from 'react';
1+
import { useCallback, useRef } from 'react';
22
import {
3-
StyleSheet,
4-
View,
5-
Alert,
6-
Pressable,
73
ActionSheetIOS,
4+
Alert,
85
Animated,
6+
Pressable,
7+
StyleSheet,
8+
View,
99
findNodeHandle,
1010
} from 'react-native';
11+
1112
import { useNavigation } from '@react-navigation/native';
12-
import * as Haptics from 'expo-haptics';
1313
import { TouchableOpacity } from 'react-native-gesture-handler';
14-
import format from 'date-fns/format';
1514

16-
import Text from './Text';
17-
import HTMLView2 from './HTMLView2';
18-
import TimeAgo from './TimeAgo';
15+
import * as Haptics from 'expo-haptics';
16+
17+
import format from 'date-fns/format';
1918

2019
import useStore from '../hooks/useStore';
2120
import useTheme from '../hooks/useTheme';
2221

2322
import openBrowser from '../utils/openBrowser';
2423
import openShare from '../utils/openShare';
2524

25+
import HTMLView2 from './HTMLView2';
26+
import Text from './Text';
27+
import TimeAgo from './TimeAgo';
28+
2629
const styles = StyleSheet.create({
2730
metadata: {
2831
flexDirection: 'row',

components/CommentContainer.jsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
import { useState, useCallback } from 'react';
2-
import { StyleSheet, View, PlatformColor } from 'react-native';
1+
import { useCallback, useState } from 'react';
2+
import { PlatformColor, StyleSheet, View } from 'react-native';
3+
34
import { useNavigation } from '@react-navigation/native';
4-
import Svg, { Path } from 'react-native-svg';
55
import { useFocusEffect } from '@react-navigation/native';
6-
7-
import Text from './Text';
8-
import Button from './Button';
9-
import Comment from './Comment';
10-
import Separator from './Separator';
11-
import ReadableWidthContainer from './ReadableWidthContainer';
6+
import Svg, { Path } from 'react-native-svg';
127

138
import useTheme from '../hooks/useTheme';
14-
import getHTMLText from '../utils/getHTMLText';
159

1610
import getCommentsMetadata from '../utils/getCommentsMetadata';
11+
import getHTMLText from '../utils/getHTMLText';
12+
13+
import Button from './Button';
14+
import Comment from './Comment';
15+
import ReadableWidthContainer from './ReadableWidthContainer';
16+
import Separator from './Separator';
17+
import Text from './Text';
1718

1819
const styles = StyleSheet.create({
1920
comment: {

components/CommentPage.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { useState } from 'react';
22
import { View } from 'react-native';
3-
import Text from './Text';
3+
44
import useTheme from '../hooks/useTheme';
55

6+
import Text from './Text';
7+
68
export default function CommentPage({ page }) {
79
if (!page) return null;
810
const { colors } = useTheme();

components/HTMLView.jsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
1-
import { useState, useEffect } from 'react';
1+
import { useEffect, useState } from 'react';
22
import {
3+
DynamicColorIOS,
4+
PlatformColor,
5+
ScrollView,
36
StyleSheet,
47
View,
5-
ScrollView,
6-
PlatformColor,
7-
DynamicColorIOS,
88
useWindowDimensions,
99
} from 'react-native';
10-
import { Parser } from 'htmlparser2';
11-
import { DomHandler } from 'domhandler';
12-
import urlRegexSafe from 'url-regex-safe';
10+
1311
import * as entities from 'entities';
12+
import { DomHandler } from 'domhandler';
13+
import { Parser } from 'htmlparser2';
1414
import stripIndent from 'strip-indent';
15-
16-
import Text from './Text';
15+
import urlRegexSafe from 'url-regex-safe';
1716

1817
import openBrowser from '../utils/openBrowser';
1918
import openShare from '../utils/openShare';
2019

20+
import Text from './Text';
21+
2122
const baseFontSize = 15;
2223
const nodeStyles = StyleSheet.create({
2324
default: {

components/HTMLView2.jsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
import { useState } from 'react';
22
import {
3+
DynamicColorIOS,
4+
PlatformColor,
5+
ScrollView,
36
StyleSheet,
47
View,
5-
ScrollView,
6-
PlatformColor,
7-
DynamicColorIOS,
88
useWindowDimensions,
99
} from 'react-native';
10+
1011
import { useNavigation } from '@react-navigation/native';
11-
import { parseFragment } from 'parse5';
12-
import urlRegexSafe from 'url-regex-safe';
12+
1313
import * as entities from 'entities';
14+
import { parseFragment } from 'parse5';
1415
import stripIndent from 'strip-indent';
15-
16-
import Text from './Text';
16+
import urlRegexSafe from 'url-regex-safe';
1717

1818
import useStore from '../hooks/useStore';
1919

2020
import openBrowser from '../utils/openBrowser';
2121
import openShare from '../utils/openShare';
2222

23+
import Text from './Text';
24+
2325
const baseFontSize = 15;
2426
const nodeStyles = StyleSheet.create({
2527
default: {

components/ListEmpty.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { View } from 'react-native';
33

44
import useViewportStore from '../hooks/useViewportStore';
55

6-
import Text from './Text';
76
import ActivityIndicator from './ActivityIndicator';
7+
import Text from './Text';
88

99
export default function ({
1010
state = null, // loading, nada, error

0 commit comments

Comments
 (0)