create-expo-stack 2.1.10 → 2.1.12
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.
- package/build/commands/create-expo-stack.js +9 -5
- package/build/templates/base/App.tsx.ejs +25 -2
- package/build/templates/base/babel.config.js.ejs +11 -1
- package/build/templates/base/package.json.ejs +13 -2
- package/build/templates/packages/expo-router/stack/app/_layout.tsx.ejs +17 -4
- package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +15 -4
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +20 -4
- package/build/templates/packages/expo-router/tabs/app/(tabs)/index.tsx.ejs +15 -5
- package/build/templates/packages/expo-router/tabs/app/(tabs)/two.tsx.ejs +14 -4
- package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +10 -0
- package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +16 -4
- package/build/templates/packages/expo-router/tabs/components/edit-screen-info.tsx.ejs +22 -4
- package/build/templates/packages/react-navigation/App.tsx.ejs +12 -3
- package/build/templates/packages/react-navigation/components/edit-screen-info.tsx.ejs +3 -3
- package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +12 -4
- package/build/templates/packages/react-navigation/screens/details.tsx.ejs +15 -4
- package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +16 -4
- package/build/templates/packages/react-navigation/screens/one.tsx.ejs +14 -4
- package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +18 -4
- package/build/templates/packages/react-navigation/screens/two.tsx.ejs +17 -7
- package/build/templates/packages/tamagui/tamagui.config.ts.ejs +102 -0
- package/build/types/types.d.ts +1 -1
- package/build/types/utilities/configureProjectFiles.d.ts +1 -1
- package/build/types/utilities/generateProjectFiles.d.ts +1 -1
- package/build/types/utilities/getPackageManager.d.ts +1 -1
- package/build/types.js +2 -2
- package/build/utilities/configureProjectFiles.js +12 -3
- package/build/utilities/generateProjectFiles.js +7 -4
- package/build/utilities/getPackageManager.js +6 -4
- package/build/utilities/printOutput.js +6 -1
- package/build/utilities/runCLI.js +17 -6
- package/build/utilities/runIgnite.js +4 -3
- package/package.json +1 -1
- package/readme.md +8 -17
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { RouteProp, useRoute } from "@react-navigation/native";
|
|
2
|
-
<% if (props.
|
|
2
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
3
3
|
import { View, Text } from "react-native";
|
|
4
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
5
|
+
import { YStack, H2, Paragraph } from "tamagui";
|
|
4
6
|
<% } else { %>
|
|
5
7
|
import { View, StyleSheet, Text } from "react-native";
|
|
6
8
|
<% } %>
|
|
@@ -10,7 +12,7 @@ type DetailsSreenRouteProp = RouteProp<RootStackParamList, "Details">;
|
|
|
10
12
|
|
|
11
13
|
export default function Details() {
|
|
12
14
|
const router = useRoute<DetailsSreenRouteProp>();
|
|
13
|
-
<% if (props.
|
|
15
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
14
16
|
return (
|
|
15
17
|
<View className={styles.container}>
|
|
16
18
|
<View className={styles.main}>
|
|
@@ -19,6 +21,15 @@ export default function Details() {
|
|
|
19
21
|
</View>
|
|
20
22
|
</View>
|
|
21
23
|
);
|
|
24
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
25
|
+
return (
|
|
26
|
+
<YStack flex={1} paddingTop="$2">
|
|
27
|
+
<YStack flex={1} maxWidth={960}>
|
|
28
|
+
<H2>Details</H2>
|
|
29
|
+
<Paragraph>Showing details for user {router.params.name}.</Paragraph>
|
|
30
|
+
</YStack>
|
|
31
|
+
</YStack>
|
|
32
|
+
);
|
|
22
33
|
<% } else { %>
|
|
23
34
|
return (
|
|
24
35
|
<View style={styles.container}>
|
|
@@ -31,14 +42,14 @@ export default function Details() {
|
|
|
31
42
|
<% } %>
|
|
32
43
|
}
|
|
33
44
|
|
|
34
|
-
<% if (props.
|
|
45
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
35
46
|
const styles = {
|
|
36
47
|
container: "flex-1 p-6",
|
|
37
48
|
main: "flex-1 max-w-[960]",
|
|
38
49
|
title: "text-[64px] font-bold",
|
|
39
50
|
subtitle: "text-4xl text-gray-700",
|
|
40
51
|
};
|
|
41
|
-
<% } else { %>
|
|
52
|
+
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
42
53
|
const styles = StyleSheet.create({
|
|
43
54
|
container: {
|
|
44
55
|
flex: 1,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
<% if (props.
|
|
1
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
2
|
import { Platform, Text, View } from "react-native";
|
|
3
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
|
+
import { YStack, Paragraph, Separator } from "tamagui";
|
|
5
|
+
import { Platform } from 'react-native'
|
|
3
6
|
<% } else { %>
|
|
4
7
|
import { Platform, StyleSheet, Text, View } from "react-native";
|
|
5
8
|
<% } %>
|
|
@@ -8,7 +11,7 @@ import { StatusBar } from "expo-status-bar";
|
|
|
8
11
|
import EditScreenInfo from "../components/edit-screen-info";
|
|
9
12
|
|
|
10
13
|
export default function Modal() {
|
|
11
|
-
<% if (props.
|
|
14
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
12
15
|
return (
|
|
13
16
|
<View className={styles.container}>
|
|
14
17
|
<StatusBar style={Platform.OS === "ios" ? "light" : "auto"} />
|
|
@@ -17,6 +20,15 @@ export default function Modal() {
|
|
|
17
20
|
<EditScreenInfo path="src/screens/modal.tsx" />
|
|
18
21
|
</View>
|
|
19
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
|
+
);
|
|
20
32
|
<% } else { %>
|
|
21
33
|
return (
|
|
22
34
|
<View style={styles.container}>
|
|
@@ -29,13 +41,13 @@ export default function Modal() {
|
|
|
29
41
|
<% } %>
|
|
30
42
|
}
|
|
31
43
|
|
|
32
|
-
<% if (props.
|
|
44
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
33
45
|
const styles = {
|
|
34
46
|
container: "items-center flex-1 justify-center",
|
|
35
47
|
separator: "h-[1px] my-7 w-4/5 bg-gray-200",
|
|
36
48
|
title: "text-xl font-bold"
|
|
37
49
|
};
|
|
38
|
-
<% } else { %>
|
|
50
|
+
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
39
51
|
const styles = StyleSheet.create({
|
|
40
52
|
container: {
|
|
41
53
|
alignItems: "center",
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
<% if (props.
|
|
1
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
2
|
import { Text, View } from "react-native";
|
|
3
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
|
+
import { YStack, H2, Separator } from "tamagui";
|
|
3
5
|
<% } else { %>
|
|
4
6
|
import { StyleSheet, Text, View } from "react-native";
|
|
5
7
|
<% } %>
|
|
@@ -7,7 +9,7 @@
|
|
|
7
9
|
import EditScreenInfo from "../components/edit-screen-info";
|
|
8
10
|
|
|
9
11
|
export default function TabOneScreen() {
|
|
10
|
-
<% if (props.
|
|
12
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
11
13
|
return (
|
|
12
14
|
<View className={styles.container}>
|
|
13
15
|
<Text className={styles.title}>Tab One</Text>
|
|
@@ -15,6 +17,14 @@ export default function TabOneScreen() {
|
|
|
15
17
|
<EditScreenInfo path="src/screens/one.tsx" />
|
|
16
18
|
</View>
|
|
17
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
|
+
);
|
|
18
28
|
<% } else { %>
|
|
19
29
|
return (
|
|
20
30
|
<View style={styles.container}>
|
|
@@ -26,13 +36,13 @@ export default function TabOneScreen() {
|
|
|
26
36
|
<% } %>
|
|
27
37
|
}
|
|
28
38
|
|
|
29
|
-
<% if (props.
|
|
39
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
30
40
|
const styles = {
|
|
31
41
|
container: "items-center flex-1 justify-center",
|
|
32
42
|
separator: "h-[1px] my-7 w-4/5 bg-gray-200",
|
|
33
43
|
title: "text-xl font-bold"
|
|
34
44
|
};
|
|
35
|
-
<% } else { %>
|
|
45
|
+
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
36
46
|
const styles = StyleSheet.create({
|
|
37
47
|
container: {
|
|
38
48
|
alignItems: "center",
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useNavigation } from "@react-navigation/native";
|
|
2
2
|
import { StackNavigationProp } from "@react-navigation/stack";
|
|
3
|
-
<% if (props.
|
|
3
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
4
4
|
import { Text, TouchableOpacity, View } from "react-native";
|
|
5
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
6
|
+
import { YStack, H2, Paragraph, Button } from "tamagui";
|
|
5
7
|
<% } else { %>
|
|
6
8
|
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
7
9
|
<% } %>
|
|
@@ -11,7 +13,7 @@ type OverviewScreenNavigationProps = StackNavigationProp<RootStackParamList, "Ov
|
|
|
11
13
|
|
|
12
14
|
export default function Overview() {
|
|
13
15
|
const navigation = useNavigation<OverviewScreenNavigationProps>();
|
|
14
|
-
<% if (props.
|
|
16
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
15
17
|
return (
|
|
16
18
|
<View className={styles.container}>
|
|
17
19
|
<View className={styles.main}>
|
|
@@ -25,6 +27,18 @@ export default function Overview() {
|
|
|
25
27
|
</View>
|
|
26
28
|
</View>
|
|
27
29
|
)
|
|
30
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
31
|
+
return (
|
|
32
|
+
<YStack flex={1} padding="$3">
|
|
33
|
+
<YStack flex={1} maxWidth="{960}" justifyContent="space-between">
|
|
34
|
+
<YStack>
|
|
35
|
+
<H2>Hello World</H2>
|
|
36
|
+
<Paragraph>This is the first page of your app.</Paragraph>
|
|
37
|
+
</YStack>
|
|
38
|
+
<Button onPress={() => navigation.navigate("Details", { name: "Dan" })}>Show Details</Button>
|
|
39
|
+
</YStack>
|
|
40
|
+
</YStack>
|
|
41
|
+
)
|
|
28
42
|
<% } else { %>
|
|
29
43
|
return (
|
|
30
44
|
<View style={styles.container}>
|
|
@@ -42,7 +56,7 @@ export default function Overview() {
|
|
|
42
56
|
<% } %>
|
|
43
57
|
}
|
|
44
58
|
|
|
45
|
-
<% if (props.
|
|
59
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
46
60
|
const styles = {
|
|
47
61
|
button: "items-center bg-indigo-500 rounded-[28px] shadow-md p-4",
|
|
48
62
|
buttonText: "text-white text-lg font-semibold text-center",
|
|
@@ -51,7 +65,7 @@ export default function Overview() {
|
|
|
51
65
|
title: "text-[64px] font-bold",
|
|
52
66
|
subtitle: "text-4xl text-gray-700",
|
|
53
67
|
};
|
|
54
|
-
<% } else { %>
|
|
68
|
+
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
55
69
|
const styles = StyleSheet.create({
|
|
56
70
|
button: {
|
|
57
71
|
alignItems: "center",
|
|
@@ -1,20 +1,30 @@
|
|
|
1
|
-
<% if (props.
|
|
1
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
2
|
import { Text, View } from "react-native";
|
|
3
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
|
+
import { YStack, H2, Separator } from "tamagui";
|
|
3
5
|
<% } else { %>
|
|
4
6
|
import { StyleSheet, Text, View } from "react-native";
|
|
5
7
|
<% } %>
|
|
6
8
|
|
|
7
9
|
import EditScreenInfo from "../components/edit-screen-info";
|
|
8
10
|
|
|
9
|
-
export default function
|
|
10
|
-
<% if (props.
|
|
11
|
+
export default function TabTwoScreen() {
|
|
12
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
11
13
|
return (
|
|
12
14
|
<View className={styles.container}>
|
|
13
|
-
<Text className={styles.title}>Tab
|
|
15
|
+
<Text className={styles.title}>Tab Two</Text>
|
|
14
16
|
<View className={styles.separator} />
|
|
15
|
-
<EditScreenInfo path="src/screens/
|
|
17
|
+
<EditScreenInfo path="src/screens/two.tsx" />
|
|
16
18
|
</View>
|
|
17
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
|
+
);
|
|
18
28
|
<% } else { %>
|
|
19
29
|
return (
|
|
20
30
|
<View style={styles.container}>
|
|
@@ -26,13 +36,13 @@ export default function TabOneScreen() {
|
|
|
26
36
|
<% } %>
|
|
27
37
|
}
|
|
28
38
|
|
|
29
|
-
<% if (props.
|
|
39
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
30
40
|
const styles = {
|
|
31
41
|
container: "items-center flex-1 justify-center",
|
|
32
42
|
separator: "h-[1px] my-7 w-4/5 bg-gray-200",
|
|
33
43
|
title: "text-xl font-bold"
|
|
34
44
|
};
|
|
35
|
-
<% } else { %>
|
|
45
|
+
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
36
46
|
const styles = StyleSheet.create({
|
|
37
47
|
container: {
|
|
38
48
|
alignItems: "center",
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { createTamagui } from 'tamagui'
|
|
2
|
+
import { createInterFont } from '@tamagui/font-inter'
|
|
3
|
+
import { shorthands } from '@tamagui/shorthands'
|
|
4
|
+
import { themes, tokens } from '@tamagui/themes'
|
|
5
|
+
import { createMedia } from '@tamagui/react-native-media-driver'
|
|
6
|
+
import { createAnimations } from '@tamagui/animations-react-native'
|
|
7
|
+
|
|
8
|
+
export const animations = createAnimations({
|
|
9
|
+
bouncy: {
|
|
10
|
+
type: 'spring',
|
|
11
|
+
damping: 10,
|
|
12
|
+
mass: 0.9,
|
|
13
|
+
stiffness: 100,
|
|
14
|
+
},
|
|
15
|
+
lazy: {
|
|
16
|
+
type: 'spring',
|
|
17
|
+
damping: 20,
|
|
18
|
+
stiffness: 60,
|
|
19
|
+
},
|
|
20
|
+
quick: {
|
|
21
|
+
type: 'spring',
|
|
22
|
+
damping: 20,
|
|
23
|
+
mass: 1.2,
|
|
24
|
+
stiffness: 250,
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
const headingFont = createInterFont({
|
|
29
|
+
size: {
|
|
30
|
+
6: 15,
|
|
31
|
+
},
|
|
32
|
+
transform: {
|
|
33
|
+
6: 'uppercase',
|
|
34
|
+
7: 'none',
|
|
35
|
+
},
|
|
36
|
+
weight: {
|
|
37
|
+
6: '400',
|
|
38
|
+
7: '700',
|
|
39
|
+
},
|
|
40
|
+
color: {
|
|
41
|
+
6: '$colorFocus',
|
|
42
|
+
7: '$color',
|
|
43
|
+
},
|
|
44
|
+
letterSpacing: {
|
|
45
|
+
5: 2,
|
|
46
|
+
6: 1,
|
|
47
|
+
7: 0,
|
|
48
|
+
8: -1,
|
|
49
|
+
9: -2,
|
|
50
|
+
10: -3,
|
|
51
|
+
12: -4,
|
|
52
|
+
14: -5,
|
|
53
|
+
15: -6,
|
|
54
|
+
},
|
|
55
|
+
face: {
|
|
56
|
+
700: { normal: 'InterBold' },
|
|
57
|
+
},
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
const bodyFont = createInterFont(
|
|
61
|
+
{
|
|
62
|
+
face: {
|
|
63
|
+
700: { normal: 'InterBold' },
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
sizeSize: (size) => Math.round(size * 1.1),
|
|
68
|
+
sizeLineHeight: (size) => Math.round(size * 1.1 + (size > 20 ? 10 : 10)),
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
const config = createTamagui({
|
|
73
|
+
defaultFont: 'body',
|
|
74
|
+
animations,
|
|
75
|
+
shouldAddPrefersColorThemes: true,
|
|
76
|
+
themeClassNameOnRoot: true,
|
|
77
|
+
shorthands,
|
|
78
|
+
fonts: {
|
|
79
|
+
body: bodyFont,
|
|
80
|
+
heading: headingFont,
|
|
81
|
+
},
|
|
82
|
+
themes,
|
|
83
|
+
tokens,
|
|
84
|
+
media: createMedia({
|
|
85
|
+
xs: { maxWidth: 660 },
|
|
86
|
+
sm: { maxWidth: 800 },
|
|
87
|
+
md: { maxWidth: 1020 },
|
|
88
|
+
lg: { maxWidth: 1280 },
|
|
89
|
+
xl: { maxWidth: 1420 },
|
|
90
|
+
xxl: { maxWidth: 1600 },
|
|
91
|
+
gtXs: { minWidth: 660 + 1 },
|
|
92
|
+
gtSm: { minWidth: 800 + 1 },
|
|
93
|
+
gtMd: { minWidth: 1020 + 1 },
|
|
94
|
+
gtLg: { minWidth: 1280 + 1 },
|
|
95
|
+
short: { maxHeight: 820 },
|
|
96
|
+
tall: { minHeight: 820 },
|
|
97
|
+
hoverNone: { hover: 'none' },
|
|
98
|
+
pointerCoarse: { pointer: 'coarse' },
|
|
99
|
+
}),
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
export default config;
|
package/build/types/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export interface CliFlags {
|
|
|
3
3
|
noInstall: boolean;
|
|
4
4
|
importAlias: string;
|
|
5
5
|
}
|
|
6
|
-
export declare const availablePackages: readonly ["nativewind", "react-navigation", "expo-router"];
|
|
6
|
+
export declare const availablePackages: readonly ["nativewind", "tamagui", "react-navigation", "expo-router", "stylesheet"];
|
|
7
7
|
export type NavigationTypes = "stack" | "tabs" | {};
|
|
8
8
|
export type AvailablePackages = {
|
|
9
9
|
name: (typeof availablePackages)[number];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { AvailablePackages } from "../types";
|
|
2
|
-
export declare function configureProjectFiles(files: string[], navigationPackage: AvailablePackages | undefined,
|
|
2
|
+
export declare function configureProjectFiles(files: string[], navigationPackage: AvailablePackages | undefined, stylingPackage: AvailablePackages | undefined): string[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Toolbox } from "gluegun/build/types/domain/toolbox";
|
|
2
2
|
import { AvailablePackages, CliResults } from "../types";
|
|
3
|
-
export declare function generateProjectFiles(cliResults: CliResults, files: string[], formattedFiles: any[], navigationPackage: AvailablePackages, toolbox: Toolbox,
|
|
3
|
+
export declare function generateProjectFiles(cliResults: CliResults, files: string[], formattedFiles: any[], navigationPackage: AvailablePackages, toolbox: Toolbox, stylingPackage: AvailablePackages): any[];
|
package/build/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.availablePackages = void 0;
|
|
4
|
-
exports.availablePackages = ["nativewind", "react-navigation", "expo-router"];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
exports.availablePackages = ["nativewind", "tamagui", "react-navigation", "expo-router", "stylesheet"];
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT2EsUUFBQSxpQkFBaUIsR0FBRyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBVSxDQUFDIn0=
|
|
@@ -10,7 +10,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.configureProjectFiles = void 0;
|
|
13
|
-
function configureProjectFiles(files, navigationPackage,
|
|
13
|
+
function configureProjectFiles(files, navigationPackage, stylingPackage) {
|
|
14
14
|
// Define the files common to all templates to be generated
|
|
15
15
|
var baseFiles = [
|
|
16
16
|
'base/assets/adaptive-icon.png',
|
|
@@ -27,7 +27,7 @@ function configureProjectFiles(files, navigationPackage, useNativewind) {
|
|
|
27
27
|
files = __spreadArray([], baseFiles, true);
|
|
28
28
|
// add nativewind files if needed
|
|
29
29
|
// modify base files with nativewind specifications
|
|
30
|
-
if (
|
|
30
|
+
if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'nativewind') {
|
|
31
31
|
var nativewindFiles = [
|
|
32
32
|
'packages/nativewind/tailwind.config.js.ejs',
|
|
33
33
|
'packages/nativewind/app.d.ts',
|
|
@@ -35,6 +35,15 @@ function configureProjectFiles(files, navigationPackage, useNativewind) {
|
|
|
35
35
|
files = __spreadArray(__spreadArray([], files, true), nativewindFiles, true);
|
|
36
36
|
}
|
|
37
37
|
;
|
|
38
|
+
// add tamagui files if needed
|
|
39
|
+
// modify base files with tamagui specifications
|
|
40
|
+
if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'tamagui') {
|
|
41
|
+
var tamaguiFiles = [
|
|
42
|
+
'packages/tamagui/tamagui.config.ts.ejs',
|
|
43
|
+
];
|
|
44
|
+
files = __spreadArray(__spreadArray([], files, true), tamaguiFiles, true);
|
|
45
|
+
}
|
|
46
|
+
;
|
|
38
47
|
// add react navigation files if needed
|
|
39
48
|
// modify base files with react navigation specifications
|
|
40
49
|
if ((navigationPackage === null || navigationPackage === void 0 ? void 0 : navigationPackage.name) === "react-navigation") {
|
|
@@ -97,4 +106,4 @@ function configureProjectFiles(files, navigationPackage, useNativewind) {
|
|
|
97
106
|
return files;
|
|
98
107
|
}
|
|
99
108
|
exports.configureProjectFiles = configureProjectFiles;
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJvamVjdEZpbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb25maWd1cmVQcm9qZWN0RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsU0FBZ0IscUJBQXFCLENBQ2pDLEtBQWUsRUFDZixpQkFBZ0QsRUFDaEQsY0FBNkM7SUFFN0MsMkRBQTJEO0lBQzNELElBQU0sU0FBUyxHQUFHO1FBQ2QsK0JBQStCO1FBQy9CLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIscUJBQXFCO0tBQ3RCLENBQUM7SUFFRixLQUFLLHFCQUNBLFNBQVMsT0FDYixDQUFDO0lBRUYsaUNBQWlDO0lBQ2pDLG1EQUFtRDtJQUNuRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUU7UUFDekMsSUFBTSxlQUFlLEdBQUc7WUFDdEIsNENBQTRDO1lBQzVDLDhCQUE4QjtTQUMvQixDQUFDO1FBRUYsS0FBSyxtQ0FDQSxLQUFLLFNBQ0wsZUFBZSxPQUNuQixDQUFDO0tBQ0g7SUFBQSxDQUFDO0lBRUYsOEJBQThCO0lBQzlCLGdEQUFnRDtJQUNoRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxTQUFTLEVBQUU7UUFDdEMsSUFBTSxZQUFZLEdBQUc7WUFDbkIsd0NBQXdDO1NBQ3pDLENBQUM7UUFFRixLQUFLLG1DQUNBLEtBQUssU0FDTCxZQUFZLE9BQ2hCLENBQUM7S0FDSDtJQUFBLENBQUM7SUFFRix1Q0FBdUM7SUFDdkMseURBQXlEO0lBQ3pELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssa0JBQWtCLEVBQUU7UUFDbEQsSUFBSSxvQkFBb0IsR0FBRztZQUN6Qix1Q0FBdUM7WUFDdkMsb0RBQW9EO1NBQ3JELENBQUM7UUFDRiwwQ0FBMEM7UUFDMUMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFO1lBQ3pDLG9CQUFvQixtQ0FDZixvQkFBb0I7Z0JBQ3ZCLG1EQUFtRDtnQkFDbkQsb0RBQW9EO3FCQUNyRCxDQUFDO1NBQ0g7YUFBTTtZQUNMLHVCQUF1QjtZQUN2QixvQkFBb0IsbUNBQ2Ysb0JBQW9CO2dCQUN2QiwrREFBK0Q7Z0JBQy9ELDREQUE0RDtnQkFDNUQsaURBQWlEO2dCQUNqRCwrQ0FBK0M7Z0JBQy9DLCtDQUErQztxQkFDaEQsQ0FBQztTQUNIO1FBRUQsc0ZBQXNGO1FBQ3RGLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxLQUFLLGtCQUFrQixFQUEzQixDQUEyQixDQUFDLENBQUM7UUFFNUQsS0FBSyxtQ0FDQSxLQUFLLFNBQ0wsb0JBQW9CLE9BQ3hCLENBQUM7S0FDSDtJQUVELGtDQUFrQztJQUNsQyxvREFBb0Q7SUFDcEQsSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxhQUFhLEVBQUU7UUFDN0MsSUFBSSxlQUFlLEdBQUc7WUFDcEIsb0NBQW9DO1lBQ3BDLHNDQUFzQztZQUN0QywrQkFBK0I7U0FDaEMsQ0FBQztRQUNGLDBDQUEwQztRQUMxQyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDekMsZUFBZSxtQ0FDVixlQUFlO2dCQUNsQixnREFBZ0Q7Z0JBQ2hELGdEQUFnRDtnQkFDaEQsOENBQThDO3FCQUMvQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLHVCQUF1QjtZQUN2QixlQUFlLG1DQUNWLGVBQWU7Z0JBQ2xCLHNEQUFzRDtnQkFDdEQsb0RBQW9EO2dCQUNwRCxrREFBa0Q7Z0JBQ2xELCtDQUErQztnQkFDL0MsNkNBQTZDO2dCQUM3QywrREFBK0Q7cUJBQ2hFLENBQUM7U0FDSDtRQUVELG1GQUFtRjtRQUNuRixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksS0FBSyxrQkFBa0IsRUFBM0IsQ0FBMkIsQ0FBQyxDQUFDO1FBRTVELEtBQUssbUNBQ0EsS0FBSyxTQUNMLGVBQWUsT0FDbkIsQ0FBQztLQUNIO0lBQ0gsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQTNIRCxzREEySEMifQ==
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateProjectFiles = void 0;
|
|
4
|
-
function generateProjectFiles(cliResults, files, formattedFiles, navigationPackage, toolbox,
|
|
4
|
+
function generateProjectFiles(cliResults, files, formattedFiles, navigationPackage, toolbox, stylingPackage) {
|
|
5
5
|
var projectName = cliResults.projectName, packages = cliResults.packages, flags = cliResults.flags;
|
|
6
6
|
return files.reduce(function (prev, file) {
|
|
7
7
|
var template = file;
|
|
8
8
|
var target = "".concat(projectName, "/") + file.replace('.ejs', '').replace('base/', '');
|
|
9
|
-
if (
|
|
9
|
+
if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'tamagui') {
|
|
10
|
+
target = target.replace('packages/tamagui/', '');
|
|
11
|
+
}
|
|
12
|
+
else if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'nativewind') {
|
|
10
13
|
target = target.replace('packages/nativewind/', '');
|
|
11
14
|
}
|
|
12
15
|
if ((navigationPackage === null || navigationPackage === void 0 ? void 0 : navigationPackage.name) === "react-navigation") {
|
|
@@ -29,7 +32,7 @@ function generateProjectFiles(cliResults, files, formattedFiles, navigationPacka
|
|
|
29
32
|
projectName: projectName,
|
|
30
33
|
packages: packages,
|
|
31
34
|
flags: flags,
|
|
32
|
-
|
|
35
|
+
stylingPackage: stylingPackage,
|
|
33
36
|
navigationPackage: navigationPackage,
|
|
34
37
|
},
|
|
35
38
|
});
|
|
@@ -37,4 +40,4 @@ function generateProjectFiles(cliResults, files, formattedFiles, navigationPacka
|
|
|
37
40
|
}, formattedFiles);
|
|
38
41
|
}
|
|
39
42
|
exports.generateProjectFiles = generateProjectFiles;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dlbmVyYXRlUHJvamVjdEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLFNBQWdCLG9CQUFvQixDQUNoQyxVQUFzQixFQUN0QixLQUFlLEVBQ2YsY0FBcUIsRUFDckIsaUJBQW9DLEVBQ3BDLE9BQWdCLEVBQ2hCLGNBQWlDO0lBRXpCLElBQUEsV0FBVyxHQUFzQixVQUFVLFlBQWhDLEVBQUUsUUFBUSxHQUFZLFVBQVUsU0FBdEIsRUFBRSxLQUFLLEdBQUssVUFBVSxNQUFmLENBQWdCO0lBRXBELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJO1FBQzNCLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLE1BQU0sR0FBRyxVQUFHLFdBQVcsTUFBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFOUUsSUFBSSxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO1lBQ3BDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO2FBQU0sSUFBSSxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxJQUFJLE1BQUssWUFBWSxFQUFFO1lBQzlDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxrQkFBa0IsRUFBRTtZQUNoRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssYUFBYSxFQUFFO1lBQzNDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksaUJBQWlCLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtnQkFDdkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO2dCQUN0QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDeEM7U0FDSjtRQUVELElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2xDLFFBQVEsVUFBQTtZQUNSLE1BQU0sRUFBRSxJQUFJLEdBQUcsTUFBTTtZQUNyQixLQUFLLEVBQUU7Z0JBQ0gsV0FBVyxhQUFBO2dCQUNYLFFBQVEsVUFBQTtnQkFDUixLQUFLLE9BQUE7Z0JBQ0wsY0FBYyxnQkFBQTtnQkFDZCxpQkFBaUIsbUJBQUE7YUFDcEI7U0FDSixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUN0QixDQUFDO0FBbERELG9EQWtEQyJ9
|
|
@@ -10,6 +10,8 @@ function getPackageManager(toolbox) {
|
|
|
10
10
|
return 'yarn';
|
|
11
11
|
if (options.pnpm)
|
|
12
12
|
return 'pnpm';
|
|
13
|
+
if (options.bun)
|
|
14
|
+
return 'bun';
|
|
13
15
|
// This environment variable is set by npm and yarn but pnpm seems less consistent
|
|
14
16
|
var userAgent = process.env.npm_config_user_agent;
|
|
15
17
|
if (userAgent) {
|
|
@@ -18,9 +20,9 @@ function getPackageManager(toolbox) {
|
|
|
18
20
|
}
|
|
19
21
|
else if (userAgent.startsWith("pnpm")) {
|
|
20
22
|
return "pnpm";
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
}
|
|
24
|
+
else if (userAgent.startsWith("bun")) {
|
|
25
|
+
return "bun";
|
|
24
26
|
}
|
|
25
27
|
else {
|
|
26
28
|
return "npm";
|
|
@@ -33,4 +35,4 @@ function getPackageManager(toolbox) {
|
|
|
33
35
|
}
|
|
34
36
|
exports.getPackageManager = getPackageManager;
|
|
35
37
|
;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UGFja2FnZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dldFBhY2thZ2VNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHNDQUFzQztBQUN0QyxTQUFnQixpQkFBaUIsQ0FBQyxPQUFnQjtJQUVoQyxJQUFBLE9BQU8sR0FDbkIsT0FBTyxtQkFEWSxDQUNYO0lBRVosSUFBSSxPQUFPLENBQUMsR0FBRztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzlCLElBQUksT0FBTyxDQUFDLElBQUk7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFDaEMsSUFBSSxPQUFPLENBQUMsR0FBRztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRTlCLGtGQUFrRjtJQUNsRixJQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDO0lBQ3BELElBQUksU0FBUyxFQUFFO1FBQ2IsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkMsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QyxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7U0FBTTtRQUNMLHNDQUFzQztRQUN0QyxPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQztBQTFCRCw4Q0EwQkM7QUFBQSxDQUFDIn0=
|
|
@@ -96,6 +96,11 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
96
96
|
info('pnpm install');
|
|
97
97
|
info('pnpm run ios');
|
|
98
98
|
}
|
|
99
|
+
else if (packageManager === 'bun') {
|
|
100
|
+
if (options.noInstall)
|
|
101
|
+
info('bun install');
|
|
102
|
+
info('bun run ios');
|
|
103
|
+
}
|
|
99
104
|
else {
|
|
100
105
|
if (options.noInstall)
|
|
101
106
|
info('yarn install');
|
|
@@ -108,4 +113,4 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
108
113
|
});
|
|
109
114
|
}
|
|
110
115
|
exports.printOutput = printOutput;
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRPdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL3ByaW50T3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHlEQUF3RDtBQUd4RCxTQUFzQixXQUFXLENBQy9CLFVBQXNCLEVBQ3RCLGNBQXFCLEVBQ3JCLE9BQWdCOzs7Ozs7b0JBR0EsT0FBTyxHQUduQixPQUFPLG1CQUhZLEVBQ3JCLEtBRUUsT0FBTyxNQUZlLEVBQWYsSUFBSSxVQUFBLEVBQUUsT0FBTyxhQUFBLEVBQ3RCLE1BQU0sR0FDSixPQUFPLE9BREgsQ0FDSTtvQkFFSixXQUFXLEdBQVksVUFBVSxZQUF0QixFQUFFLEtBQUssR0FBSyxVQUFVLE1BQWYsQ0FBZ0I7b0JBRTFDLGlDQUFpQztvQkFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUNSLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO29CQUNwQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBRVIscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBQTs7b0JBQWpDLFNBQWlDLENBQUM7b0JBRzVCLGNBQWMsR0FBRyxJQUFBLHFDQUFpQixFQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUU5QyxDQUFBLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUEsRUFBdEMsd0JBQXNDO29CQUN4QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBQ1IsSUFBSSxDQUFDLHdDQUFpQyxjQUFjLFFBQUssQ0FBQyxDQUFBO29CQUMxRCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBRVIsNkJBQTZCO29CQUM3QixxQkFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQU0sV0FBVyxpQkFBTyxjQUFjLGtDQUF3QixjQUFjLHdCQUFxQixFQUFFOzRCQUNwSCxLQUFLLEVBQUUsSUFBSTs0QkFDWCxLQUFLLEVBQUUsU0FBUzt5QkFDakIsQ0FBQyxFQUFBOztvQkFKRiw2QkFBNkI7b0JBQzdCLFNBR0UsQ0FBQTs7O3lCQUdBLENBQUEsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQSxFQUE5Qix3QkFBOEI7b0JBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtvQkFDUixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQTtvQkFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUVSLDJDQUEyQztvQkFDM0MscUJBQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFNLFdBQVcsK0hBQXdILEVBQUU7NEJBQzVKLEtBQUssRUFBRSxJQUFJOzRCQUNYLEtBQUssRUFBRSxTQUFTO3lCQUNqQixDQUFDLEVBQUE7O29CQUpGLDJDQUEyQztvQkFDM0MsU0FHRSxDQUFBOzs7b0JBQ0gsQ0FBQztvQkFFRixPQUFPLENBQUMsMERBQTBELENBQUMsQ0FBQTtvQkFDbkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUNSLElBQUksQ0FBQyxhQUFNLFdBQVcsQ0FBRSxDQUFDLENBQUE7b0JBQ3pCLElBQUksY0FBYyxLQUFLLEtBQUssRUFBRTt3QkFDNUIsSUFBSSxPQUFPLENBQUMsU0FBUzs0QkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7d0JBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtxQkFDcEI7eUJBQU0sSUFBSSxjQUFjLEtBQUssTUFBTSxFQUFFO3dCQUNwQyxJQUFJLE9BQU8sQ0FBQyxTQUFTOzRCQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTt3QkFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO3FCQUNyQjt5QkFBTSxJQUFJLGNBQWMsS0FBSyxLQUFLLEVBQUU7d0JBQ25DLElBQUksT0FBTyxDQUFDLFNBQVM7NEJBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO3dCQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7cUJBQ3BCO3lCQUFNO3dCQUNMLElBQUksT0FBTyxDQUFDLFNBQVM7NEJBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO3dCQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7cUJBQ2pCO29CQUNELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTs7Ozs7Q0FDVDtBQWhFRCxrQ0FnRUMifQ==
|
|
@@ -40,7 +40,7 @@ exports.runCLI = void 0;
|
|
|
40
40
|
var constants_1 = require("../constants");
|
|
41
41
|
function runCLI(toolbox) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
-
var first, success, _a, ask, confirm, cliResults, askName, name_1, useTypescript, askNavigation, askNavigationType, navigationSelect, navigationTypeSelect,
|
|
43
|
+
var first, success, _a, ask, confirm, cliResults, askName, name_1, useTypescript, askNavigation, askNavigationType, navigationSelect, navigationTypeSelect, askStyling, stylingSelect;
|
|
44
44
|
return __generator(this, function (_b) {
|
|
45
45
|
switch (_b.label) {
|
|
46
46
|
case 0:
|
|
@@ -102,15 +102,26 @@ function runCLI(toolbox) {
|
|
|
102
102
|
case 7:
|
|
103
103
|
success("No problem, skipping navigation for now.");
|
|
104
104
|
_b.label = 8;
|
|
105
|
-
case 8:
|
|
105
|
+
case 8:
|
|
106
|
+
askStyling = {
|
|
107
|
+
type: "select",
|
|
108
|
+
name: "stylingSelect",
|
|
109
|
+
message: "What would you like to use for styling?",
|
|
110
|
+
choices: ['tamagui', 'nativewind', 'stylesheet']
|
|
111
|
+
};
|
|
112
|
+
return [4 /*yield*/, ask(askStyling)];
|
|
106
113
|
case 9:
|
|
107
|
-
|
|
108
|
-
if (
|
|
114
|
+
stylingSelect = (_b.sent()).stylingSelect;
|
|
115
|
+
if (stylingSelect === 'nativewind') {
|
|
109
116
|
cliResults.packages.push({ name: "nativewind", type: 'styling', options: {} });
|
|
110
117
|
success("You'll be styling with ease using Tailwind.");
|
|
111
118
|
}
|
|
119
|
+
else if (stylingSelect === 'tamagui') {
|
|
120
|
+
cliResults.packages.push({ name: "tamagui", type: 'styling', options: {} });
|
|
121
|
+
}
|
|
112
122
|
else {
|
|
113
|
-
|
|
123
|
+
cliResults.packages.push({ name: "stylesheet", type: 'styling', options: {} });
|
|
124
|
+
success("Cool, you're using the default StyleSheet that comes with React Native.");
|
|
114
125
|
}
|
|
115
126
|
return [2 /*return*/, cliResults];
|
|
116
127
|
}
|
|
@@ -118,4 +129,4 @@ function runCLI(toolbox) {
|
|
|
118
129
|
});
|
|
119
130
|
}
|
|
120
131
|
exports.runCLI = runCLI;
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBQWdFO0FBR2hFLFNBQXNCLE1BQU0sQ0FBQyxPQUFnQjs7Ozs7O29CQUUzQixLQUFLLEdBR2pCLE9BQU8saUJBSFUsRUFDVixPQUFPLEdBRWQsT0FBTyxjQUZPLEVBQ2hCLEtBQ0UsT0FBTyxPQURlLEVBQWQsR0FBRyxTQUFBLEVBQUUsT0FBTyxhQUFBLENBQ1o7b0JBR1IsVUFBVSxHQUFHLDBCQUFjLENBQUM7eUJBRzVCLEtBQUssRUFBTCx3QkFBSztvQkFDUCxVQUFVLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzs7O29CQUV6QixPQUFPLEdBQUc7d0JBQ2QsSUFBSSxFQUFFLE9BQU87d0JBQ2IsSUFBSSxFQUFFLE1BQU07d0JBQ1osT0FBTyxFQUFFLGtEQUEyQyw0QkFBZ0IsTUFBRztxQkFDeEUsQ0FBQTtvQkFDZ0IscUJBQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFBOztvQkFBM0IsU0FBUyxDQUFBLFNBQWtCLENBQUEsS0FBdkI7b0JBQ1osVUFBVSxDQUFDLFdBQVcsR0FBRyxNQUFJLElBQUksNEJBQWdCLENBQUM7OztvQkFHcEQseUJBQXlCO29CQUN6QixVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztvQkFFSCxxQkFBTSxPQUFPLENBQ2pDLHFEQUFxRCxFQUNyRCxJQUFJLENBQ0wsRUFBQTs7b0JBSEssYUFBYSxHQUFHLFNBR3JCO29CQUVELElBQUksYUFBYSxFQUFFO3dCQUNqQixPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQTtxQkFDL0M7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7cUJBQ3JEO29CQUdLLGFBQWEsR0FBRzt3QkFDcEIsSUFBSSxFQUFFLFFBQVE7d0JB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
|
|
@@ -41,7 +41,7 @@ var constants_1 = require("../constants");
|
|
|
41
41
|
var getPackageManager_1 = require("./getPackageManager");
|
|
42
42
|
function runIgnite(toolbox) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
-
var first, success, ask, system, pascalCase, projectName, askName, name_1, packageManager, formattedName;
|
|
44
|
+
var first, success, ask, system, pascalCase, projectName, askName, name_1, packageManager, formattedName, igniteVersion;
|
|
45
45
|
return __generator(this, function (_a) {
|
|
46
46
|
switch (_a.label) {
|
|
47
47
|
case 0:
|
|
@@ -66,8 +66,9 @@ function runIgnite(toolbox) {
|
|
|
66
66
|
case 3:
|
|
67
67
|
packageManager = (0, getPackageManager_1.getPackageManager)(toolbox);
|
|
68
68
|
formattedName = pascalCase(projectName);
|
|
69
|
+
igniteVersion = packageManager === 'bun' ? 'next' : 'latest';
|
|
69
70
|
success('Running Ignite CLI to create an opinionated stack...');
|
|
70
|
-
return [4 /*yield*/, system.spawn("npx ignite-cli@
|
|
71
|
+
return [4 /*yield*/, system.spawn("npx ignite-cli@".concat(igniteVersion, " new ").concat(formattedName, " --packager=").concat(packageManager, " --yes"), {
|
|
71
72
|
shell: true,
|
|
72
73
|
stdio: 'inherit',
|
|
73
74
|
})];
|
|
@@ -79,4 +80,4 @@ function runIgnite(toolbox) {
|
|
|
79
80
|
});
|
|
80
81
|
}
|
|
81
82
|
exports.runIgnite = runIgnite;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuSWduaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5JZ25pdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQWdEO0FBQ2hELHlEQUF3RDtBQUV4RCxTQUFzQixTQUFTLENBQUMsT0FBZ0I7Ozs7OztvQkFFOUIsS0FBSyxHQUtqQixPQUFPLGlCQUxVLEVBQ1YsT0FBTyxHQUlkLE9BQU8sY0FKTyxFQUNOLEdBQUcsR0FHWCxPQUFPLFdBSEksRUFDYixNQUFNLEdBRUosT0FBTyxPQUZILEVBQ0ssVUFBVSxHQUNuQixPQUFPLG1CQURZLENBQ1g7eUJBR1IsQ0FBQyxLQUFLLEVBQU4sd0JBQU07b0JBQ0YsT0FBTyxHQUFHO3dCQUNkLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxNQUFNO3dCQUNaLE9BQU8sRUFBRSxrREFBMkMsNEJBQWdCLE1BQUc7cUJBQ3hFLENBQUE7b0JBQ2dCLHFCQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUM7d0JBQ25DLHlEQUF5RDtzQkFEdEI7O29CQUEzQixTQUFTLENBQUEsU0FBa0IsQ0FBQSxLQUF2QjtvQkFDWix5REFBeUQ7b0JBQ3pELFdBQVcsR0FBRyxNQUFJLElBQUksNEJBQWdCLENBQUM7OztvQkFFdkMsV0FBVyxHQUFHLEtBQUssQ0FBQzs7O29CQUdoQixjQUFjLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQztvQkFHNUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFFeEMsYUFBYSxHQUFHLGNBQWMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO29CQUVsRSxPQUFPLENBQUMsc0RBQXNELENBQUMsQ0FBQTtvQkFDL0QscUJBQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBa0IsYUFBYSxrQkFBUSxhQUFhLHlCQUFlLGNBQWMsV0FBUSxFQUFFOzRCQUM1RyxLQUFLLEVBQUUsSUFBSTs0QkFDWCxLQUFLLEVBQUUsU0FBUzt5QkFDakIsQ0FBQyxFQUFBOztvQkFIRixTQUdFLENBQUM7Ozs7O0NBQ0o7QUFuQ0QsOEJBbUNDIn0=
|