create-expo-stack 2.1.11 → 2.1.13
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 +7 -3
- package/build/templates/base/App.tsx.ejs +0 -1
- package/build/templates/base/babel.config.js.ejs +1 -1
- package/build/templates/packages/expo-router/stack/app/_layout.tsx.ejs +3 -2
- package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +1 -1
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +2 -2
- package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +1 -1
- package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +2 -1
- package/build/templates/packages/expo-router/tabs/components/edit-screen-info.tsx.ejs +2 -2
- package/build/templates/packages/react-navigation/App.tsx.ejs +1 -1
- package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +3 -1
- package/build/templates/packages/react-navigation/screens/details.tsx.ejs +1 -1
- package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +2 -1
- package/build/templates/packages/react-navigation/screens/one.tsx.ejs +1 -1
- package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +1 -1
- package/build/templates/packages/react-navigation/screens/two.tsx.ejs +7 -7
- package/build/types/types.d.ts +4 -2
- package/build/utilities/configureProjectFiles.js +3 -3
- package/build/utilities/generateProjectFiles.js +3 -3
- package/build/utilities/runCLI.js +18 -6
- package/package.json +1 -1
|
@@ -36,6 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var util = require('util');
|
|
39
40
|
var utilities_1 = require("../utilities");
|
|
40
41
|
var constants_1 = require("../constants");
|
|
41
42
|
var command = {
|
|
@@ -87,7 +88,7 @@ var command = {
|
|
|
87
88
|
// Add react-navigation package
|
|
88
89
|
cliResults.packages.push({
|
|
89
90
|
name: "react-navigation", type: 'navigation', options: {
|
|
90
|
-
|
|
91
|
+
type: options.tabs ? "tabs" : "stack"
|
|
91
92
|
}
|
|
92
93
|
});
|
|
93
94
|
}
|
|
@@ -95,7 +96,7 @@ var command = {
|
|
|
95
96
|
// Add expo-router package
|
|
96
97
|
cliResults.packages.push({
|
|
97
98
|
name: "expo-router", type: 'navigation', options: {
|
|
98
|
-
|
|
99
|
+
type: options.tabs ? "tabs" : "stack"
|
|
99
100
|
}
|
|
100
101
|
});
|
|
101
102
|
}
|
|
@@ -111,6 +112,9 @@ var command = {
|
|
|
111
112
|
if (first) {
|
|
112
113
|
cliResults.projectName = first;
|
|
113
114
|
}
|
|
115
|
+
// By this point, all cliResults should be set
|
|
116
|
+
info('Your project configuration:');
|
|
117
|
+
info(util.inspect(cliResults, false, null, true /* enable colors */));
|
|
114
118
|
packages = cliResults.packages;
|
|
115
119
|
navigationPackage = packages.find(function (p) { return p.type === "navigation"; }) || undefined;
|
|
116
120
|
stylingPackage = packages.find(function (p) { return p.type === "styling"; });
|
|
@@ -137,4 +141,4 @@ var command = {
|
|
|
137
141
|
}); },
|
|
138
142
|
};
|
|
139
143
|
exports.default = command;
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFFNUIsMENBUXNCO0FBQ3RCLDBDQUE4QztBQUc5QyxJQUFNLE9BQU8sR0FBbUI7SUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLEdBQUcsRUFBRSxVQUFPLE9BQU87Ozs7O29CQUVmLEtBRUUsT0FBTyxXQUZxQixFQUFoQixLQUFLLFdBQUEsRUFBRSxPQUFPLGFBQUEsRUFDNUIsS0FDRSxPQUFPLE1BRDBCLEVBQTFCLElBQUksVUFBQSxFQUFFLFNBQVMsZUFBQSxFQUFFLE9BQU8sYUFBQSxDQUN2QjtvQkFDWixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRTt3QkFDN0IsSUFBQSxvQkFBUSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7d0JBRWxDLHNCQUFPO3FCQUNSOzs7O29CQUVDLHFCQUFNLElBQUEsdUJBQVcsRUFBQyxPQUFPLENBQUMsRUFBQTs7b0JBQTFCLFNBQTBCLENBQUM7b0JBRTNCLDBEQUEwRDtvQkFDMUQsNEVBQTRFO29CQUM1RSxxQkFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQXhCLENBQXdCLENBQUMsRUFBQTs7b0JBRnhELDBEQUEwRDtvQkFDMUQsNEVBQTRFO29CQUM1RSxTQUF3RCxDQUFDO29CQUdyRCxVQUFVLEdBQWUsMEJBQWMsQ0FBQzt5QkFHeEMsT0FBTyxDQUFDLE1BQU0sRUFBZCx3QkFBYztv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
|
|
@@ -5,7 +5,6 @@ import React from 'react';
|
|
|
5
5
|
<% } else if (props.stylingPackage?.name === "tamagui") {%>
|
|
6
6
|
import { View } from 'react-native';
|
|
7
7
|
import { TamaguiProvider, Text, styled } from 'tamagui';
|
|
8
|
-
|
|
9
8
|
import config from './tamagui.config'
|
|
10
9
|
<% } else {%>
|
|
11
10
|
import { StyleSheet, Text, View } from 'react-native';
|
|
@@ -4,6 +4,7 @@ import { Stack, useRouter } from "expo-router";
|
|
|
4
4
|
import { Text, TouchableOpacity, View } from "react-native";
|
|
5
5
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
6
6
|
import { TamaguiProvider, Button } from "tamagui";
|
|
7
|
+
import config from '../tamagui.config'
|
|
7
8
|
<% } else { %>
|
|
8
9
|
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
9
10
|
<% } %>
|
|
@@ -20,9 +21,9 @@ export default function Layout() {
|
|
|
20
21
|
</TouchableOpacity>
|
|
21
22
|
);
|
|
22
23
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
23
|
-
const BackButton = () =>
|
|
24
|
+
const BackButton = () => (
|
|
24
25
|
<Button onPress={router.back} icon={<Feather name="chevron-left" size={16} color="#007AFF" />}>Back</Button>
|
|
25
|
-
|
|
26
|
+
)
|
|
26
27
|
<% } else { %>
|
|
27
28
|
const BackButton = () => (
|
|
28
29
|
<TouchableOpacity onPress={router.back}>
|
|
@@ -20,7 +20,7 @@ export default function Details() {
|
|
|
20
20
|
);
|
|
21
21
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
22
22
|
return (
|
|
23
|
-
<YStack flex={1}
|
|
23
|
+
<YStack flex={1} padding="$2">
|
|
24
24
|
<YStack flex={1} maxWidth={960}>
|
|
25
25
|
<H2>Details</H2>
|
|
26
26
|
<Paragraph theme="alt1">Showing details for user {name}.</Paragraph>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
2
|
import { Text, TouchableOpacity, View } from "react-native";
|
|
3
3
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
|
-
import { YStack, H2, Paragraph } from "tamagui"
|
|
4
|
+
import { YStack, H2, Paragraph, Button } from "tamagui"
|
|
5
5
|
<% } else { %>
|
|
6
6
|
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
7
7
|
<% } %>
|
|
@@ -27,7 +27,7 @@ export default function Page() {
|
|
|
27
27
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
28
28
|
return (
|
|
29
29
|
<YStack flex={1} padding="$3">
|
|
30
|
-
<YStack flex={1}
|
|
30
|
+
<YStack flex={1} maxWidth="{960}" justifyContent="space-between">
|
|
31
31
|
<YStack>
|
|
32
32
|
<H2>Hello World</H2>
|
|
33
33
|
<Paragraph>This is the first page of your app.</Paragraph>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Stack } from "expo-router";
|
|
2
2
|
<% if (props.stylingPackage?.name === "tamagui") { %>
|
|
3
3
|
import { TamaguiProvider } from 'tamagui'
|
|
4
|
-
import
|
|
4
|
+
import config from './tamagui.config'
|
|
5
5
|
<% } %>
|
|
6
6
|
|
|
7
7
|
export const unstable_settings = {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
2
|
import { Platform, Text, View } from "react-native";
|
|
3
|
-
<% } else if (props.stylingPackage?.name === "
|
|
3
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
4
|
import { YStack, Paragraph, Separator } from "tamagui";
|
|
5
|
+
import { Platform } from 'react-native'
|
|
5
6
|
<% } else { %>
|
|
6
7
|
import { Platform, StyleSheet, Text, View } from "react-native";
|
|
7
8
|
<% } %>
|
|
@@ -27,11 +27,11 @@ export default function EditScreenInfo({ path }: { path: string }) {
|
|
|
27
27
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
28
28
|
return (
|
|
29
29
|
<YStack>
|
|
30
|
-
<YStack alignItems="center"
|
|
30
|
+
<YStack alignItems="center" marginHorizontal="$6">
|
|
31
31
|
<H4>
|
|
32
32
|
Open up the code for this screen:
|
|
33
33
|
</H4>
|
|
34
|
-
<YStack borderRadius="$3"
|
|
34
|
+
<YStack borderRadius="$3" marginVertical="$1">
|
|
35
35
|
<Paragraph>{path}</Paragraph>
|
|
36
36
|
</YStack>
|
|
37
37
|
<Paragraph>
|
|
@@ -2,7 +2,7 @@ import "react-native-gesture-handler";
|
|
|
2
2
|
import RootStack from "./src/navigation";
|
|
3
3
|
<% if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
4
|
import { TamaguiProvider } from 'tamagui'
|
|
5
|
-
import
|
|
5
|
+
import config from './tamagui.config'
|
|
6
6
|
<% } %>
|
|
7
7
|
export default function App() {
|
|
8
8
|
return (
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
<% if (props.navigationPackage?.options === 'stack') { %>
|
|
1
|
+
<% if (props.navigationPackage?.options.type === 'stack') { %>
|
|
2
2
|
import { Feather } from "@expo/vector-icons";
|
|
3
3
|
import { NavigationContainer } from "@react-navigation/native";
|
|
4
4
|
import { createStackNavigator } from "@react-navigation/stack";
|
|
5
5
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
6
6
|
import { Text, View } from "react-native";
|
|
7
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
8
|
+
import { Button } from "tamagui";
|
|
7
9
|
<% } else { %>
|
|
8
10
|
import { Text, View, StyleSheet } from "react-native";
|
|
9
11
|
<% } %>
|
|
@@ -23,7 +23,7 @@ export default function Details() {
|
|
|
23
23
|
);
|
|
24
24
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
25
25
|
return (
|
|
26
|
-
<YStack flex={1}
|
|
26
|
+
<YStack flex={1} paddingTop="$2">
|
|
27
27
|
<YStack flex={1} maxWidth={960}>
|
|
28
28
|
<H2>Details</H2>
|
|
29
29
|
<Paragraph>Showing details for user {router.params.name}.</Paragraph>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
2
2
|
import { Platform, Text, View } from "react-native";
|
|
3
|
-
<% } else if (props.stylingPackage?.name === "
|
|
3
|
+
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
4
4
|
import { YStack, Paragraph, Separator } from "tamagui";
|
|
5
|
+
import { Platform } from 'react-native'
|
|
5
6
|
<% } else { %>
|
|
6
7
|
import { Platform, StyleSheet, Text, View } from "react-native";
|
|
7
8
|
<% } %>
|
|
@@ -42,7 +42,7 @@ export default function TabOneScreen() {
|
|
|
42
42
|
separator: "h-[1px] my-7 w-4/5 bg-gray-200",
|
|
43
43
|
title: "text-xl font-bold"
|
|
44
44
|
};
|
|
45
|
-
<% } else if (props.stylingPackage?.name === "
|
|
45
|
+
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
46
46
|
const styles = StyleSheet.create({
|
|
47
47
|
container: {
|
|
48
48
|
alignItems: "center",
|
|
@@ -30,7 +30,7 @@ export default function Overview() {
|
|
|
30
30
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
31
31
|
return (
|
|
32
32
|
<YStack flex={1} padding="$3">
|
|
33
|
-
<YStack flex={1}
|
|
33
|
+
<YStack flex={1} maxWidth="{960}" justifyContent="space-between">
|
|
34
34
|
<YStack>
|
|
35
35
|
<H2>Hello World</H2>
|
|
36
36
|
<Paragraph>This is the first page of your app.</Paragraph>
|
|
@@ -1,28 +1,28 @@
|
|
|
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,
|
|
4
|
+
import { YStack, H2, Separator } from "tamagui";
|
|
5
5
|
<% } else { %>
|
|
6
6
|
import { StyleSheet, Text, View } from "react-native";
|
|
7
7
|
<% } %>
|
|
8
8
|
|
|
9
9
|
import EditScreenInfo from "../components/edit-screen-info";
|
|
10
10
|
|
|
11
|
-
export default function
|
|
11
|
+
export default function TabTwoScreen() {
|
|
12
12
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
13
13
|
return (
|
|
14
14
|
<View className={styles.container}>
|
|
15
|
-
<Text className={styles.title}>Tab
|
|
15
|
+
<Text className={styles.title}>Tab Two</Text>
|
|
16
16
|
<View className={styles.separator} />
|
|
17
|
-
<EditScreenInfo path="src/screens/
|
|
17
|
+
<EditScreenInfo path="src/screens/two.tsx" />
|
|
18
18
|
</View>
|
|
19
19
|
);
|
|
20
20
|
<% } else if (props.stylingPackage?.name === "tamagui") { %>
|
|
21
21
|
return (
|
|
22
|
-
<YStack
|
|
23
|
-
<
|
|
22
|
+
<YStack flex={1} alignItems="center" justifyContent="center">
|
|
23
|
+
<H2>Tab One</H2>
|
|
24
24
|
<Separator />
|
|
25
|
-
<EditScreenInfo path="src/screens/
|
|
25
|
+
<EditScreenInfo path="src/screens/two.tsx" />
|
|
26
26
|
</YStack>
|
|
27
27
|
);
|
|
28
28
|
<% } else { %>
|
package/build/types/types.d.ts
CHANGED
|
@@ -4,11 +4,13 @@ export interface CliFlags {
|
|
|
4
4
|
importAlias: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const availablePackages: readonly ["nativewind", "tamagui", "react-navigation", "expo-router", "stylesheet"];
|
|
7
|
-
export type NavigationTypes = "stack" | "tabs" |
|
|
7
|
+
export type NavigationTypes = "stack" | "tabs" | undefined;
|
|
8
8
|
export type AvailablePackages = {
|
|
9
9
|
name: (typeof availablePackages)[number];
|
|
10
10
|
type: "navigation" | "styling";
|
|
11
|
-
options
|
|
11
|
+
options?: {
|
|
12
|
+
type?: NavigationTypes;
|
|
13
|
+
};
|
|
12
14
|
};
|
|
13
15
|
export interface CliResults {
|
|
14
16
|
projectName: string;
|
|
@@ -52,7 +52,7 @@ function configureProjectFiles(files, navigationPackage, stylingPackage) {
|
|
|
52
52
|
'packages/react-navigation/navigation/index.tsx.ejs',
|
|
53
53
|
];
|
|
54
54
|
// if it's a stack, add the stack files) {
|
|
55
|
-
if (navigationPackage.options === "stack") {
|
|
55
|
+
if (navigationPackage.options.type === "stack") {
|
|
56
56
|
reactNavigationFiles = __spreadArray(__spreadArray([], reactNavigationFiles, true), [
|
|
57
57
|
'packages/react-navigation/screens/details.tsx.ejs',
|
|
58
58
|
'packages/react-navigation/screens/overview.tsx.ejs',
|
|
@@ -81,7 +81,7 @@ function configureProjectFiles(files, navigationPackage, stylingPackage) {
|
|
|
81
81
|
'packages/expo-router/index.ts'
|
|
82
82
|
];
|
|
83
83
|
// if it's a stack, add the stack files) {
|
|
84
|
-
if (navigationPackage.options === "stack") {
|
|
84
|
+
if (navigationPackage.options.type === "stack") {
|
|
85
85
|
expoRouterFiles = __spreadArray(__spreadArray([], expoRouterFiles, true), [
|
|
86
86
|
'packages/expo-router/stack/app/_layout.tsx.ejs',
|
|
87
87
|
'packages/expo-router/stack/app/details.tsx.ejs',
|
|
@@ -106,4 +106,4 @@ function configureProjectFiles(files, navigationPackage, stylingPackage) {
|
|
|
106
106
|
return files;
|
|
107
107
|
}
|
|
108
108
|
exports.configureProjectFiles = configureProjectFiles;
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJvamVjdEZpbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb25maWd1cmVQcm9qZWN0RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsU0FBZ0IscUJBQXFCLENBQ2pDLEtBQWUsRUFDZixpQkFBZ0QsRUFDaEQsY0FBNkM7SUFFN0MsMkRBQTJEO0lBQzNELElBQU0sU0FBUyxHQUFHO1FBQ2QsK0JBQStCO1FBQy9CLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIscUJBQXFCO0tBQ3RCLENBQUM7SUFFRixLQUFLLHFCQUNBLFNBQVMsT0FDYixDQUFDO0lBRUYsaUNBQWlDO0lBQ2pDLG1EQUFtRDtJQUNuRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUU7UUFDekMsSUFBTSxlQUFlLEdBQUc7WUFDdEIsNENBQTRDO1lBQzVDLDhCQUE4QjtTQUMvQixDQUFDO1FBRUYsS0FBSyxtQ0FDQSxLQUFLLFNBQ0wsZUFBZSxPQUNuQixDQUFDO0tBQ0g7SUFBQSxDQUFDO0lBRUYsOEJBQThCO0lBQzlCLGdEQUFnRDtJQUNoRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxTQUFTLEVBQUU7UUFDdEMsSUFBTSxZQUFZLEdBQUc7WUFDbkIsd0NBQXdDO1NBQ3pDLENBQUM7UUFFRixLQUFLLG1DQUNBLEtBQUssU0FDTCxZQUFZLE9BQ2hCLENBQUM7S0FDSDtJQUFBLENBQUM7SUFFRix1Q0FBdUM7SUFDdkMseURBQXlEO0lBQ3pELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssa0JBQWtCLEVBQUU7UUFDbEQsSUFBSSxvQkFBb0IsR0FBRztZQUN6Qix1Q0FBdUM7WUFDdkMsb0RBQW9EO1NBQ3JELENBQUM7UUFDRiwwQ0FBMEM7UUFFMUMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUM5QyxvQkFBb0IsbUNBQ2Ysb0JBQW9CO2dCQUN2QixtREFBbUQ7Z0JBQ25ELG9EQUFvRDtxQkFDckQsQ0FBQztTQUNIO2FBQU07WUFDTCx1QkFBdUI7WUFDdkIsb0JBQW9CLG1DQUNmLG9CQUFvQjtnQkFDdkIsK0RBQStEO2dCQUMvRCw0REFBNEQ7Z0JBQzVELGlEQUFpRDtnQkFDakQsK0NBQStDO2dCQUMvQywrQ0FBK0M7cUJBQ2hELENBQUM7U0FDSDtRQUVELHNGQUFzRjtRQUN0RixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksS0FBSyxrQkFBa0IsRUFBM0IsQ0FBMkIsQ0FBQyxDQUFDO1FBRTVELEtBQUssbUNBQ0EsS0FBSyxTQUNMLG9CQUFvQixPQUN4QixDQUFDO0tBQ0g7SUFFRCxrQ0FBa0M7SUFDbEMsb0RBQW9EO0lBQ3BELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssYUFBYSxFQUFFO1FBQzdDLElBQUksZUFBZSxHQUFHO1lBQ3BCLG9DQUFvQztZQUNwQyxzQ0FBc0M7WUFDdEMsK0JBQStCO1NBQ2hDLENBQUM7UUFDRiwwQ0FBMEM7UUFDMUMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUM5QyxlQUFlLG1DQUNWLGVBQWU7Z0JBQ2xCLGdEQUFnRDtnQkFDaEQsZ0RBQWdEO2dCQUNoRCw4Q0FBOEM7cUJBQy9DLENBQUM7U0FDSDthQUFNO1lBQ0wsdUJBQXVCO1lBQ3ZCLGVBQWUsbUNBQ1YsZUFBZTtnQkFDbEIsc0RBQXNEO2dCQUN0RCxvREFBb0Q7Z0JBQ3BELGtEQUFrRDtnQkFDbEQsK0NBQStDO2dCQUMvQyw2Q0FBNkM7Z0JBQzdDLCtEQUErRDtxQkFDaEUsQ0FBQztTQUNIO1FBRUQsbUZBQW1GO1FBQ25GLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxLQUFLLGtCQUFrQixFQUEzQixDQUEyQixDQUFDLENBQUM7UUFFNUQsS0FBSyxtQ0FDQSxLQUFLLFNBQ0wsZUFBZSxPQUNuQixDQUFDO0tBQ0g7SUFDSCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBNUhELHNEQTRIQyJ9
|
|
@@ -18,10 +18,10 @@ function generateProjectFiles(cliResults, files, formattedFiles, navigationPacka
|
|
|
18
18
|
}
|
|
19
19
|
if ((navigationPackage === null || navigationPackage === void 0 ? void 0 : navigationPackage.name) === "expo-router") {
|
|
20
20
|
target = target.replace('packages/expo-router/', '');
|
|
21
|
-
if (navigationPackage.options === "stack") {
|
|
21
|
+
if (navigationPackage.options.type === "stack") {
|
|
22
22
|
target = target.replace('stack/', '');
|
|
23
23
|
}
|
|
24
|
-
if (navigationPackage.options === "tabs") {
|
|
24
|
+
if (navigationPackage.options.type === "tabs") {
|
|
25
25
|
target = target.replace('tabs/', '');
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -40,4 +40,4 @@ function generateProjectFiles(cliResults, files, formattedFiles, navigationPacka
|
|
|
40
40
|
}, formattedFiles);
|
|
41
41
|
}
|
|
42
42
|
exports.generateProjectFiles = generateProjectFiles;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dlbmVyYXRlUHJvamVjdEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLFNBQWdCLG9CQUFvQixDQUNoQyxVQUFzQixFQUN0QixLQUFlLEVBQ2YsY0FBcUIsRUFDckIsaUJBQW9DLEVBQ3BDLE9BQWdCLEVBQ2hCLGNBQWlDO0lBRXpCLElBQUEsV0FBVyxHQUFzQixVQUFVLFlBQWhDLEVBQUUsUUFBUSxHQUFZLFVBQVUsU0FBdEIsRUFBRSxLQUFLLEdBQUssVUFBVSxNQUFmLENBQWdCO0lBRXBELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJO1FBQzNCLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLE1BQU0sR0FBRyxVQUFHLFdBQVcsTUFBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFOUUsSUFBSSxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO1lBQ3BDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO2FBQU0sSUFBSSxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxJQUFJLE1BQUssWUFBWSxFQUFFO1lBQzlDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxrQkFBa0IsRUFBRTtZQUNoRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssYUFBYSxFQUFFO1lBQzNDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQzVDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN6QztZQUNELElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQzNDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN4QztTQUNKO1FBRUQsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDbEMsUUFBUSxVQUFBO1lBQ1IsTUFBTSxFQUFFLElBQUksR0FBRyxNQUFNO1lBQ3JCLEtBQUssRUFBRTtnQkFDSCxXQUFXLGFBQUE7Z0JBQ1gsUUFBUSxVQUFBO2dCQUNSLEtBQUssT0FBQTtnQkFDTCxjQUFjLGdCQUFBO2dCQUNkLGlCQUFpQixtQkFBQTthQUNwQjtTQUNKLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0FBQ3RCLENBQUM7QUFsREQsb0RBa0RDIn0=
|
|
@@ -92,10 +92,22 @@ function runCLI(toolbox) {
|
|
|
92
92
|
case 6:
|
|
93
93
|
navigationTypeSelect = (_b.sent()).navigationTypeSelect;
|
|
94
94
|
if (navigationSelect === 'React Navigation') {
|
|
95
|
-
cliResults.packages.push({
|
|
95
|
+
cliResults.packages.push({
|
|
96
|
+
name: "react-navigation",
|
|
97
|
+
type: 'navigation',
|
|
98
|
+
options: {
|
|
99
|
+
type: navigationTypeSelect.toLowerCase()
|
|
100
|
+
}
|
|
101
|
+
});
|
|
96
102
|
}
|
|
97
103
|
else {
|
|
98
|
-
cliResults.packages.push({
|
|
104
|
+
cliResults.packages.push({
|
|
105
|
+
name: "expo-router",
|
|
106
|
+
type: 'navigation',
|
|
107
|
+
options: {
|
|
108
|
+
type: navigationTypeSelect.toLowerCase()
|
|
109
|
+
}
|
|
110
|
+
});
|
|
99
111
|
}
|
|
100
112
|
success("Great, we'll use ".concat(navigationSelect, "!"));
|
|
101
113
|
return [3 /*break*/, 8];
|
|
@@ -113,14 +125,14 @@ function runCLI(toolbox) {
|
|
|
113
125
|
case 9:
|
|
114
126
|
stylingSelect = (_b.sent()).stylingSelect;
|
|
115
127
|
if (stylingSelect === 'nativewind') {
|
|
116
|
-
cliResults.packages.push({ name: "nativewind", type: 'styling'
|
|
128
|
+
cliResults.packages.push({ name: "nativewind", type: 'styling' });
|
|
117
129
|
success("You'll be styling with ease using Tailwind.");
|
|
118
130
|
}
|
|
119
131
|
else if (stylingSelect === 'tamagui') {
|
|
120
|
-
cliResults.packages.push({ name: "tamagui", type: 'styling'
|
|
132
|
+
cliResults.packages.push({ name: "tamagui", type: 'styling' });
|
|
121
133
|
}
|
|
122
134
|
else {
|
|
123
|
-
cliResults.packages.push({ name: "stylesheet", type: 'styling'
|
|
135
|
+
cliResults.packages.push({ name: "stylesheet", type: 'styling' });
|
|
124
136
|
success("Cool, you're using the default StyleSheet that comes with React Native.");
|
|
125
137
|
}
|
|
126
138
|
return [2 /*return*/, cliResults];
|
|
@@ -129,4 +141,4 @@ function runCLI(toolbox) {
|
|
|
129
141
|
});
|
|
130
142
|
}
|
|
131
143
|
exports.runCLI = runCLI;
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBQWdFO0FBR2hFLFNBQXNCLE1BQU0sQ0FBQyxPQUFnQjs7Ozs7O29CQUUzQixLQUFLLEdBR2pCLE9BQU8saUJBSFUsRUFDVixPQUFPLEdBRWQsT0FBTyxjQUZPLEVBQ2hCLEtBQ0UsT0FBTyxPQURlLEVBQWQsR0FBRyxTQUFBLEVBQUUsT0FBTyxhQUFBLENBQ1o7b0JBR1IsVUFBVSxHQUFHLDBCQUFjLENBQUM7eUJBRzVCLEtBQUssRUFBTCx3QkFBSztvQkFDUCxVQUFVLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzs7O29CQUV6QixPQUFPLEdBQUc7d0JBQ2QsSUFBSSxFQUFFLE9BQU87d0JBQ2IsSUFBSSxFQUFFLE1BQU07d0JBQ1osT0FBTyxFQUFFLGtEQUEyQyw0QkFBZ0IsTUFBRztxQkFDeEUsQ0FBQTtvQkFDZ0IscUJBQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFBOztvQkFBM0IsU0FBUyxDQUFBLFNBQWtCLENBQUEsS0FBdkI7b0JBQ1osVUFBVSxDQUFDLFdBQVcsR0FBRyxNQUFJLElBQUksNEJBQWdCLENBQUM7OztvQkFHcEQseUJBQXlCO29CQUN6QixVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztvQkFFSCxxQkFBTSxPQUFPLENBQ2pDLHFEQUFxRCxFQUNyRCxJQUFJLENBQ0wsRUFBQTs7b0JBSEssYUFBYSxHQUFHLFNBR3JCO29CQUVELElBQUksYUFBYSxFQUFFO3dCQUNqQixPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQTtxQkFDL0M7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7cUJBQ3JEO29CQUdLLGFBQWEsR0FBRzt3QkFDcEIsSUFBSSxFQUFFLFFBQVE7d0JB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
|