create-expo-stack 2.1.22 → 2.1.25

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.
@@ -131,23 +131,20 @@ var command = {
131
131
  cliResults.packages.push({
132
132
  name: 'nativewind',
133
133
  type: 'styling',
134
- options: {},
135
134
  });
136
135
  }
137
- if (options.tamagui) {
136
+ else if (options.tamagui) {
138
137
  // Add tamagui package
139
138
  cliResults.packages.push({
140
139
  name: 'tamagui',
141
140
  type: 'styling',
142
- options: {},
143
141
  });
144
142
  }
145
- if (options.stylesheet || options.stylesheets) {
143
+ else {
146
144
  // Add stylesheet package
147
145
  cliResults.packages.push({
148
146
  name: 'stylesheet',
149
147
  type: 'styling',
150
- options: {},
151
148
  });
152
149
  }
153
150
  // Destructure the results but set the projectName if the first param is passed in
@@ -183,4 +180,4 @@ var command = {
183
180
  }); },
184
181
  };
185
182
  exports.default = command;
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFFNUIsMENBUXFCO0FBQ3JCLDBDQUE2QztBQUM3QyxrQ0FBd0Q7QUFFeEQsSUFBTSxPQUFPLEdBQW1CO0lBQzlCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxHQUFHLEVBQUUsVUFBTyxPQUFPOzs7OztvQkFFZixLQUVFLE9BQU8sV0FGcUIsRUFBaEIsS0FBSyxXQUFBLEVBQUUsT0FBTyxhQUFBLEVBQzVCLEtBQ0UsT0FBTyxNQUQwQixFQUExQixJQUFJLFVBQUEsRUFBRSxTQUFTLGVBQUEsRUFBRSxPQUFPLGFBQUEsQ0FDeEI7b0JBQ1gsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUU7d0JBQzdCLElBQUEsb0JBQVEsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO3dCQUVsQyxzQkFBTTtxQkFDUDs7OztvQkFFQywySUFBMkk7b0JBQzNJLElBQ0UsT0FBTyxDQUFDLElBQUk7d0JBQ1osQ0FBQyxPQUFPLENBQUMsZUFBZTt3QkFDeEIsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7d0JBQzVCLENBQUMsT0FBTyxDQUFDLGVBQWU7d0JBQ3hCLENBQUMsT0FBTyxDQUFDLFVBQVU7d0JBQ25CLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQzt3QkFDdkIsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUNuQjt3QkFDQSxNQUFNLElBQUksS0FBSyxDQUNiLGtHQUFrRyxDQUNuRyxDQUFBO3FCQUNGO29CQUVELHFCQUFNLElBQUEs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
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFFNUIsMENBUXFCO0FBQ3JCLDBDQUE2QztBQUM3QyxrQ0FBd0Q7QUFFeEQsSUFBTSxPQUFPLEdBQW1CO0lBQy9CLElBQUksRUFBRSxtQkFBbUI7SUFDekIsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxHQUFHLEVBQUUsVUFBTyxPQUFPOzs7OztvQkFFakIsS0FFRyxPQUFPLFdBRm9CLEVBQWhCLEtBQUssV0FBQSxFQUFFLE9BQU8sYUFBQSxFQUM1QixLQUNHLE9BQU8sTUFEeUIsRUFBMUIsSUFBSSxVQUFBLEVBQUUsU0FBUyxlQUFBLEVBQUUsT0FBTyxhQUFBLENBQ3ZCO29CQUNYLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFO3dCQUM5QixJQUFBLG9CQUFRLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTt3QkFFbEMsc0JBQU07cUJBQ047Ozs7b0JBRUEsMklBQTJJO29CQUMzSSxJQUNDLE9BQU8sQ0FBQyxJQUFJO3dCQUNaLENBQUMsT0FBTyxDQUFDLGVBQWU7d0JBQ3hCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO3dCQUM1QixDQUFDLE9BQU8sQ0FBQyxlQUFlO3dCQUN4QixDQUFDLE9BQU8sQ0FBQyxVQUFVO3dCQUNuQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7d0JBQ3ZCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFDbEI7d0JBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDZCxrR0FBa0csQ0FDbEcsQ0FBQTtxQkFDRDtvQkFFRCxxQkFBTSxJQUFB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
@@ -12,4 +12,4 @@ exports.defaultOptions = {
12
12
  importAlias: '~/',
13
13
  },
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQTtBQUVoQyxRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQTtBQUVoQyxRQUFBLGNBQWMsR0FBZTtJQUN4QyxXQUFXLEVBQUUsd0JBQWdCO0lBQzdCLFFBQVEsRUFBRSxFQUFFO0lBQ1osS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLEtBQUs7UUFDWixTQUFTLEVBQUUsS0FBSztRQUNoQixXQUFXLEVBQUUsSUFBSTtLQUNsQjtDQUNGLENBQUEifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQTtBQUVoQyxRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQTtBQUVoQyxRQUFBLGNBQWMsR0FBZTtJQUN6QyxXQUFXLEVBQUUsd0JBQWdCO0lBQzdCLFFBQVEsRUFBRSxFQUFFO0lBQ1osS0FBSyxFQUFFO1FBQ04sS0FBSyxFQUFFLEtBQUs7UUFDWixTQUFTLEVBQUUsS0FBSztRQUNoQixXQUFXLEVBQUUsSUFBSTtLQUNqQjtDQUNELENBQUEifQ==
@@ -1,7 +1,7 @@
1
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
2
2
  import { Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
- import { YStack, H2, Separator } from "tamagui";
4
+ import { YStack, H2, Separator, Theme } from "tamagui";
5
5
  <% } else { %>
6
6
  import { StyleSheet, Text, View } from "react-native";
7
7
  <% } %>
@@ -11,52 +11,54 @@ import EditScreenInfo from "../../components/edit-screen-info";
11
11
  export default function TabOneScreen() {
12
12
  <% if (props.stylingPackage?.name === "nativewind") { %>
13
13
  return (
14
- <View className={styles.container}>
15
- <Text className={styles.title}>Tab One</Text>
16
- <View className={styles.separator} />
17
- <EditScreenInfo path="app/(tabs)/index.tsx" />
18
- </View>
19
- );
20
- <% } else if (props.stylingPackage?.name === "tamagui") { %>
14
+ <View className={styles.container}>
15
+ <Text className={styles.title}>Tab One</Text>
16
+ <View className={styles.separator} />
17
+ <EditScreenInfo path="app/(tabs)/index.tsx" />
18
+ </View>
19
+ );
20
+ <% } else if (props.stylingPackage?.name === "tamagui") { %>
21
21
  return (
22
- <YStack flex={1} alignItems="center" justifyContent="center">
23
- <H2>Tab One</H2>
24
- <Separator />
25
- <EditScreenInfo path="app/(tabs)/index.tsx" />
26
- </YStack>
27
- );
28
- <% } else { %>
22
+ <Theme name="light">
23
+ <YStack flex={1} alignItems="center" justifyContent="center">
24
+ <H2>Tab One</H2>
25
+ <Separator />
26
+ <EditScreenInfo path="app/(tabs)/index.tsx" />
27
+ </YStack>
28
+ </Theme>
29
+ );
30
+ <% } else { %>
29
31
  return (
30
- <View style={styles.container}>
31
- <Text style={styles.title}>Tab One</Text>
32
- <View style={styles.separator} />
33
- <EditScreenInfo path="app/(tabs)/index.tsx" />
34
- </View>
35
- );
32
+ <View style={styles.container}>
33
+ <Text style={styles.title}>Tab One</Text>
34
+ <View style={styles.separator} />
35
+ <EditScreenInfo path="app/(tabs)/index.tsx" />
36
+ </View>
37
+ );
36
38
  <% } %>
37
39
  }
38
40
 
39
41
  <% if (props.stylingPackage?.name === "nativewind") { %>
40
42
  const styles = {
41
- container: `items-center flex-1 justify-center`,
42
- separator: `h-[1px] my-7 w-4/5 bg-gray-200`,
43
- title: `text-xl font-bold`
44
- };
43
+ container: `items-center flex-1 justify-center`,
44
+ separator: `h-[1px] my-7 w-4/5 bg-gray-200`,
45
+ title: `text-xl font-bold`
46
+ };
45
47
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
46
48
  const styles = StyleSheet.create({
47
- container: {
48
- alignItems: "center",
49
- flex: 1,
50
- justifyContent: "center",
51
- },
52
- separator: {
53
- height: 1,
54
- marginVertical: 30,
55
- width: "80%",
56
- },
57
- title: {
58
- fontSize: 20,
59
- fontWeight: "bold",
60
- }
61
- });
49
+ container: {
50
+ alignItems: "center",
51
+ flex: 1,
52
+ justifyContent: "center",
53
+ },
54
+ separator: {
55
+ height: 1,
56
+ marginVertical: 30,
57
+ width: "80%",
58
+ },
59
+ title: {
60
+ fontSize: 20,
61
+ fontWeight: "bold",
62
+ }
63
+ });
62
64
  <% } %>
@@ -1,7 +1,7 @@
1
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
2
2
  import { Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
- import { YStack, H2, Separator } from "tamagui";
4
+ import { YStack, H2, Separator, Theme } from "tamagui";
5
5
  <% } else { %>
6
6
  import { StyleSheet, Text, View } from "react-native";
7
7
  <% } %>
@@ -11,52 +11,54 @@ import EditScreenInfo from "../../components/edit-screen-info";
11
11
  export default function TabTwoScreen() {
12
12
  <% if (props.stylingPackage?.name === "nativewind") { %>
13
13
  return (
14
- <View className={styles.container}>
15
- <Text className={styles.title}>Tab Two</Text>
16
- <View className={styles.separator} />
17
- <EditScreenInfo path="app/(tabs)/index.tsx" />
18
- </View>
19
- );
14
+ <View className={styles.container}>
15
+ <Text className={styles.title}>Tab Two</Text>
16
+ <View className={styles.separator} />
17
+ <EditScreenInfo path="app/(tabs)/index.tsx" />
18
+ </View>
19
+ );
20
20
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
21
21
  return (
22
- <YStack flex={1} alignItems="center" justifyContent="center">
23
- <H2>Tab Two</H2>
24
- <Separator />
25
- <EditScreenInfo path="app/(tabs)/index.tsx" />
26
- </YStack>
27
- );
22
+ <Theme name="light">
23
+ <YStack flex={1} alignItems="center" justifyContent="center">
24
+ <H2>Tab Two</H2>
25
+ <Separator />
26
+ <EditScreenInfo path="app/(tabs)/index.tsx" />
27
+ </YStack>
28
+ </Theme>
29
+ );
28
30
  <% } else { %>
29
31
  return (
30
- <View style={styles.container}>
31
- <Text style={styles.title}>Tab Two</Text>
32
- <View style={styles.separator} />
33
- <EditScreenInfo path="app/(tabs)/two.tsx" />
34
- </View>
35
- );
32
+ <View style={styles.container}>
33
+ <Text style={styles.title}>Tab Two</Text>
34
+ <View style={styles.separator} />
35
+ <EditScreenInfo path="app/(tabs)/two.tsx" />
36
+ </View>
37
+ );
36
38
  <% } %>
37
39
  }
38
40
 
39
41
  <% if (props.stylingPackage?.name === "nativewind") { %>
40
42
  const styles = {
41
- container: `items-center flex-1 justify-center`,
42
- separator: `h-[1px] my-7 w-4/5 bg-gray-200`,
43
- title: `text-xl font-bold`
44
- };
43
+ container: `items-center flex-1 justify-center`,
44
+ separator: `h-[1px] my-7 w-4/5 bg-gray-200`,
45
+ title: `text-xl font-bold`
46
+ };
45
47
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
46
48
  const styles = StyleSheet.create({
47
- container: {
48
- alignItems: "center",
49
- flex: 1,
50
- justifyContent: "center",
51
- },
52
- separator: {
53
- height: 1,
54
- marginVertical: 30,
55
- width: "80%",
56
- },
57
- title: {
58
- fontSize: 20,
59
- fontWeight: "bold",
60
- }
61
- });
49
+ container: {
50
+ alignItems: "center",
51
+ flex: 1,
52
+ justifyContent: "center",
53
+ },
54
+ separator: {
55
+ height: 1,
56
+ marginVertical: 30,
57
+ width: "80%",
58
+ },
59
+ title: {
60
+ fontSize: 20,
61
+ fontWeight: "bold",
62
+ }
63
+ });
62
64
  <% } %>
@@ -1,8 +1,8 @@
1
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
2
2
  import { Platform, Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
- import { YStack, Paragraph, Separator } from "tamagui";
5
- import { Platform } from 'react-native'
4
+ import { YStack, Paragraph, Separator, Theme } from "tamagui";
5
+ import { Platform } from 'react-native'
6
6
  <% } else { %>
7
7
  import { Platform, StyleSheet, Text, View } from "react-native";
8
8
  <% } %>
@@ -13,55 +13,57 @@ import EditScreenInfo from "../components/edit-screen-info";
13
13
  export default function ModalScreen() {
14
14
  <% if (props.stylingPackage?.name === "nativewind") { %>
15
15
  return (
16
- <View className={styles.container}>
17
- <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
18
- <Text className={styles.title}>Modal</Text>
19
- <View className={styles.separator} />
20
- <EditScreenInfo path="app/modal.tsx" />
21
- </View>
22
- );
16
+ <View className={styles.container}>
17
+ <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
18
+ <Text className={styles.title}>Modal</Text>
19
+ <View className={styles.separator} />
20
+ <EditScreenInfo path="app/modal.tsx" />
21
+ </View>
22
+ );
23
23
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
24
24
  return (
25
- <YStack flex={1} alignItems="center" justifyContent="center">
26
- <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
27
- <Paragraph>Modal</Paragraph>
28
- <Separator />
29
- <EditScreenInfo path="app/modal.tsx" />
30
- </YStack>
31
- );
25
+ <Theme name="light">
26
+ <YStack flex={1} alignItems="center" justifyContent="center">
27
+ <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
28
+ <Paragraph>Modal</Paragraph>
29
+ <Separator />
30
+ <EditScreenInfo path="app/modal.tsx" />
31
+ </YStack>
32
+ </Theme>
33
+ );
32
34
  <% } else { %>
33
35
  return (
34
- <View style={styles.container}>
35
- <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
36
- <Text style={styles.title}>Modal</Text>
37
- <View style={styles.separator} />
38
- <EditScreenInfo path="app/modal.tsx" />
39
- </View>
40
- );
36
+ <View style={styles.container}>
37
+ <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
38
+ <Text style={styles.title}>Modal</Text>
39
+ <View style={styles.separator} />
40
+ <EditScreenInfo path="app/modal.tsx" />
41
+ </View>
42
+ );
41
43
  <% } %>
42
44
  }
43
45
 
44
46
  <% if (props.stylingPackage?.name === "nativewind") { %>
45
47
  const styles = {
46
- container: `items-center flex-1 justify-center`,
47
- separator: `h-[1px] my-7 w-4/5 bg-gray-200`,
48
- title: `text-xl font-bold`
49
- };
48
+ container: `items-center flex-1 justify-center`,
49
+ separator: `h-[1px] my-7 w-4/5 bg-gray-200`,
50
+ title: `text-xl font-bold`
51
+ };
50
52
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
51
53
  const styles = StyleSheet.create({
52
- container: {
53
- alignItems: "center",
54
- flex: 1,
55
- justifyContent: "center"
56
- },
57
- separator: {
58
- height: 1,
59
- marginVertical: 30,
60
- width: "80%"
61
- },
62
- title: {
63
- fontSize: 20,
64
- fontWeight: "bold"
65
- }
66
- });
54
+ container: {
55
+ alignItems: "center",
56
+ flex: 1,
57
+ justifyContent: "center"
58
+ },
59
+ separator: {
60
+ height: 1,
61
+ marginVertical: 30,
62
+ width: "80%"
63
+ },
64
+ title: {
65
+ fontSize: 20,
66
+ fontWeight: "bold"
67
+ }
68
+ });
67
69
  <% } %>
@@ -1,69 +1,71 @@
1
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
2
- import { Platform, Text, View } from "react-native";
2
+ import { Platform, Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
- import { YStack, Paragraph, Separator } from "tamagui";
5
- import { Platform } from 'react-native'
4
+ import { YStack, Paragraph, Separator, Theme } from "tamagui";
5
+ import { Platform } from 'react-native'
6
6
  <% } else { %>
7
- import { Platform, StyleSheet, Text, View } from "react-native";
7
+ import { Platform, StyleSheet, Text, View } from "react-native";
8
8
  <% } %>
9
9
  import { StatusBar } from "expo-status-bar";
10
10
 
11
11
  import EditScreenInfo from "../components/edit-screen-info";
12
12
 
13
13
  export default function Modal() {
14
- <% if (props.stylingPackage?.name === "nativewind") { %>
15
- return (
16
- <View className={styles.container}>
17
- <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
18
- <Text className={styles.title}>Modal</Text>
19
- <View className={styles.separator} />
20
- <EditScreenInfo path="src/screens/modal.tsx" />
21
- </View>
22
- )
23
- <% } else if (props.stylingPackage?.name === "tamagui") { %>
24
- return (
25
- <YStack flex={1} alignItems="center" justifyContent="center">
26
- <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
27
- <Paragraph>Modal</Paragraph>
28
- <Separator />
29
- <EditScreenInfo path="src/screens/modal.tsx" />
30
- </YStack>
31
- );
32
- <% } else { %>
33
- return (
34
- <View style={styles.container}>
35
- <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
36
- <Text style={styles.title}>Modal</Text>
37
- <View style={styles.separator} />
38
- <EditScreenInfo path="src/screens/modal.tsx" />
39
- </View>
40
- );
41
- <% } %>
14
+ <% if (props.stylingPackage?.name === "nativewind") { %>
15
+ return (
16
+ <View className={styles.container}>
17
+ <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
18
+ <Text className={styles.title}>Modal</Text>
19
+ <View className={styles.separator} />
20
+ <EditScreenInfo path="src/screens/modal.tsx" />
21
+ </View>
22
+ )
23
+ <% } else if (props.stylingPackage?.name === "tamagui") { %>
24
+ return (
25
+ <Theme name="light">
26
+ <YStack flex={1} alignItems="center" justifyContent="center">
27
+ <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
28
+ <Paragraph>Modal</Paragraph>
29
+ <Separator />
30
+ <EditScreenInfo path="src/screens/modal.tsx" />
31
+ </YStack>
32
+ </Theme>
33
+ );
34
+ <% } else { %>
35
+ return (
36
+ <View style={styles.container}>
37
+ <StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
38
+ <Text style={styles.title}>Modal</Text>
39
+ <View style={styles.separator} />
40
+ <EditScreenInfo path="src/screens/modal.tsx" />
41
+ </View>
42
+ );
43
+ <% } %>
42
44
  }
43
45
 
44
46
  <% if (props.stylingPackage?.name === "nativewind") { %>
45
- const styles = {
46
- container: "items-center flex-1 justify-center",
47
- separator: "h-[1px] my-7 w-4/5 bg-gray-200",
48
- title: "text-xl font-bold"
49
- };
47
+ const styles = {
48
+ container: "items-center flex-1 justify-center",
49
+ separator: "h-[1px] my-7 w-4/5 bg-gray-200",
50
+ title: "text-xl font-bold"
51
+ };
50
52
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
51
- const styles = StyleSheet.create({
52
- container: {
53
- alignItems: "center",
54
- flex: 1,
55
- justifyContent: "center"
56
- },
57
- separator: {
58
- backgroundColor: "gray",
59
- height: 1,
60
- marginVertical: 30,
61
- opacity: 0.25,
62
- width: "80%",
63
- },
64
- title: {
65
- fontSize: 20,
66
- fontWeight: "bold"
67
- }
68
- });
53
+ const styles = StyleSheet.create({
54
+ container: {
55
+ alignItems: "center",
56
+ flex: 1,
57
+ justifyContent: "center"
58
+ },
59
+ separator: {
60
+ backgroundColor: "gray",
61
+ height: 1,
62
+ marginVertical: 30,
63
+ opacity: 0.25,
64
+ width: "80%",
65
+ },
66
+ title: {
67
+ fontSize: 20,
68
+ fontWeight: "bold"
69
+ }
70
+ });
69
71
  <% } %>
@@ -1,64 +1,66 @@
1
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
2
- import { Text, View } from "react-native";
2
+ import { Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
- import { YStack, H2, Separator } from "tamagui";
4
+ import { YStack, H2, Separator, Theme } from "tamagui";
5
5
  <% } else { %>
6
- import { StyleSheet, Text, View } from "react-native";
6
+ import { StyleSheet, Text, View } from "react-native";
7
7
  <% } %>
8
8
 
9
9
  import EditScreenInfo from "../components/edit-screen-info";
10
10
 
11
11
  export default function TabOneScreen() {
12
- <% if (props.stylingPackage?.name === "nativewind") { %>
13
- return (
14
- <View className={styles.container}>
15
- <Text className={styles.title}>Tab One</Text>
16
- <View className={styles.separator} />
17
- <EditScreenInfo path="src/screens/one.tsx" />
18
- </View>
19
- );
20
- <% } else if (props.stylingPackage?.name === "tamagui") { %>
21
- return (
22
- <YStack flex={1} alignItems="center" justifyContent="center">
23
- <H2>Tab One</H2>
24
- <Separator />
25
- <EditScreenInfo path="src/screens/one.tsx" />
26
- </YStack>
27
- );
28
- <% } else { %>
29
- return (
30
- <View style={styles.container}>
31
- <Text style={styles.title}>Tab One</Text>
32
- <View style={styles.separator} />
33
- <EditScreenInfo path="src/screens/one.tsx" />
34
- </View>
35
- );
36
- <% } %>
12
+ <% if (props.stylingPackage?.name === "nativewind") { %>
13
+ return (
14
+ <View className={styles.container}>
15
+ <Text className={styles.title}>Tab One</Text>
16
+ <View className={styles.separator} />
17
+ <EditScreenInfo path="src/screens/one.tsx" />
18
+ </View>
19
+ );
20
+ <% } else if (props.stylingPackage?.name === "tamagui") { %>
21
+ return (
22
+ <Theme name="light">
23
+ <YStack flex={1} alignItems="center" justifyContent="center">
24
+ <H2>Tab One</H2>
25
+ <Separator />
26
+ <EditScreenInfo path="src/screens/one.tsx" />
27
+ </YStack>
28
+ </Theme>
29
+ );
30
+ <% } else { %>
31
+ return (
32
+ <View style={styles.container}>
33
+ <Text style={styles.title}>Tab One</Text>
34
+ <View style={styles.separator} />
35
+ <EditScreenInfo path="src/screens/one.tsx" />
36
+ </View>
37
+ );
38
+ <% } %>
37
39
  }
38
40
 
39
41
  <% if (props.stylingPackage?.name === "nativewind") { %>
40
- const styles = {
41
- container: "items-center flex-1 justify-center",
42
- separator: "h-[1px] my-7 w-4/5 bg-gray-200",
43
- title: "text-xl font-bold"
44
- };
42
+ const styles = {
43
+ container: "items-center flex-1 justify-center",
44
+ separator: "h-[1px] my-7 w-4/5 bg-gray-200",
45
+ title: "text-xl font-bold"
46
+ };
45
47
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
46
- const styles = StyleSheet.create({
47
- container: {
48
- alignItems: "center",
49
- flex: 1,
50
- justifyContent: "center",
51
- },
52
- separator: {
53
- backgroundColor: "gray",
54
- height: 1,
55
- marginVertical: 30,
56
- opacity: 0.25,
57
- width: "80%",
58
- },
59
- title: {
60
- fontSize: 20,
61
- fontWeight: "bold",
62
- }
63
- });
48
+ const styles = StyleSheet.create({
49
+ container: {
50
+ alignItems: "center",
51
+ flex: 1,
52
+ justifyContent: "center",
53
+ },
54
+ separator: {
55
+ backgroundColor: "gray",
56
+ height: 1,
57
+ marginVertical: 30,
58
+ opacity: 0.25,
59
+ width: "80%",
60
+ },
61
+ title: {
62
+ fontSize: 20,
63
+ fontWeight: "bold",
64
+ }
65
+ });
64
66
  <% } %>
@@ -1,64 +1,66 @@
1
1
  <% if (props.stylingPackage?.name === "nativewind") { %>
2
- import { Text, View } from "react-native";
2
+ import { Text, View } from "react-native";
3
3
  <% } else if (props.stylingPackage?.name === "tamagui") { %>
4
- import { YStack, H2, Separator } from "tamagui";
4
+ import { YStack, H2, Separator, Theme } from "tamagui";
5
5
  <% } else { %>
6
- import { StyleSheet, Text, View } from "react-native";
6
+ import { StyleSheet, Text, View } from "react-native";
7
7
  <% } %>
8
8
 
9
9
  import EditScreenInfo from "../components/edit-screen-info";
10
10
 
11
11
  export default function TabTwoScreen() {
12
- <% if (props.stylingPackage?.name === "nativewind") { %>
13
- return (
14
- <View className={styles.container}>
15
- <Text className={styles.title}>Tab Two</Text>
16
- <View className={styles.separator} />
17
- <EditScreenInfo path="src/screens/two.tsx" />
18
- </View>
19
- );
20
- <% } else if (props.stylingPackage?.name === "tamagui") { %>
21
- return (
22
- <YStack flex={1} alignItems="center" justifyContent="center">
23
- <H2>Tab One</H2>
24
- <Separator />
25
- <EditScreenInfo path="src/screens/two.tsx" />
26
- </YStack>
27
- );
28
- <% } else { %>
29
- return (
30
- <View style={styles.container}>
31
- <Text style={styles.title}>Tab Two</Text>
32
- <View style={styles.separator} />
33
- <EditScreenInfo path="src/screens/two.tsx" />
34
- </View>
35
- );
36
- <% } %>
12
+ <% if (props.stylingPackage?.name === "nativewind") { %>
13
+ return (
14
+ <View className={styles.container}>
15
+ <Text className={styles.title}>Tab Two</Text>
16
+ <View className={styles.separator} />
17
+ <EditScreenInfo path="src/screens/two.tsx" />
18
+ </View>
19
+ );
20
+ <% } else if (props.stylingPackage?.name === "tamagui") { %>
21
+ return (
22
+ <Theme name="light">
23
+ <YStack flex={1} alignItems="center" justifyContent="center">
24
+ <H2>Tab Two</H2>
25
+ <Separator />
26
+ <EditScreenInfo path="src/screens/two.tsx" />
27
+ </YStack>
28
+ </Theme>
29
+ );
30
+ <% } else { %>
31
+ return (
32
+ <View style={styles.container}>
33
+ <Text style={styles.title}>Tab Two</Text>
34
+ <View style={styles.separator} />
35
+ <EditScreenInfo path="src/screens/two.tsx" />
36
+ </View>
37
+ );
38
+ <% } %>
37
39
  }
38
40
 
39
41
  <% if (props.stylingPackage?.name === "nativewind") { %>
40
- const styles = {
41
- container: "items-center flex-1 justify-center",
42
- separator: "h-[1px] my-7 w-4/5 bg-gray-200",
43
- title: "text-xl font-bold"
44
- };
42
+ const styles = {
43
+ container: "items-center flex-1 justify-center",
44
+ separator: "h-[1px] my-7 w-4/5 bg-gray-200",
45
+ title: "text-xl font-bold"
46
+ };
45
47
  <% } else if (props.stylingPackage?.name === "stylesheet") { %>
46
- const styles = StyleSheet.create({
47
- container: {
48
- alignItems: "center",
49
- flex: 1,
50
- justifyContent: "center",
51
- },
52
- separator: {
53
- backgroundColor: "gray",
54
- height: 1,
55
- marginVertical: 30,
56
- opacity: 0.25,
57
- width: "80%",
58
- },
59
- title: {
60
- fontSize: 20,
61
- fontWeight: "bold",
62
- }
63
- });
48
+ const styles = StyleSheet.create({
49
+ container: {
50
+ alignItems: "center",
51
+ flex: 1,
52
+ justifyContent: "center",
53
+ },
54
+ separator: {
55
+ backgroundColor: "gray",
56
+ height: 1,
57
+ marginVertical: 30,
58
+ opacity: 0.25,
59
+ width: "80%",
60
+ },
61
+ title: {
62
+ fontSize: 20,
63
+ fontWeight: "bold",
64
+ }
65
+ });
64
66
  <% } %>
@@ -3,112 +3,118 @@ import { createInterFont } from "@tamagui/font-inter";
3
3
  import { createMedia } from "@tamagui/react-native-media-driver";
4
4
  import { shorthands } from "@tamagui/shorthands";
5
5
  import { themes, tokens } from "@tamagui/themes";
6
- <% if (props.navigationPackage?.type === "navigation") { %>
7
- import { createTamagui, styled, Text, YStack } from "tamagui";
6
+ <% if ((props.navigationPackage?.type === "navigation") && (props.navigationPackage?.options.type === "stack")) { %>
7
+ import { createTamagui, styled, Text, YStack } from "tamagui";
8
8
  <% } else { %>
9
- import { createTamagui } from "tamagui";
9
+ import { createTamagui } from "tamagui";
10
10
  <% } %>
11
11
 
12
12
  const animations = createAnimations({
13
- bouncy: {
14
- type: 'spring',
15
- damping: 10,
16
- mass: 0.9,
17
- stiffness: 100,
18
- },
19
- lazy: {
20
- type: 'spring',
21
- damping: 20,
22
- stiffness: 60,
23
- },
24
- quick: {
25
- type: 'spring',
26
- damping: 20,
27
- mass: 1.2,
28
- stiffness: 250,
29
- },
13
+ bouncy: {
14
+ type: 'spring',
15
+ damping: 10,
16
+ mass: 0.9,
17
+ stiffness: 100,
18
+ },
19
+ lazy: {
20
+ type: 'spring',
21
+ damping: 20,
22
+ stiffness: 60,
23
+ },
24
+ quick: {
25
+ type: 'spring',
26
+ damping: 20,
27
+ mass: 1.2,
28
+ stiffness: 250,
29
+ },
30
30
  });
31
31
 
32
32
  const headingFont = createInterFont();
33
33
 
34
34
  const bodyFont = createInterFont();
35
35
 
36
- <% if (props.navigationPackage?.type === "navigation") { %>
37
- export const Container = styled(YStack, {
38
- flex: 1,
39
- padding: 24,
40
- });
36
+ <% if ((props.navigationPackage?.type === "navigation") && (props.navigationPackage?.options.type === "stack")) { %>
37
+ export const Container = styled(YStack, {
38
+ flex: 1,
39
+ padding: 24,
40
+ });
41
41
 
42
- export const Main = styled(YStack, {
43
- flex: 1,
44
- maxWidth: 960,
45
- justifyContent: 'space-between',
46
- });
42
+ export const Main = styled(YStack, {
43
+ flex: 1,
44
+ maxWidth: 960,
45
+ justifyContent: 'space-between',
46
+ });
47
47
 
48
- export const Title = styled(Text, {
49
- fontSize: 64,
50
- fontWeight: 'bold',
51
- });
48
+ export const Title = styled(Text, {
49
+ fontSize: 64,
50
+ fontWeight: 'bold',
51
+ });
52
52
 
53
- export const Subtitle = styled(Text, {
54
- color: '#38434D',
55
- fontSize: 36,
56
- });
53
+ export const Subtitle = styled(Text, {
54
+ color: '#38434D',
55
+ fontSize: 36,
56
+ });
57
57
 
58
- export const Button = styled(YStack, {
59
- alignItems: 'center',
60
- backgroundColor: '#6366F1',
61
- borderRadius: 24,
62
- justifyContent: 'center',
63
- padding: 16,
64
- shadowColor: '#000',
65
- shadowOffset: {
66
- height: 2,
67
- width: 0,
68
- },
69
- shadowOpacity: 0.25,
70
- shadowRadius: 3.84,
71
- hoverStyle: {
72
- backgroundColor: '#5a5fcf',
73
- },
74
- });
58
+ export const Button = styled(YStack, {
59
+ alignItems: 'center',
60
+ backgroundColor: '#6366F1',
61
+ borderRadius: 24,
62
+ justifyContent: 'center',
63
+ padding: 16,
64
+ shadowColor: '#000',
65
+ shadowOffset: {
66
+ height: 2,
67
+ width: 0,
68
+ },
69
+ shadowOpacity: 0.25,
70
+ shadowRadius: 3.84,
71
+ hoverStyle: {
72
+ backgroundColor: '#5a5fcf',
73
+ },
74
+ });
75
75
 
76
- export const ButtonText = styled(Text, {
77
- color: '#FFFFFF',
78
- fontSize: 16,
79
- fontWeight: '600',
80
- textAlign: 'center',
81
- });
76
+ export const ButtonText = styled(Text, {
77
+ color: '#FFFFFF',
78
+ fontSize: 16,
79
+ fontWeight: '600',
80
+ textAlign: 'center',
81
+ });
82
82
  <% } %>
83
83
 
84
84
  const config = createTamagui({
85
- defaultFont: "body",
86
- animations,
87
- shouldAddPrefersColorThemes: true,
88
- themeClassNameOnRoot: true,
89
- shorthands,
90
- fonts: {
91
- body: bodyFont,
92
- heading: headingFont,
93
- },
94
- themes,
95
- tokens,
96
- media: createMedia({
97
- xs: { maxWidth: 660 },
98
- sm: { maxWidth: 800 },
99
- md: { maxWidth: 1020 },
100
- lg: { maxWidth: 1280 },
101
- xl: { maxWidth: 1420 },
102
- xxl: { maxWidth: 1600 },
103
- gtXs: { minWidth: 660 + 1 },
104
- gtSm: { minWidth: 800 + 1 },
105
- gtMd: { minWidth: 1020 + 1 },
106
- gtLg: { minWidth: 1280 + 1 },
107
- short: { maxHeight: 820 },
108
- tall: { minHeight: 820 },
109
- hoverNone: { hover: "none" },
110
- pointerCoarse: { pointer: "coarse" },
111
- }),
85
+ light: {
86
+ color: {
87
+ background: "gray",
88
+ text: "black",
89
+ }
90
+ },
91
+ defaultFont: "body",
92
+ animations,
93
+ shouldAddPrefersColorThemes: true,
94
+ themeClassNameOnRoot: true,
95
+ shorthands,
96
+ fonts: {
97
+ body: bodyFont,
98
+ heading: headingFont,
99
+ },
100
+ themes,
101
+ tokens,
102
+ media: createMedia({
103
+ xs: { maxWidth: 660 },
104
+ sm: { maxWidth: 800 },
105
+ md: { maxWidth: 1020 },
106
+ lg: { maxWidth: 1280 },
107
+ xl: { maxWidth: 1420 },
108
+ xxl: { maxWidth: 1600 },
109
+ gtXs: { minWidth: 660 + 1 },
110
+ gtSm: { minWidth: 800 + 1 },
111
+ gtMd: { minWidth: 1020 + 1 },
112
+ gtLg: { minWidth: 1280 + 1 },
113
+ short: { maxHeight: 820 },
114
+ tall: { minHeight: 820 },
115
+ hoverNone: { hover: "none" },
116
+ pointerCoarse: { pointer: "coarse" },
117
+ }),
112
118
  });
113
119
 
114
120
  export default config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-expo-stack",
3
- "version": "2.1.22",
3
+ "version": "2.1.25",
4
4
  "description": "CLI tool to initialize a React Native application with Expo",
5
5
  "repository": {
6
6
  "type": "git",
package/readme.md ADDED
@@ -0,0 +1,111 @@
1
+ # Create Expo Stack CLI
2
+
3
+ <a href="https://badge.fury.io/js/create-expo-stack"><img src="https://badge.fury.io/js/create-expo-stack.svg" alt="npm version" height="18"></a>
4
+
5
+ ## Description
6
+
7
+ This CLI tool is designed to help you get started with React Native and Expo as quickly as possible. The CLI options allow you to configure your project with Typescript, file-based routing with Expo Router, configuration-based navigation via React-Navigation, and styling with StyleSheets, Tamagui, or Tailwind CSS, with NativeWind.
8
+
9
+ You can also use flags such as `--noInstall`, `--noGit`, and `--default` in order to customize your project. The CLI will attempt to automatically determine your package manager of choice but you can also pass in your preferred package manager via `--npm`, `--yarn`, `--pnpm`, or `--bun`. Roadmap coming soon...
10
+
11
+ ## Usage
12
+
13
+ To get started, use npx to run the CLI tool. You will be prompted to opt into the features you want to use.
14
+
15
+ `npx create-expo-stack@latest`
16
+
17
+ <img src="https://github.com/danstepanov/create-expo-stack/assets/5482800/6c4b5a00-63ae-4b3d-af0b-6da805e8c547" />
18
+
19
+ ## Tech Stack for the templates
20
+
21
+ Currently, all of the [templates](https://github.com/danstepanov/create-expo-stack/tree/main/src/templates) use the same versions of the following libraries. Not all of the templates include all of the libraries, but they are all available for use.
22
+
23
+ Each project is generated based on the results of the CLI, on a per-file basis. This approach makes this CLI extremely extendable and easy to use. Common files to all generated projects are stored in the [base template folder](https://github.com/danstepanov/create-expo-stack/tree/main/src/templates/base) while files pertaining to additional packages are stored in the [packages template folder](https://github.com/danstepanov/create-expo-stack/tree/main/src/templates/packages). Beyond adding files, this project makes use of [EJS](https://ejs.co/) in order to manipulate existing files as necessary.
24
+
25
+ | Library | Category | Version | Description |
26
+ | ------------------ | ------------------- | ------- | ---------------------------------------------- |
27
+ | React Native | Mobile Framework | v0.72 | The best cross-platform mobile framework |
28
+ | React | UI Framework | v18 | The most popular UI framework in the world |
29
+ | TypeScript | Language | v4 | Static typechecking |
30
+ | React Navigation | Navigation | v6 | Performant and consistent navigation framework |
31
+ | Expo | SDK | v49 | Allows (optional) Expo modules |
32
+ | Expo Font | Custom Fonts | v11 | Import custom fonts |
33
+ | Expo Linking | URL Handling | v5 | Open your app via a URL |
34
+ | Expo Router | Navigation | v2 | File-based routing in React-Native |
35
+ | Expo Splash Screen | Splash Screen | v0.18 | Custom splash screen |
36
+ | Expo Status Bar | Status Bar Library | v1 | Status bar support |
37
+ | Expo System UI | System UI Library | v2 | System UI support |
38
+ | Expo Web Browser | Web Browser Library | v12 | Open links in the browser |
39
+ | NativeWind | UI Framework | v2 | Tailwind CSS for React Native |
40
+ | Tamagui | UI Framework | v1 | Universal UI with a smart optimizing compiler |
41
+ | Safe Area Context | Safe Area Library | v4 | Safe area support |
42
+ | React Native Web | Web Support | v0.19 | React Native for Web |
43
+
44
+ ## Reporting Bugs & Feedback
45
+
46
+ If you run into problems or have feedback, first search the issues and discussions in this repository. If you don't find anything, feel free to message me on [Twitter](https://twitter.com/danstepanov) or open a new issue.
47
+
48
+ ## Contributing
49
+
50
+ ### [See this guide.](https://github.com/danstepanov/create-expo-stack/blob/main/contributing.md)
51
+
52
+ Contributions are welcome! Please open a pull request or an issue if you would like to contribute. There are existing feature requests labeled as `[FR]` in the issues section of this repo.
53
+
54
+ ## Want to move faster? I can help 😎
55
+
56
+ Getting up-to-speed on a new framework can be cumbersome. If you find that you need to move more quickly, I may be available to help.
57
+
58
+ If you'd like help with your React Native/Expo app or are just looking for a technical advisor to guide you along your journey, [let's chat](https://twitter.com/danstepanov).
59
+
60
+ ## Contributors ✨
61
+
62
+ Thanks go to these wonderful people:
63
+
64
+ <table>
65
+ <tbody>
66
+ <tr>
67
+ <td align="center" valign="top" width="14.28%">
68
+ <a href="https://onlydans.gg/">
69
+ <img src="https://pbs.twimg.com/profile_images/1689473757713514496/8fQrCrBx_400x400.jpg" width="100px;" alt="Dan Stepanov"/>
70
+ <br />
71
+ Dan Stepanov
72
+ </a>
73
+ </td>
74
+ <td align="center" valign="top" width="14.28%">
75
+ <a href="https://twitter.com/ernestodotgg">
76
+ <img src="https://pbs.twimg.com/profile_images/1647055447931617285/RPeZJI3z_400x400.jpg" width="100px;" alt="Ernesto Resende"/>
77
+ <br />
78
+ Ernesto Resende
79
+ </a>
80
+ </td>
81
+ <td align="center" valign="top" width="14.28%">
82
+ <a href="https://github.com/frankcalise/">
83
+ <img src="https://pbs.twimg.com/profile_images/1262363198839238662/uIfRNVBY_400x400.jpg" width="100px;" alt="Frank Calise"/>
84
+ <br />
85
+ Frank Calise
86
+ </a>
87
+ </td>
88
+ <td align="center" valign="top" width="14.28%">
89
+ <a href="https://twitter.com/PickleNik0864">
90
+ <img src="https://pbs.twimg.com/profile_images/1694518037385244672/eaS0RTwB_400x400.jpg" width="100px;" alt="PickleNik"/>
91
+ <br />
92
+ PickleNik
93
+ </a>
94
+ </td>
95
+ <td align="center" valign="top" width="14.28%">
96
+ <a href="https://twitter.com/trashh_dev">
97
+ <img src="https://pbs.twimg.com/profile_images/1598959528518643713/aWdwBYxv_400x400.jpg" width="100px;" alt="Chris Bautista"/>
98
+ <br />
99
+ Chris Bautista
100
+ </a>
101
+ </td>
102
+ <td align="center" valign="top" width="14.28%">
103
+ <a href="https://aodhan.netlify.app/">
104
+ <img src="https://pbs.twimg.com/profile_images/1472990183993888772/3X5J4d9__400x400.png" width="100px;" alt="Aodhan Hamilton"/>
105
+ <br />
106
+ Aodhan Hamilton
107
+ </a>
108
+ </td>
109
+ </tr>
110
+ </tbody>
111
+ </table>