create-expo-stack 2.3.10 → 2.3.11-next.8088006
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/templates/packages/expo-router/stack/app/_layout.tsx.ejs +5 -69
- package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +59 -5
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +11 -7
- package/build/utilities/runCLI.js +2 -2
- package/package.json +66 -66
|
@@ -1,87 +1,23 @@
|
|
|
1
|
-
import { Feather } from "@expo/vector-icons";
|
|
2
1
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
3
|
-
import { Stack
|
|
4
|
-
import { Text, TouchableOpacity, View } from "react-native";
|
|
2
|
+
import { Stack } from "expo-router";
|
|
5
3
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import { useFonts } from "expo-font";
|
|
9
|
-
import { Stack, useRouter, SplashScreen } from "expo-router";
|
|
4
|
+
import { TamaguiProvider } from "tamagui";
|
|
5
|
+
import { Stack } from "expo-router";
|
|
10
6
|
|
|
11
7
|
import config from '../tamagui.config'
|
|
12
|
-
|
|
13
|
-
SplashScreen.preventAutoHideAsync();
|
|
14
8
|
<% } else { %>
|
|
15
|
-
import {
|
|
16
|
-
import { Stack, useRouter } from "expo-router";
|
|
9
|
+
import { Stack } from "expo-router";
|
|
17
10
|
<% } %>
|
|
18
11
|
|
|
19
12
|
export default function Layout() {
|
|
20
|
-
const router = useRouter();
|
|
21
|
-
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
22
|
-
const BackButton = () => (
|
|
23
|
-
<TouchableOpacity onPress={router.back}>
|
|
24
|
-
<View className={styles.backButton}>
|
|
25
|
-
<Feather name="chevron-left" size={16} color="#007AFF" />
|
|
26
|
-
<Text className={styles.backButtonText}>Back</Text>
|
|
27
|
-
</View>
|
|
28
|
-
</TouchableOpacity>
|
|
29
|
-
);
|
|
30
|
-
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
31
|
-
const [loaded] = useFonts({
|
|
32
|
-
Inter: require("@tamagui/font-inter/otf/Inter-Medium.otf"),
|
|
33
|
-
InterBold: require("@tamagui/font-inter/otf/Inter-Bold.otf")
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
if (loaded) {
|
|
38
|
-
SplashScreen.hideAsync();
|
|
39
|
-
}
|
|
40
|
-
}, [loaded]);
|
|
41
|
-
|
|
42
|
-
if (!loaded) return null;
|
|
43
|
-
|
|
44
|
-
const BackButton = () => (
|
|
45
|
-
<Button unstyled flexDirection="row" backgroundColor="transparent" paddingLeft={0} pressStyle={{ opacity: 0.5 }} onPress={router.back} icon={<Feather name="chevron-left" size={16} color="#007AFF" />}><Text color="#007AFF">Back</Text></Button>
|
|
46
|
-
)
|
|
47
|
-
<% } else { %>
|
|
48
|
-
const BackButton = () => (
|
|
49
|
-
<TouchableOpacity onPress={router.back}>
|
|
50
|
-
<View style={styles.backButton}>
|
|
51
|
-
<Feather name="chevron-left" size={16} color="#007AFF" />
|
|
52
|
-
<Text style={styles.backButtonText}>Back</Text>
|
|
53
|
-
</View>
|
|
54
|
-
</TouchableOpacity>
|
|
55
|
-
);
|
|
56
|
-
<% } %>
|
|
57
13
|
|
|
58
14
|
return (
|
|
59
15
|
<% if (props.stylingPackage?.name === "tamagui") { %>
|
|
60
16
|
<TamaguiProvider config={config}>
|
|
61
17
|
<% } %>
|
|
62
|
-
<Stack
|
|
63
|
-
<Stack.Screen name="index" options={{ title: "Overview" }} />
|
|
64
|
-
<Stack.Screen name="details" options={{ title: "Details", headerLeft: () => <BackButton /> }} />
|
|
65
|
-
</Stack>
|
|
18
|
+
<Stack />
|
|
66
19
|
<% if (props.stylingPackage?.name === "tamagui") { %>
|
|
67
20
|
</TamaguiProvider>
|
|
68
21
|
<% } %>
|
|
69
22
|
);
|
|
70
23
|
}
|
|
71
|
-
|
|
72
|
-
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
73
|
-
const styles = {
|
|
74
|
-
backButton: "flex-row",
|
|
75
|
-
backButtonText: "text-blue-500 ml-1",
|
|
76
|
-
};
|
|
77
|
-
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
78
|
-
const styles = StyleSheet.create({
|
|
79
|
-
backButton: {
|
|
80
|
-
flexDirection: "row",
|
|
81
|
-
},
|
|
82
|
-
backButtonText: {
|
|
83
|
-
color: "#007AFF",
|
|
84
|
-
marginLeft: 4,
|
|
85
|
-
},
|
|
86
|
-
});
|
|
87
|
-
<% } %>
|
|
@@ -1,18 +1,61 @@
|
|
|
1
1
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
|
-
import {
|
|
2
|
+
import { Text, TouchableOpacity, View } from "react-native";
|
|
3
3
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
|
-
|
|
4
|
+
import React, { useEffect } from "react";
|
|
5
|
+
import { useFonts } from "expo-font";
|
|
6
|
+
import { Stack, useRouter, SplashScreen } from "expo-router";
|
|
7
|
+
import { Button, Text, YStack } from "tamagui";
|
|
5
8
|
import { Container, Main, Subtitle, Title } from "../tamagui.config";
|
|
6
9
|
<% } else { %>
|
|
7
|
-
import { StyleSheet,
|
|
10
|
+
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
8
11
|
<% } %>
|
|
9
|
-
import {
|
|
12
|
+
import { Feather } from '@expo/vector-icons';
|
|
13
|
+
import { Stack, useLocalSearchParams, useRouter } from "expo-router";
|
|
10
14
|
|
|
11
15
|
export default function Details() {
|
|
12
16
|
const { name } = useLocalSearchParams();
|
|
17
|
+
const router = useRouter();
|
|
18
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
19
|
+
const BackButton = () => (
|
|
20
|
+
<TouchableOpacity onPress={router.back}>
|
|
21
|
+
<View className={styles.backButton}>
|
|
22
|
+
<Feather name="chevron-left" size={16} color="#007AFF" />
|
|
23
|
+
<Text className={styles.backButtonText}>Back</Text>
|
|
24
|
+
</View>
|
|
25
|
+
</TouchableOpacity>
|
|
26
|
+
);
|
|
27
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
28
|
+
const [loaded] = useFonts({
|
|
29
|
+
Inter: require("@tamagui/font-inter/otf/Inter-Medium.otf"),
|
|
30
|
+
InterBold: require("@tamagui/font-inter/otf/Inter-Bold.otf")
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (loaded) {
|
|
35
|
+
SplashScreen.hideAsync();
|
|
36
|
+
}
|
|
37
|
+
}, [loaded]);
|
|
38
|
+
|
|
39
|
+
if (!loaded) return null;
|
|
40
|
+
|
|
41
|
+
const BackButton = () => (
|
|
42
|
+
<Button unstyled flexDirection="row" backgroundColor="transparent" paddingLeft={0} pressStyle={{ opacity: 0.5 }} onPress={router.back} icon={<Feather name="chevron-left" size={16} color="#007AFF" />}><Text color="#007AFF">Back</Text></Button>
|
|
43
|
+
)
|
|
44
|
+
<% } else { %>
|
|
45
|
+
const BackButton = () => (
|
|
46
|
+
<TouchableOpacity onPress={router.back}>
|
|
47
|
+
<View style={styles.backButton}>
|
|
48
|
+
<Feather name="chevron-left" size={16} color="#007AFF" />
|
|
49
|
+
<Text style={styles.backButtonText}>Back</Text>
|
|
50
|
+
</View>
|
|
51
|
+
</TouchableOpacity>
|
|
52
|
+
);
|
|
53
|
+
<% } %>
|
|
54
|
+
|
|
13
55
|
return (
|
|
14
56
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
15
57
|
<View className={styles.container}>
|
|
58
|
+
<Stack.Screen options={{ title: "Details", headerLeft: () => <BackButton /> }} />
|
|
16
59
|
<View className={styles.main}>
|
|
17
60
|
<Text className={styles.title}>Details</Text>
|
|
18
61
|
<Text className={styles.subtitle}>Showing details for user {name}.</Text>
|
|
@@ -20,6 +63,7 @@ export default function Details() {
|
|
|
20
63
|
</View>
|
|
21
64
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
22
65
|
<Container>
|
|
66
|
+
<Stack.Screen options={{ title: "Details", headerLeft: () => <BackButton /> }} />
|
|
23
67
|
<Main>
|
|
24
68
|
<YStack>
|
|
25
69
|
<Title>Details</Title>
|
|
@@ -29,6 +73,7 @@ export default function Details() {
|
|
|
29
73
|
</Container>
|
|
30
74
|
<% } else { %>
|
|
31
75
|
<View style={styles.container}>
|
|
76
|
+
<Stack.Screen options={{ title: "Details", headerLeft: () => <BackButton /> }} />
|
|
32
77
|
<View style={styles.main}>
|
|
33
78
|
<Text style={styles.title}>Details</Text>
|
|
34
79
|
<Text style={styles.subtitle}>Showing details for user {name}.</Text>
|
|
@@ -40,6 +85,8 @@ export default function Details() {
|
|
|
40
85
|
|
|
41
86
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
42
87
|
const styles = {
|
|
88
|
+
backButton: "flex-row",
|
|
89
|
+
backButtonText: "text-blue-500 ml-1",
|
|
43
90
|
container: "flex-1 p-6",
|
|
44
91
|
main: "flex-1 max-w-[960]",
|
|
45
92
|
title: "text-[64px] font-bold",
|
|
@@ -47,6 +94,13 @@ export default function Details() {
|
|
|
47
94
|
};
|
|
48
95
|
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
49
96
|
const styles = StyleSheet.create({
|
|
97
|
+
backButton: {
|
|
98
|
+
flexDirection: "row",
|
|
99
|
+
},
|
|
100
|
+
backButtonText: {
|
|
101
|
+
color: "#007AFF",
|
|
102
|
+
marginLeft: 4,
|
|
103
|
+
},
|
|
50
104
|
container: {
|
|
51
105
|
flex: 1,
|
|
52
106
|
padding: 24,
|
|
@@ -65,4 +119,4 @@ export default function Details() {
|
|
|
65
119
|
color: "#38434D",
|
|
66
120
|
},
|
|
67
121
|
});
|
|
68
|
-
<% } %>
|
|
122
|
+
<% } %>
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
<% } else { %>
|
|
7
7
|
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
8
8
|
<% } %>
|
|
9
|
+
import { Stack } from "expo-router";
|
|
9
10
|
|
|
10
11
|
import { Link } from "expo-router";
|
|
11
12
|
|
|
@@ -13,6 +14,7 @@ export default function Page() {
|
|
|
13
14
|
return (
|
|
14
15
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
15
16
|
<View className={styles.container}>
|
|
17
|
+
<Stack.Screen options={{ title: "Overview" }} />
|
|
16
18
|
<View className={styles.main}>
|
|
17
19
|
<View>
|
|
18
20
|
<Text className={styles.title}>Hello World</Text>
|
|
@@ -28,18 +30,20 @@ export default function Page() {
|
|
|
28
30
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
29
31
|
<Container>
|
|
30
32
|
<Main>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
<Stack.Screen options={{ title: "Overview" }} />
|
|
34
|
+
<YStack>
|
|
35
|
+
<Title>Hello World</Title>
|
|
36
|
+
<Subtitle>This is the first page of your app.</Subtitle>
|
|
37
|
+
</YStack>
|
|
38
|
+
<Link href={{ pathname: "/details", params: { name: "Dan" } }} asChild>
|
|
39
|
+
<Button><ButtonText>Show Details</ButtonText></Button>
|
|
40
|
+
</Link>
|
|
38
41
|
</Main>
|
|
39
42
|
</Container>
|
|
40
43
|
<% } else { %>
|
|
41
44
|
<View style={styles.container}>
|
|
42
45
|
<View style={styles.main}>
|
|
46
|
+
<Stack.Screen options={{ title: "Overview" }} />
|
|
43
47
|
<View>
|
|
44
48
|
<Text style={styles.title}>Hello World</Text>
|
|
45
49
|
<Text style={styles.subtitle}>This is the first page of your app.</Text>
|
|
@@ -64,7 +64,7 @@ function runCLI(toolbox, projectName) {
|
|
|
64
64
|
type: 'select',
|
|
65
65
|
name: 'navigationSelect',
|
|
66
66
|
message: 'What would you like to use for Navigation?',
|
|
67
|
-
choices: ['React Navigation', 'Expo Router
|
|
67
|
+
choices: ['React Navigation', 'Expo Router', 'None']
|
|
68
68
|
};
|
|
69
69
|
askNavigationType = {
|
|
70
70
|
type: 'select',
|
|
@@ -165,4 +165,4 @@ function runCLI(toolbox, projectName) {
|
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
167
|
exports.runCLI = runCLI;
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBQThDO0FBRzlDLFNBQXNCLE1BQU0sQ0FBQyxPQUFnQixFQUFFLFdBQW1COzs7Ozs7b0JBRWhELE9BQU8sR0FHbkIsT0FBTyxtQkFIWSxFQUNaLE9BQU8sR0FFZCxPQUFPLGNBRk8sRUFDaEIsTUFBTSxHQUNKLE9BQU8sT0FESCxDQUNJO29CQUdOLFVBQVUsR0FBRywwQkFBYyxDQUFDO29CQUVsQyxzREFBc0Q7b0JBQ3RELFVBQVUsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO29CQUNyQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztvQkFFakQseUJBQXlCO29CQUN6QixVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztvQkFFSCxxQkFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLHFEQUFxRCxFQUFFLElBQUksQ0FBQyxFQUFBOztvQkFBakcsYUFBYSxHQUFHLFNBQWlGO29CQUV2RyxJQUFJLGFBQWEsRUFBRSxDQUFDO3dCQUNsQixPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQztvQkFDakQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO29CQUN2RCxDQUFDO29CQUdLLGFBQWEsR0FBRzt3QkFDcEIsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsT0FBTyxFQUFFLDRDQUE0Qzt3QkFDckQsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQztxQkFDckQsQ0FBQztvQkFFSSxpQkFBaUIsR0FBRzt3QkFDeEIsSUFBSSxFQUFFLFFBQVE7d0JBQ2Qs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
|
package/package.json
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
2
|
+
"name": "create-expo-stack",
|
|
3
|
+
"version": "2.3.11-next.8088006",
|
|
4
|
+
"description": "CLI tool to initialize a React Native application with Expo",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/danstepanov/create-expo-stack.git",
|
|
8
|
+
"directory": "cli"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://createexpostack.com",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"types": "build/types/types.d.ts",
|
|
13
|
+
"bin": {
|
|
14
|
+
"create-expo-stack": "bin/create-expo-stack.js"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"build",
|
|
18
|
+
"LICENSE",
|
|
19
|
+
"readme.md",
|
|
20
|
+
"docs",
|
|
21
|
+
"bin"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "bun run clean-build && bun run compile && bun run copy-templates && bun run lint-templates",
|
|
25
|
+
"bump": "bun run ./src/utilities/bumpVersion.ts",
|
|
26
|
+
"clean-build": "rm -rf ./build",
|
|
27
|
+
"compile": "tsc -p .",
|
|
28
|
+
"copy-templates": "bun run copyfiles -u 2 -a \"./src/templates/**/*\" ./build/templates",
|
|
29
|
+
"format": "eslint \"**/*.{js,jsx,ts,tsx}\" --fix && prettier \"**/*.{js,jsx,ts,tsx,json}\" --write",
|
|
30
|
+
"lint-templates": "bun run ejslint ./src/templates",
|
|
31
|
+
"prepublishOnly": "bun run build",
|
|
32
|
+
"publishPublic": "bun run build && npm publish --access public",
|
|
33
|
+
"snapupdate": "jest --updateSnapshot",
|
|
34
|
+
"test:watch": "bun test --watch",
|
|
35
|
+
"test": "bun test --timeout 30000"
|
|
36
|
+
},
|
|
37
|
+
"prettier": {
|
|
38
|
+
"arrowParens": "always",
|
|
39
|
+
"bracketSameLine": false,
|
|
40
|
+
"bracketSpacing": true,
|
|
41
|
+
"printWidth": 120,
|
|
42
|
+
"semi": true,
|
|
43
|
+
"singleQuote": true,
|
|
44
|
+
"tabWidth": 2,
|
|
45
|
+
"trailingComma": "none",
|
|
46
|
+
"useTabs": false
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"ejs-lint": "^2.0.0",
|
|
50
|
+
"figlet": "^1.6.0",
|
|
51
|
+
"gluegun": "latest",
|
|
52
|
+
"gradient-string": "^2.0.2"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/gradient-string": "^1.1.2",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^6.9.1",
|
|
57
|
+
"@typescript-eslint/parser": "^6.9.1",
|
|
58
|
+
"copyfiles": "^2.4.1",
|
|
59
|
+
"eslint": "^8.53.0",
|
|
60
|
+
"eslint-config-prettier": "^9.0.0",
|
|
61
|
+
"eslint-plugin-prettier": "^5.0.1",
|
|
62
|
+
"husky": "^5.1.3",
|
|
63
|
+
"prettier": "^3.1.0"
|
|
64
|
+
},
|
|
65
|
+
"publishConfig": {
|
|
66
|
+
"provenance": false
|
|
67
|
+
}
|
|
68
68
|
}
|