create-expo-stack 2.3.15 → 2.4.0-next.1fb5698

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +7 -1
  2. package/build/commands/create-expo-stack.js +14 -1
  3. package/build/templates/base/App.tsx.ejs +12 -0
  4. package/build/templates/base/package.json.ejs +5 -0
  5. package/build/templates/packages/expo-router/drawer/app/(drawer)/index.tsx.ejs +10 -1
  6. package/build/templates/packages/expo-router/drawer/app/(drawer)/news.tsx.ejs +10 -1
  7. package/build/templates/packages/expo-router/drawer/app/[...unmatched].tsx.ejs +25 -0
  8. package/build/templates/packages/expo-router/drawer/app/_layout.tsx.ejs +10 -2
  9. package/build/templates/packages/expo-router/stack/app/[...unmatched].tsx.ejs +25 -0
  10. package/build/templates/packages/expo-router/stack/app/_layout.tsx.ejs +9 -3
  11. package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +26 -0
  12. package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +51 -2
  13. package/build/templates/packages/expo-router/tabs/app/(tabs)/index.tsx.ejs +10 -0
  14. package/build/templates/packages/expo-router/tabs/app/(tabs)/two.tsx.ejs +10 -0
  15. package/build/templates/packages/expo-router/tabs/app/[...unmatched].tsx.ejs +25 -0
  16. package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +8 -0
  17. package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +12 -0
  18. package/build/templates/packages/expo-router/tabs/components/edit-screen-info.tsx.ejs +16 -1
  19. package/build/templates/packages/react-navigation/App.tsx.ejs +11 -1
  20. package/build/templates/packages/react-navigation/components/edit-screen-info.tsx.ejs +23 -1
  21. package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +19 -3
  22. package/build/templates/packages/react-navigation/navigation/tab-navigator.tsx.ejs +6 -2
  23. package/build/templates/packages/react-navigation/screens/details.tsx.ejs +13 -0
  24. package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +25 -1
  25. package/build/templates/packages/react-navigation/screens/one.tsx.ejs +22 -0
  26. package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +43 -0
  27. package/build/templates/packages/react-navigation/screens/two.tsx.ejs +23 -1
  28. package/build/templates/packages/restyle/theme/Box.tsx.ejs +6 -0
  29. package/build/templates/packages/restyle/theme/Text.tsx.ejs +6 -0
  30. package/build/templates/packages/restyle/theme/index.ts.ejs +6 -0
  31. package/build/templates/packages/restyle/theme/theme.ts.ejs +67 -0
  32. package/build/types/types.d.ts +1 -1
  33. package/build/types.js +3 -2
  34. package/build/utilities/configureProjectFiles.js +12 -1
  35. package/build/utilities/generateProjectFiles.js +4 -1
  36. package/build/utilities/runCLI.js +6 -2
  37. package/build/utilities/showHelp.js +2 -1
  38. package/package.json +66 -66
@@ -1,8 +1,9 @@
1
- import React from "react";
2
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
3
2
  import { Text, View } from "react-native";
4
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
5
4
  import { YStack, H4, Paragraph } from "tamagui"
5
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
6
+ import { Box, Text } from 'theme';
6
7
  <% } else { %>
7
8
  import { StyleSheet, Text, View } from "react-native";
8
9
  <% } %>
@@ -40,6 +41,20 @@ export default function EditScreenInfo({ path }: { path: string }) {
40
41
  </YStack>
41
42
  </YStack>
42
43
  );
44
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
45
+ return (
46
+ <Box alignItems="center" marginHorizontal="xl_64">
47
+ <Text variant="body" lineHeight={24} textAlign="center">
48
+ Open up the code for this screen:
49
+ </Text>
50
+ <Box borderRadius="s_3" paddingHorizontal="xs_4" marginVertical="s_8">
51
+ <Text>{path}</Text>
52
+ </Box>
53
+ <Text variant="body" lineHeight={24} textAlign="center">
54
+ Change any of the text, save the file, and your app will automatically update.
55
+ </Text>
56
+ </Box>
57
+ );
43
58
  <% } else { %>
44
59
  return (
45
60
  <View>
@@ -8,7 +8,11 @@ import "react-native-gesture-handler";
8
8
  import config from './tamagui.config'
9
9
 
10
10
  SplashScreen.preventAutoHideAsync();
11
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
12
+ import { ThemeProvider } from '@shopify/restyle';
13
+ import { theme } from 'theme';
11
14
  <% } %>
15
+
12
16
  import RootStack from "./src/navigation";
13
17
 
14
18
  export default function App() {
@@ -33,7 +37,13 @@ export default function App() {
33
37
  <RootStack />
34
38
  </TamaguiProvider>
35
39
  );
36
- <% } else { %>
40
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
41
+ return (
42
+ <ThemeProvider theme={theme}>
43
+ <RootStack />
44
+ </ThemeProvider>
45
+ );
46
+ <% } else { %>
37
47
  return <RootStack />;
38
48
  <% } %>
39
49
  }
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  <% if (props.stylingPackage?.name === "nativewind") { %>
3
3
  import { Text, View } from "react-native";
4
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
5
+ import { Box, Text } from 'theme';
4
6
  <% } else { %>
5
7
  import { StyleSheet, Text, View } from "react-native";
6
8
  <% } %>
@@ -30,6 +32,26 @@ import React from "react";
30
32
  </View>
31
33
  );
32
34
  }
35
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
36
+ export default function EditScreenInfo({ path }: { path: string }) {
37
+ return (
38
+ <Box>
39
+ <Box alignItems="center" marginHorizontal="xl_64">
40
+ <Text variant="body" lineHeight={24} textAlign="center">
41
+ Open up the code for this screen:
42
+ </Text>
43
+
44
+ <Box borderRadius="s_3" paddingHorizontal="xs_4" marginVertical="s_8">
45
+ <Text>{path}</Text>
46
+ </Box>
47
+
48
+ <Text variant="body" lineHeight={24} textAlign="center">
49
+ Change any of the text, save the file, and your app will automatically update.
50
+ </Text>
51
+ </Box>
52
+ </Box>
53
+ );
54
+ }
33
55
  <% } else { %>
34
56
  export default function EditScreenInfo({ path }: { path: string }) {
35
57
  return (
@@ -66,7 +88,7 @@ import React from "react";
66
88
  helpLink: "py-4",
67
89
  helpLinkText: "text-center"
68
90
  };
69
- <% } else { %>
91
+ <% } else if (props.stylingPackage?.name !== "restyle") { %>
70
92
  const styles = StyleSheet.create({
71
93
  codeHighlightContainer: {
72
94
  borderRadius: 3,
@@ -6,6 +6,8 @@
6
6
  import { Text, View } from "react-native";
7
7
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
8
8
  import { Button, Text } from "tamagui";
9
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
10
+ import { Box, Text, useTheme } from 'theme';
9
11
  <% } else { %>
10
12
  import { Text, View, StyleSheet } from "react-native";
11
13
  <% } %>
@@ -21,6 +23,9 @@
21
23
  const Stack = createStackNavigator<RootStackParamList>();
22
24
 
23
25
  export default function RootStack() {
26
+ <% if (props.stylingPackage?.name === "restyle") { %>
27
+ const { colors } = useTheme();
28
+ <% } %>
24
29
  return (
25
30
  <NavigationContainer>
26
31
  <Stack.Navigator initialRouteName="Overview">
@@ -53,6 +58,17 @@
53
58
  </Button>
54
59
  ),
55
60
  })}
61
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
62
+ options={({ navigation }) => ({
63
+ headerLeft: () => (
64
+ <Box flexDirection="row" paddingLeft="m_16">
65
+ <Feather name="chevron-left" size={16} color={colors.blue} />
66
+ <Text marginLeft="xs_4" color="blue" onPress={navigation.goBack}>
67
+ Back
68
+ </Text>
69
+ </Box>
70
+ ),
71
+ })}
56
72
  <% } else { %>
57
73
  options={({ navigation }) => ({
58
74
  headerLeft: () => (
@@ -112,13 +128,13 @@
112
128
  <Stack.Screen
113
129
  name="Modal"
114
130
  component={Modal}
115
- options={{ presentation: "modal", headerLeft: null }}
131
+ options={{ presentation: "modal", headerLeft: () => null }}
116
132
  />
117
133
  </Stack.Navigator>
118
134
  </NavigationContainer>
119
135
  );
120
136
  }
121
- <% } else if (props.navigationPackage?.options.type === 'drawer') { %>
137
+ <% } else if (props.navigationPackage?.options.type === 'drawer') { %>
122
138
  import { NavigationContainer } from "@react-navigation/native";
123
139
  import { createStackNavigator } from '@react-navigation/stack';
124
140
 
@@ -150,4 +166,4 @@
150
166
  </NavigationContainer>
151
167
  );
152
168
  }
153
- <% } %>
169
+ <% } %>
@@ -1,7 +1,9 @@
1
1
  import FontAwesome from "@expo/vector-icons/FontAwesome";
2
- import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
2
+ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
3
+ import { StackScreenProps } from '@react-navigation/stack';
3
4
  import { Pressable, StyleSheet } from "react-native";
4
5
 
6
+ import { RootStackParamList } from '.';
5
7
  import One from "../screens/one";
6
8
  import Two from "../screens/two";
7
9
 
@@ -14,7 +16,9 @@ function TabBarIcon(props: {
14
16
  return <FontAwesome size={28} style={styles.tabBarIcon} {...props} />;
15
17
  }
16
18
 
17
- export default function TabLayout({ navigation }) {
19
+ type Props = StackScreenProps<RootStackParamList, 'TabNavigator'>;
20
+
21
+ export default function TabLayout({ navigation }: Props) {
18
22
  return (
19
23
  <Tab.Navigator
20
24
  screenOptions={{
@@ -4,6 +4,8 @@ import { RouteProp, useRoute } from "@react-navigation/native";
4
4
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
5
5
  import { YStack } from "tamagui";
6
6
  import { Container, Main, Subtitle, Title } from "../../tamagui.config";
7
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
8
+ import { Box, Text } from 'theme';
7
9
  <% } else { %>
8
10
  import { View, StyleSheet, Text } from "react-native";
9
11
  <% } %>
@@ -33,6 +35,17 @@ export default function Details() {
33
35
  </Main>
34
36
  </Container>
35
37
  );
38
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
39
+ return (
40
+ <Box flex={1} padding="ml_24">
41
+ <Box flex={1} maxWidth={960}>
42
+ <Text variant="extra_large">Details</Text>
43
+ <Text variant="large" color="darkGray">
44
+ Showing details for user {router.params.name}.
45
+ </Text>
46
+ </Box>
47
+ </Box>
48
+ );
36
49
  <% } else { %>
37
50
  return (
38
51
  <View style={styles.container}>
@@ -3,6 +3,9 @@
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
4
  import { YStack, Paragraph, Separator, Theme } from "tamagui";
5
5
  import { Platform } from 'react-native'
6
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
7
+ import { Platform } from 'react-native';
8
+ import { Box, Text, makeStyles } from 'theme';
6
9
  <% } else { %>
7
10
  import { Platform, StyleSheet, Text, View } from "react-native";
8
11
  <% } %>
@@ -20,7 +23,7 @@ export default function Modal() {
20
23
  <EditScreenInfo path="src/screens/modal.tsx" />
21
24
  </View>
22
25
  )
23
- <% } else if (props.stylingPackage?.name === "tamagui") { %>
26
+ <% } else if (props.stylingPackage?.name === "tamagui") { %>
24
27
  return (
25
28
  <Theme name="light">
26
29
  <YStack flex={1} alignItems="center" justifyContent="center">
@@ -31,6 +34,17 @@ export default function Modal() {
31
34
  </YStack>
32
35
  </Theme>
33
36
  );
37
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
38
+ const styles = useStyles();
39
+
40
+ return (
41
+ <Box flex={1} alignItems="center" justifyContent="center">
42
+ <StatusBar style={Platform.OS === 'ios' ? 'light' : 'auto'} />
43
+ <Text variant="title">Modal</Text>
44
+ <Box style={styles.separator} />
45
+ <EditScreenInfo path="src/screens/modal.tsx" />
46
+ </Box>
47
+ );
34
48
  <% } else { %>
35
49
  return (
36
50
  <View style={styles.container}>
@@ -49,6 +63,16 @@ export default function Modal() {
49
63
  separator: "h-[1px] my-7 w-4/5 bg-gray-200",
50
64
  title: "text-xl font-bold"
51
65
  };
66
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
67
+ const useStyles = makeStyles((theme) => ({
68
+ separator: {
69
+ backgroundColor: theme.colors.gray,
70
+ height: 1,
71
+ marginVertical: theme.spacing.l_32,
72
+ opacity: 0.25,
73
+ width: '80%',
74
+ },
75
+ }));
52
76
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
53
77
  const styles = StyleSheet.create({
54
78
  container: {
@@ -2,6 +2,8 @@
2
2
  import { Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
4
  import { YStack, H2, Separator, Theme } from "tamagui";
5
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
6
+ import { Box, Text, makeStyles } from 'theme';
5
7
  <% } else { %>
6
8
  import { StyleSheet, Text, View } from "react-native";
7
9
  <% } %>
@@ -27,6 +29,16 @@ export default function TabOneScreen() {
27
29
  </YStack>
28
30
  </Theme>
29
31
  );
32
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
33
+ const styles = useStyles();
34
+
35
+ return (
36
+ <Box flex={1} alignItems="center" justifyContent="center">
37
+ <Text variant="title">Tab One</Text>
38
+ <Box style={styles.separator} />
39
+ <EditScreenInfo path="src/screens/one.tsx" />
40
+ </Box>
41
+ );
30
42
  <% } else { %>
31
43
  return (
32
44
  <View style={styles.container}>
@@ -44,6 +56,16 @@ export default function TabOneScreen() {
44
56
  separator: "h-[1px] my-7 w-4/5 bg-gray-200",
45
57
  title: "text-xl font-bold"
46
58
  };
59
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
60
+ const useStyles = makeStyles((theme) => ({
61
+ separator: {
62
+ backgroundColor: theme.colors.gray,
63
+ height: 1,
64
+ marginVertical: theme.spacing.l_32,
65
+ opacity: 0.25,
66
+ width: '80%',
67
+ },
68
+ }));
47
69
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
48
70
  const styles = StyleSheet.create({
49
71
  container: {
@@ -5,6 +5,9 @@ import { StackNavigationProp } from "@react-navigation/stack";
5
5
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
6
6
  import { YStack } from "tamagui";
7
7
  import { Container, Main, Title, Subtitle, Button, ButtonText } from '../../tamagui.config';
8
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
9
+ import { TouchableOpacity } from 'react-native';
10
+ import { Box, Text, makeStyles } from 'theme';
8
11
  <% } else { %>
9
12
  import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
10
13
  <% } %>
@@ -13,6 +16,7 @@ import { RootStackParamList } from "../navigation";
13
16
  type OverviewScreenNavigationProps = StackNavigationProp<RootStackParamList, "Overview">;
14
17
 
15
18
  export default function Overview() {
19
+ const styles = useStyles();
16
20
  const navigation = useNavigation<OverviewScreenNavigationProps>();
17
21
  <% if (props.stylingPackage?.name === "nativewind") { %>
18
22
  return (
@@ -42,6 +46,26 @@ export default function Overview() {
42
46
  </Main>
43
47
  </Container>
44
48
  );
49
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
50
+ return (
51
+ <Box flex={1} padding="ml_24">
52
+ <Box flex={1} maxWidth={960} justifyContent="space-between">
53
+ <Box>
54
+ <Text variant="extra_large">Hello World</Text>
55
+ <Text variant="large" color="darkGray">
56
+ This is the first page of your app.
57
+ </Text>
58
+ </Box>
59
+ <TouchableOpacity
60
+ style={styles.button}
61
+ onPress={() => navigation.navigate('Details', { name: 'Dan' })}>
62
+ <Text variant="body" textAlign="center" color="white" fontWeight="600">
63
+ Show Details
64
+ </Text>
65
+ </TouchableOpacity>
66
+ </Box>
67
+ </Box>
68
+ );
45
69
  <% } else { %>
46
70
  return (
47
71
  <View style={styles.container}>
@@ -68,6 +92,25 @@ export default function Overview() {
68
92
  title: "text-[64px] font-bold",
69
93
  subtitle: "text-4xl text-gray-700",
70
94
  };
95
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
96
+ const useStyles = makeStyles((theme) => ({
97
+ button: {
98
+ alignItems: 'center',
99
+ backgroundColor: theme.colors.purple,
100
+ borderRadius: theme.borderRadii.xl_24,
101
+ elevation: 5,
102
+ flexDirection: 'row',
103
+ justifyContent: 'center',
104
+ padding: theme.spacing.m_16,
105
+ shadowColor: theme.colors.black,
106
+ shadowOffset: {
107
+ height: 2,
108
+ width: 0,
109
+ },
110
+ shadowOpacity: 0.25,
111
+ shadowRadius: 3.84,
112
+ },
113
+ }));
71
114
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
72
115
  const styles = StyleSheet.create({
73
116
  button: {
@@ -2,6 +2,8 @@
2
2
  import { Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
4
  import { YStack, H2, Separator, Theme } from "tamagui";
5
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
6
+ import { Box, Text, makeStyles } from 'theme';
5
7
  <% } else { %>
6
8
  import { StyleSheet, Text, View } from "react-native";
7
9
  <% } %>
@@ -26,7 +28,17 @@ export default function TabTwoScreen() {
26
28
  <EditScreenInfo path="src/screens/two.tsx" />
27
29
  </YStack>
28
30
  </Theme>
29
- );
31
+ );
32
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
33
+ const styles = useStyles();
34
+
35
+ return (
36
+ <Box flex={1} alignItems="center" justifyContent="center">
37
+ <Text variant="title">Tab Two</Text>
38
+ <Box style={styles.separator} />
39
+ <EditScreenInfo path="src/screens/two.tsx" />
40
+ </Box>
41
+ );
30
42
  <% } else { %>
31
43
  return (
32
44
  <View style={styles.container}>
@@ -44,6 +56,16 @@ export default function TabTwoScreen() {
44
56
  separator: "h-[1px] my-7 w-4/5 bg-gray-200",
45
57
  title: "text-xl font-bold"
46
58
  };
59
+ <% } else if (props.stylingPackage?.name === "restyle") { %>
60
+ const useStyles = makeStyles((theme) => ({
61
+ separator: {
62
+ backgroundColor: theme.colors.gray,
63
+ height: 1,
64
+ marginVertical: theme.spacing.l_32,
65
+ opacity: 0.25,
66
+ width: '80%',
67
+ },
68
+ }));
47
69
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
48
70
  const styles = StyleSheet.create({
49
71
  container: {
@@ -0,0 +1,6 @@
1
+ import { createBox } from '@shopify/restyle';
2
+ import { Theme } from './theme';
3
+
4
+ const Box = createBox<Theme>();
5
+
6
+ export default Box;
@@ -0,0 +1,6 @@
1
+ import { createText } from '@shopify/restyle';
2
+ import { Theme } from './theme';
3
+
4
+ const Text = createText<Theme>();
5
+
6
+ export default Text;
@@ -0,0 +1,6 @@
1
+ import Box from './Box';
2
+ import Text from './Text';
3
+ import theme, { useTheme, Theme, makeStyles } from './theme';
4
+
5
+ export { theme, Box, Text, useTheme, Theme, makeStyles };
6
+
@@ -0,0 +1,67 @@
1
+ import { createTheme, useTheme as useRestyleTheme } from '@shopify/restyle';
2
+ import { ImageStyle, TextStyle, ViewStyle } from 'react-native';
3
+
4
+ type NamedStyles<T> = {
5
+ [P in keyof T]: ViewStyle | TextStyle | ImageStyle;
6
+ };
7
+
8
+ const palette = {
9
+ gray: '#808080',
10
+ blue: '#007AFF',
11
+ darkGray: '#38434D',
12
+ white: '#FFFFFF',
13
+ black: '#000000',
14
+ purple: '#6366F1',
15
+ };
16
+
17
+ const theme = createTheme({
18
+ colors: {
19
+ ...palette
20
+ },
21
+ spacing: {
22
+ xs_4: 4,
23
+ s_8: 8,
24
+ sm_12: 12,
25
+ m_16: 16,
26
+ ml_24: 24,
27
+ l_32: 32,
28
+ xl_64: 64,
29
+ },
30
+ borderRadii: {
31
+ s_3: 3,
32
+ m_6: 6,
33
+ l_12: 12,
34
+ xl_24: 24,
35
+ },
36
+ textVariants: {
37
+ body: {
38
+ fontSize: 16,
39
+ },
40
+ title: { fontSize: 20, fontWeight: 'bold' },
41
+ large: {
42
+ fontSize: 36,
43
+ },
44
+ extra_large: {
45
+ fontSize: 64,
46
+ fontWeight: 'bold',
47
+ },
48
+ defaults: {
49
+ // We can define a default text variant here.
50
+ }
51
+ }
52
+ });
53
+
54
+ export const useTheme = () => {
55
+ return useRestyleTheme<Theme>();
56
+ };
57
+
58
+ export const makeStyles = <T extends NamedStyles<T> | NamedStyles<unknown>>(
59
+ styles: (theme: Theme) => T,
60
+ ) => {
61
+ return () => {
62
+ return styles(theme);
63
+ };
64
+ };
65
+
66
+ export type Theme = typeof theme;
67
+ export default theme;
@@ -5,7 +5,7 @@ export interface CliFlags {
5
5
  importAlias: string | boolean;
6
6
  packageManager: PackageManager;
7
7
  }
8
- export declare const availablePackages: readonly ["@react-navigation/drawer", "expo-router", "expoRouter", "firebase", "nativewind", "react-navigation", "reactNavigation", "react-native-gesture-handler", "react-native-reanimated", "reactnavigation", "stylesheet", "supabase", "tamagui"];
8
+ export declare const availablePackages: readonly ["@react-navigation/drawer", "expo-router", "expoRouter", "firebase", "nativewind", "react-navigation", "reactNavigation", "react-native-gesture-handler", "react-native-reanimated", "reactnavigation", "stylesheet", "supabase", "tamagui", "restyle"];
9
9
  export type NavigationTypes = 'stack' | 'tabs' | 'drawer' | undefined;
10
10
  export type PackageManager = 'yarn' | 'npm' | 'pnpm' | 'bun';
11
11
  export type AvailablePackages = {
package/build/types.js CHANGED
@@ -14,6 +14,7 @@ exports.availablePackages = [
14
14
  'reactnavigation',
15
15
  'stylesheet',
16
16
  'supabase',
17
- 'tamagui'
17
+ 'tamagui',
18
+ 'restyle'
18
19
  ];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU2EsUUFBQSxpQkFBaUIsR0FBRztJQUMvQiwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLFlBQVk7SUFDWixVQUFVO0lBQ1YsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLFVBQVU7SUFDVixTQUFTO0NBQ0QsQ0FBQyJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU2EsUUFBQSxpQkFBaUIsR0FBRztJQUMvQiwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLFlBQVk7SUFDWixVQUFVO0lBQ1YsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLFVBQVU7SUFDVixTQUFTO0lBQ1QsU0FBUztDQUNELENBQUMifQ==
@@ -41,6 +41,17 @@ function configureProjectFiles(authenticationPackage, files, navigationPackage,
41
41
  var tamaguiFiles = ['packages/tamagui/tamagui.config.ts.ejs'];
42
42
  files = __spreadArray(__spreadArray([], files, true), tamaguiFiles, true);
43
43
  }
44
+ // add restyle files if needed
45
+ // modify base files with restyle specifications
46
+ if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'restyle') {
47
+ var restyleFiles = [
48
+ 'packages/restyle/theme/theme.ts.ejs',
49
+ 'packages/restyle/theme/Box.tsx.ejs',
50
+ 'packages/restyle/theme/Text.tsx.ejs',
51
+ 'packages/restyle/theme/index.ts.ejs'
52
+ ];
53
+ files = __spreadArray(__spreadArray([], files, true), restyleFiles, true);
54
+ }
44
55
  // add react navigation files if needed
45
56
  // modify base files with react navigation specifications
46
57
  if ((navigationPackage === null || navigationPackage === void 0 ? void 0 : navigationPackage.name) === 'react-navigation') {
@@ -142,4 +153,4 @@ function configureProjectFiles(authenticationPackage, files, navigationPackage,
142
153
  return files;
143
154
  }
144
155
  exports.configureProjectFiles = configureProjectFiles;
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJvamVjdEZpbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb25maWd1cmVQcm9qZWN0RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEseURBQXdEO0FBRXhELFNBQWdCLHFCQUFxQixDQUNuQyxxQkFBb0QsRUFDcEQsS0FBZSxFQUNmLGlCQUFnRCxFQUNoRCxjQUE2QyxFQUM3QyxPQUFnQixFQUNoQixVQUFzQjs7SUFFdEIsMkRBQTJEO0lBQzNELElBQU0sU0FBUyxHQUFHO1FBQ2hCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLGtCQUFrQjtLQUNuQixDQUFDO0lBRUYsSUFBTSxjQUFjLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsdURBQXVEO0lBQ3ZELElBQUksY0FBYyxLQUFLLE1BQU0sSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxhQUFhLEVBQUUsQ0FBQztRQUMzRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUsscUJBQU8sU0FBUyxPQUFDLENBQUM7SUFFdkIsaUNBQWlDO0lBQ2pDLG1EQUFtRDtJQUNuRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxJQUFNLGVBQWUsR0FBRyxDQUFDLDRDQUE0QyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7UUFFM0csS0FBSyxtQ0FBTyxLQUFLLFNBQUssZUFBZSxPQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixnREFBZ0Q7SUFDaEQsSUFBSSxD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
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJvamVjdEZpbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb25maWd1cmVQcm9qZWN0RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEseURBQXdEO0FBRXhELFNBQWdCLHFCQUFxQixDQUNuQyxxQkFBb0QsRUFDcEQsS0FBZSxFQUNmLGlCQUFnRCxFQUNoRCxjQUE2QyxFQUM3QyxPQUFnQixFQUNoQixVQUFzQjs7SUFFdEIsMkRBQTJEO0lBQzNELElBQU0sU0FBUyxHQUFHO1FBQ2hCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLGtCQUFrQjtLQUNuQixDQUFDO0lBRUYsSUFBTSxjQUFjLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsdURBQXVEO0lBQ3ZELElBQUksY0FBYyxLQUFLLE1BQU0sSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxhQUFhLEVBQUUsQ0FBQztRQUMzRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUsscUJBQU8sU0FBUyxPQUFDLENBQUM7SUFFdkIsaUNBQWlDO0lBQ2pDLG1EQUFtRDtJQUNuRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxJQUFNLGVBQWUsR0FBRyxDQUFDLDRDQUE0QyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7UUFFM0csS0FBSyxtQ0FBTyxLQUFLLFNBQUssZUFBZSxPQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixnREFBZ0Q7SUFDaEQsSUFBSSxD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
@@ -20,6 +20,9 @@ function generateProjectFiles(authenticationPackage, cliResults, files, formatte
20
20
  else if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'nativewind') {
21
21
  target = target.replace('packages/nativewind/', '');
22
22
  }
23
+ else if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'restyle') {
24
+ target = target.replace('packages/restyle/', '');
25
+ }
23
26
  if ((navigationPackage === null || navigationPackage === void 0 ? void 0 : navigationPackage.name) === 'react-navigation') {
24
27
  target = target.replace('packages/react-navigation/App.tsx', 'App.tsx');
25
28
  target = target.replace('packages/react-navigation/', 'src/');
@@ -53,4 +56,4 @@ function generateProjectFiles(authenticationPackage, cliResults, files, formatte
53
56
  }, formattedFiles);
54
57
  }
55
58
  exports.generateProjectFiles = generateProjectFiles;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dlbmVyYXRlUHJvamVjdEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLFNBQWdCLG9CQUFvQixDQUNsQyxxQkFBb0QsRUFDcEQsVUFBc0IsRUFDdEIsS0FBZSxFQUNmLGNBQXFCLEVBQ3JCLGlCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixjQUE2QyxFQUM3QyxPQUFnQjtJQUVSLElBQUEsV0FBVyxHQUFzQixVQUFVLFlBQWhDLEVBQUUsUUFBUSxHQUFZLFVBQVUsU0FBdEIsRUFBRSxLQUFLLEdBQUssVUFBVSxNQUFmLENBQWdCO0lBRXBELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJOztRQUM3QixJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFBLHFCQUFxQixhQUFyQixxQkFBcUIsdUJBQXJCLHFCQUFxQixDQUFFLElBQUksTUFBSyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFBLHFCQUFxQixhQUFyQixxQkFBcUIsdUJBQXJCLHFCQUFxQixDQUFFLElBQUksTUFBSyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsSUFBSSxNQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7YUFBTSxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUUsQ0FBQztZQUNqRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxrQkFBa0IsRUFBRSxDQUFDO1lBQ25ELE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxJQUFJLENBQUEsaUJBQWlCLGFBQWpCLGlCQUFpQix1QkFBakIsaUJBQWlCLENBQUUsSUFBSSxNQUFLLGFBQWEsRUFBRSxDQUFDO1lBQzlDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQSxNQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLE9BQU8sMENBQUUsSUFBSSxNQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNqRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksQ0FBQSxNQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLE9BQU8sMENBQUUsSUFBSSxNQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUNoRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUNELElBQUksQ0FBQSxNQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLE9BQU8sMENBQUUsSUFBSSxNQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNwQyxRQUFRLFVBQUE7WUFDUixNQUFNLEVBQUUsWUFBSyxXQUFXLE1BQUcsR0FBRyxNQUFNO1lBQ3BDLEtBQUssRUFBRTtnQkFDTCxxQkFBcUIsdUJBQUE7Z0JBQ3JCLEtBQUssT0FBQTtnQkFDTCxpQkFBaUIsbUJBQUE7Z0JBQ2pCLFdBQVcsYUFBQTtnQkFDWCxjQUFjLGdCQUFBO2dCQUNkLFFBQVEsVUFBQTtnQkFDUixjQUFjLGdCQUFBO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBbEVELG9EQWtFQyJ9
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dlbmVyYXRlUHJvamVjdEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLFNBQWdCLG9CQUFvQixDQUNsQyxxQkFBb0QsRUFDcEQsVUFBc0IsRUFDdEIsS0FBZSxFQUNmLGNBQXFCLEVBQ3JCLGlCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixjQUE2QyxFQUM3QyxPQUFnQjtJQUVSLElBQUEsV0FBVyxHQUFzQixVQUFVLFlBQWhDLEVBQUUsUUFBUSxHQUFZLFVBQVUsU0FBdEIsRUFBRSxLQUFLLEdBQUssVUFBVSxNQUFmLENBQWdCO0lBRXBELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJOztRQUM3QixJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFBLHFCQUFxQixhQUFyQixxQkFBcUIsdUJBQXJCLHFCQUFxQixDQUFFLElBQUksTUFBSyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFBLHFCQUFxQixhQUFyQixxQkFBcUIsdUJBQXJCLHFCQUFxQixDQUFFLElBQUksTUFBSyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFB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