create-expo-stack 2.1.24 → 2.2.0
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 +27 -12
- package/build/constants.js +1 -1
- package/build/templates/base/App.tsx.ejs +44 -44
- package/build/templates/base/package.json.ejs +11 -0
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +1 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/index.tsx.ejs +42 -40
- package/build/templates/packages/expo-router/tabs/app/(tabs)/two.tsx.ejs +40 -38
- package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +33 -33
- package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +44 -42
- package/build/templates/packages/firebase/.env +8 -0
- package/build/templates/packages/firebase/metro.config.js +6 -0
- package/build/templates/packages/firebase/utils/firebase.ts.ejs +26 -0
- package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +2 -1
- package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +57 -55
- package/build/templates/packages/react-navigation/screens/one.tsx.ejs +53 -51
- package/build/templates/packages/react-navigation/screens/two.tsx.ejs +53 -51
- package/build/templates/packages/supabase/.env +2 -0
- package/build/templates/packages/supabase/utils/supabase.ts.ejs +15 -0
- package/build/templates/packages/tamagui/tamagui.config.ts.ejs +94 -88
- package/build/types/types.d.ts +2 -2
- package/build/types/utilities/configureProjectFiles.d.ts +1 -1
- package/build/types/utilities/generateProjectFiles.d.ts +1 -1
- package/build/types.js +6 -4
- package/build/utilities/configureProjectFiles.js +19 -2
- package/build/utilities/generateProjectFiles.js +13 -5
- package/build/utilities/printOutput.js +43 -9
- package/build/utilities/runCLI.js +25 -5
- package/build/utilities/showHelp.js +21 -4
- package/package.json +1 -1
|
@@ -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
|
-
|
|
6
|
+
<% if ((props.navigationPackage?.type === "navigation") && (props.navigationPackage?.options.type === "stack")) { %>
|
|
7
|
+
import { createTamagui, styled, Text, YStack } from "tamagui";
|
|
8
8
|
<% } else { %>
|
|
9
|
-
|
|
9
|
+
import { createTamagui } from "tamagui";
|
|
10
10
|
<% } %>
|
|
11
11
|
|
|
12
12
|
const animations = createAnimations({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
export const Main = styled(YStack, {
|
|
43
|
+
flex: 1,
|
|
44
|
+
maxWidth: 960,
|
|
45
|
+
justifyContent: 'space-between',
|
|
46
|
+
});
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
export const Title = styled(Text, {
|
|
49
|
+
fontSize: 64,
|
|
50
|
+
fontWeight: 'bold',
|
|
51
|
+
});
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
export const Subtitle = styled(Text, {
|
|
54
|
+
color: '#38434D',
|
|
55
|
+
fontSize: 36,
|
|
56
|
+
});
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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/build/types/types.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ export interface CliFlags {
|
|
|
3
3
|
noInstall: boolean;
|
|
4
4
|
importAlias: string;
|
|
5
5
|
}
|
|
6
|
-
export declare const availablePackages: readonly ["
|
|
6
|
+
export declare const availablePackages: readonly ["expo-router", "expoRouter", "firebase", "nativewind", "react-navigation", "reactNavigation", "reactnavigation", "supabase", "stylesheet", "tamagui"];
|
|
7
7
|
export type NavigationTypes = 'stack' | 'tabs' | undefined;
|
|
8
8
|
export type AvailablePackages = {
|
|
9
9
|
name: (typeof availablePackages)[number];
|
|
10
|
-
type: 'navigation' | 'styling';
|
|
10
|
+
type: 'navigation' | 'styling' | 'authentication';
|
|
11
11
|
options?: {
|
|
12
12
|
type?: NavigationTypes;
|
|
13
13
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Toolbox } from 'gluegun/build/types/domain/toolbox';
|
|
2
2
|
import { AvailablePackages } from '../types';
|
|
3
|
-
export declare function configureProjectFiles(files: string[], navigationPackage: AvailablePackages | undefined, stylingPackage: AvailablePackages | undefined, toolbox: Toolbox): string[];
|
|
3
|
+
export declare function configureProjectFiles(authenticationPackage: AvailablePackages | undefined, files: string[], navigationPackage: AvailablePackages | undefined, stylingPackage: AvailablePackages | undefined, toolbox: Toolbox): 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,
|
|
3
|
+
export declare function generateProjectFiles(authenticationPackage: AvailablePackages, cliResults: CliResults, files: string[], formattedFiles: any[], navigationPackage: AvailablePackages, stylingPackage: AvailablePackages, toolbox: Toolbox): any[];
|
package/build/types.js
CHANGED
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.availablePackages = void 0;
|
|
4
4
|
exports.availablePackages = [
|
|
5
|
+
'expo-router',
|
|
6
|
+
'expoRouter',
|
|
7
|
+
'firebase',
|
|
5
8
|
'nativewind',
|
|
6
|
-
'tamagui',
|
|
7
9
|
'react-navigation',
|
|
8
10
|
'reactNavigation',
|
|
9
11
|
'reactnavigation',
|
|
10
|
-
'
|
|
11
|
-
'expoRouter',
|
|
12
|
+
'supabase',
|
|
12
13
|
'stylesheet',
|
|
14
|
+
'tamagui',
|
|
13
15
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT2EsUUFBQSxpQkFBaUIsR0FBRztJQUNoQyxhQUFhO0lBQ2IsWUFBWTtJQUNaLFVBQVU7SUFDVixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsVUFBVTtJQUNWLFlBQVk7SUFDWixTQUFTO0NBQ0EsQ0FBQSJ9
|
|
@@ -11,7 +11,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.configureProjectFiles = void 0;
|
|
13
13
|
var getPackageManager_1 = require("./getPackageManager");
|
|
14
|
-
function configureProjectFiles(files, navigationPackage, stylingPackage, toolbox) {
|
|
14
|
+
function configureProjectFiles(authenticationPackage, files, navigationPackage, stylingPackage, toolbox) {
|
|
15
15
|
// Define the files common to all templates to be generated
|
|
16
16
|
var baseFiles = [
|
|
17
17
|
'base/assets/adaptive-icon.png',
|
|
@@ -105,7 +105,24 @@ function configureProjectFiles(files, navigationPackage, stylingPackage, toolbox
|
|
|
105
105
|
files = files.filter(function (file) { return file !== 'base/App.tsx.ejs'; });
|
|
106
106
|
files = __spreadArray(__spreadArray([], files, true), expoRouterFiles, true);
|
|
107
107
|
}
|
|
108
|
+
// add supabase files if needed
|
|
109
|
+
if ((authenticationPackage === null || authenticationPackage === void 0 ? void 0 : authenticationPackage.name) === 'supabase') {
|
|
110
|
+
var supabaseFiles = [
|
|
111
|
+
'packages/supabase/utils/supabase.ts.ejs',
|
|
112
|
+
'packages/supabase/.env',
|
|
113
|
+
];
|
|
114
|
+
files = __spreadArray(__spreadArray([], files, true), supabaseFiles, true);
|
|
115
|
+
}
|
|
116
|
+
// add supabase files if needed
|
|
117
|
+
if ((authenticationPackage === null || authenticationPackage === void 0 ? void 0 : authenticationPackage.name) === 'firebase') {
|
|
118
|
+
var firebaseFiles = [
|
|
119
|
+
'packages/firebase/utils/firebase.ts.ejs',
|
|
120
|
+
'packages/firebase/metro.config.js',
|
|
121
|
+
'packages/firebase/.env',
|
|
122
|
+
];
|
|
123
|
+
files = __spreadArray(__spreadArray([], files, true), firebaseFiles, true);
|
|
124
|
+
}
|
|
108
125
|
return files;
|
|
109
126
|
}
|
|
110
127
|
exports.configureProjectFiles = configureProjectFiles;
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJvamVjdEZpbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9jb25maWd1cmVQcm9qZWN0RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEseURBQXVEO0FBRXZELFNBQWdCLHFCQUFxQixDQUNwQyxxQkFBb0QsRUFDcEQsS0FBZSxFQUNmLGlCQUFnRCxFQUNoRCxjQUE2QyxFQUM3QyxPQUFnQjtJQUVoQiwyREFBMkQ7SUFDM0QsSUFBTSxTQUFTLEdBQUc7UUFDakIsK0JBQStCO1FBQy9CLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIscUJBQXFCO0tBQ3JCLENBQUE7SUFFRCxJQUFNLGNBQWMsR0FBRyxJQUFBLHFDQUFpQixFQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2pELHVEQUF1RDtJQUN2RCxJQUFJLGNBQWMsS0FBSyxNQUFNLElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssYUFBYSxFQUFFO1FBQzNFLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtLQUNqQztJQUVELEtBQUsscUJBQU8sU0FBUyxPQUFDLENBQUE7SUFFdEIsaUNBQWlDO0lBQ2pDLG1EQUFtRDtJQUNuRCxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUU7UUFDMUMsSUFBTSxlQUFlLEdBQUc7WUFDdkIsNENBQTRDO1lBQzVDLDhCQUE4QjtTQUM5QixDQUFBO1FBRUQsS0FBSyxtQ0FBTyxLQUFLLFNBQUssZUFBZSxPQUFDLENBQUE7S0FDdEM7SUFFRCw4QkFBOEI7SUFDOUIsZ0RBQWdEO0lBQ2hELElBQUksQ0FB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
|
|
@@ -1,11 +1,18 @@
|
|
|
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,
|
|
4
|
+
function generateProjectFiles(authenticationPackage, cliResults, files, formattedFiles, navigationPackage, stylingPackage, toolbox) {
|
|
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
|
-
var target = "".concat(projectName, "/") + file.replace('.ejs', '')
|
|
8
|
+
var target = "".concat(projectName, "/") + file.replace('.ejs', '');
|
|
9
|
+
if ((authenticationPackage === null || authenticationPackage === void 0 ? void 0 : authenticationPackage.name) === 'supabase') {
|
|
10
|
+
target = target.replace('packages/supabase/', '');
|
|
11
|
+
}
|
|
12
|
+
if ((authenticationPackage === null || authenticationPackage === void 0 ? void 0 : authenticationPackage.name) === 'firebase') {
|
|
13
|
+
target = target.replace('packages/firebase/', '');
|
|
14
|
+
}
|
|
15
|
+
target = target.replace('base/', '');
|
|
9
16
|
if ((stylingPackage === null || stylingPackage === void 0 ? void 0 : stylingPackage.name) === 'tamagui') {
|
|
10
17
|
target = target.replace('packages/tamagui/', '');
|
|
11
18
|
}
|
|
@@ -29,15 +36,16 @@ function generateProjectFiles(cliResults, files, formattedFiles, navigationPacka
|
|
|
29
36
|
template: template,
|
|
30
37
|
target: './' + target,
|
|
31
38
|
props: {
|
|
39
|
+
authenticationPackage: authenticationPackage,
|
|
40
|
+
flags: flags,
|
|
41
|
+
navigationPackage: navigationPackage,
|
|
32
42
|
projectName: projectName,
|
|
33
43
|
packages: packages,
|
|
34
|
-
flags: flags,
|
|
35
44
|
stylingPackage: stylingPackage,
|
|
36
|
-
navigationPackage: navigationPackage,
|
|
37
45
|
},
|
|
38
46
|
});
|
|
39
47
|
return prev.concat([gen]);
|
|
40
48
|
}, formattedFiles);
|
|
41
49
|
}
|
|
42
50
|
exports.generateProjectFiles = generateProjectFiles;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL2dlbmVyYXRlUHJvamVjdEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLFNBQWdCLG9CQUFvQixDQUNuQyxxQkFBd0MsRUFDeEMsVUFBc0IsRUFDdEIsS0FBZSxFQUNmLGNBQXFCLEVBQ3JCLGlCQUFvQyxFQUNwQyxjQUFpQyxFQUNqQyxPQUFnQjtJQUVSLElBQUEsV0FBVyxHQUFzQixVQUFVLFlBQWhDLEVBQUUsUUFBUSxHQUFZLFVBQVUsU0FBdEIsRUFBRSxLQUFLLEdBQUssVUFBVSxNQUFmLENBQWU7SUFFbkQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxFQUFFLElBQUk7UUFDOUIsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3JCLElBQUksTUFBTSxHQUFHLFVBQUcsV0FBVyxNQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFBLHFCQUFxQixhQUFyQixxQkFBcUIsdUJBQXJCLHFCQUFxQixDQUFFLElBQUksTUFBSyxVQUFVLEVBQUU7WUFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDakQ7UUFFRCxJQUFJLENBQUEscUJBQXFCLGFBQXJCLHFCQUFxQix1QkFBckIscUJBQXFCLENBQUUsSUFBSSxNQUFLLFVBQVUsRUFBRTtZQUMvQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQTtTQUNqRDtRQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVwQyxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxTQUFTLEVBQUU7WUFDdkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDaEQ7YUFBTSxJQUFJLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksTUFBSyxZQUFZLEVBQUU7WUFDakQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDbkQ7UUFFRCxJQUFJLENBQUEsaUJBQWlCLGFBQWpCLGlCQUFpQix1QkFBakIsaUJBQWlCLENBQUUsSUFBSSxNQUFLLGtCQUFrQixFQUFFO1lBQ25ELE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ3ZFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzdEO1FBRUQsSUFBSSxDQUFBLGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLElBQUksTUFBSyxhQUFhLEVBQUU7WUFDOUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDcEQsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBO2FBQ3JDO1lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDOUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2FBQ3BDO1NBQ0Q7UUFFRCxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNyQyxRQUFRLFVBQUE7WUFDUixNQUFNLEVBQUUsSUFBSSxHQUFHLE1BQU07WUFDckIsS0FBSyxFQUFFO2dCQUNOLHFCQUFxQix1QkFBQTtnQkFDckIsS0FBSyxPQUFBO2dCQUNMLGlCQUFpQixtQkFBQTtnQkFDakIsV0FBVyxhQUFBO2dCQUNYLFFBQVEsVUFBQTtnQkFDUixjQUFjLGdCQUFBO2FBQ2Q7U0FDRCxDQUFDLENBQUE7UUFFRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQzFCLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBN0RELG9EQTZEQyJ9
|
|
@@ -40,15 +40,15 @@ exports.printOutput = void 0;
|
|
|
40
40
|
var getPackageManager_1 = require("./getPackageManager");
|
|
41
41
|
function printOutput(cliResults, formattedFiles, toolbox) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
-
var options, _a, info, success, system, projectName, flags, packageManager;
|
|
43
|
+
var options, _a, info, success, highlight, system, projectName, flags, packageManager;
|
|
44
44
|
return __generator(this, function (_b) {
|
|
45
45
|
switch (_b.label) {
|
|
46
46
|
case 0:
|
|
47
|
-
options = toolbox.parameters.options, _a = toolbox.print, info = _a.info, success = _a.success, system = toolbox.system;
|
|
47
|
+
options = toolbox.parameters.options, _a = toolbox.print, info = _a.info, success = _a.success, highlight = _a.highlight, system = toolbox.system;
|
|
48
48
|
projectName = cliResults.projectName, flags = cliResults.flags;
|
|
49
49
|
// Output the results to the user
|
|
50
50
|
info("");
|
|
51
|
-
|
|
51
|
+
highlight("Initializing your project...");
|
|
52
52
|
return [4 /*yield*/, Promise.all(formattedFiles)
|
|
53
53
|
// check if npm option is set, otherwise set based on what the system is configure to use
|
|
54
54
|
];
|
|
@@ -57,7 +57,7 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
57
57
|
packageManager = (0, getPackageManager_1.getPackageManager)(toolbox);
|
|
58
58
|
if (!(!options.noInstall && !flags.noInstall)) return [3 /*break*/, 3];
|
|
59
59
|
info("");
|
|
60
|
-
|
|
60
|
+
highlight("Installing dependencies using ".concat(packageManager, "..."));
|
|
61
61
|
info("");
|
|
62
62
|
// install with yarn or npm i
|
|
63
63
|
return [4 /*yield*/, system.spawn("cd ".concat(projectName, " && ").concat(packageManager, " install --silent"), {
|
|
@@ -70,7 +70,7 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
70
70
|
_b.label = 3;
|
|
71
71
|
case 3:
|
|
72
72
|
info("");
|
|
73
|
-
|
|
73
|
+
highlight("Cleaning up your project...");
|
|
74
74
|
// format the files
|
|
75
75
|
return [4 /*yield*/, system.spawn("cd ".concat(projectName, " && ").concat(packageManager, " run format"), {
|
|
76
76
|
shell: true,
|
|
@@ -81,7 +81,7 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
81
81
|
_b.sent();
|
|
82
82
|
if (!(!options.noGit && !flags.noGit)) return [3 /*break*/, 6];
|
|
83
83
|
info("");
|
|
84
|
-
|
|
84
|
+
highlight("Initializing git...");
|
|
85
85
|
info("");
|
|
86
86
|
// initialize git repo and add first commit
|
|
87
87
|
return [4 /*yield*/, system.spawn("cd ".concat(projectName, " && git init --quiet && git add . && git commit -m \"Initial commit\" -m \"Generated by create-expo-stack 2.0.0.\" --quiet"), {
|
|
@@ -93,8 +93,42 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
93
93
|
_b.sent();
|
|
94
94
|
_b.label = 6;
|
|
95
95
|
case 6:
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
// check if packages includes package with name "supabase"
|
|
97
|
+
if (cliResults.packages.some(function (pkg) { return pkg.name === 'supabase'; })) {
|
|
98
|
+
success("Success! \uD83C\uDF89 Now, here's what's next:");
|
|
99
|
+
info("");
|
|
100
|
+
highlight('Head over to https://database.new to create a new Supabase project.');
|
|
101
|
+
info("");
|
|
102
|
+
highlight("Get the Project URL and anon key from the API settings:");
|
|
103
|
+
info("1. Go to the API settings page in the Dashboard.");
|
|
104
|
+
info("2. Find your Project URL, anon, and service_role keys on this page.");
|
|
105
|
+
info("3. Copy these keys and paste them into your .env file.");
|
|
106
|
+
info("4. Optionally, follow one of these guides to get started with Supabase:");
|
|
107
|
+
highlight("https://docs.expo.dev/guides/using-supabase/#next-steps");
|
|
108
|
+
info("");
|
|
109
|
+
success("Once you're done, run the following to get started: ");
|
|
110
|
+
info("");
|
|
111
|
+
}
|
|
112
|
+
else if (cliResults.packages.some(function (pkg) { return pkg.name === 'firebase'; })) {
|
|
113
|
+
success("Success! \uD83C\uDF89 Now, here's what's next:");
|
|
114
|
+
info("");
|
|
115
|
+
highlight('Head over to https://console.firebase.google.com/ to create a new Firebase project.');
|
|
116
|
+
info("");
|
|
117
|
+
highlight("Get the API key and other unique identifiers:");
|
|
118
|
+
info("1. Register a web app in your Firebase project:");
|
|
119
|
+
highlight("https://firebase.google.com/docs/web/setup#register-app");
|
|
120
|
+
info("2. Find your API key and other identifiers.");
|
|
121
|
+
info("3. Copy these keys and paste them into your .env file.");
|
|
122
|
+
info("4. Optionally, follow one of these guides to get started with Firebase:");
|
|
123
|
+
highlight("https://docs.expo.dev/guides/using-firebase/#next-steps");
|
|
124
|
+
info("");
|
|
125
|
+
success("Once you're done, run the following to get started: ");
|
|
126
|
+
info("");
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
success('Success! 🎉 Now, just run the following to get started: ');
|
|
130
|
+
info("");
|
|
131
|
+
}
|
|
98
132
|
info("cd ".concat(projectName));
|
|
99
133
|
if (packageManager === 'npm') {
|
|
100
134
|
if (options.noInstall)
|
|
@@ -123,4 +157,4 @@ function printOutput(cliResults, formattedFiles, toolbox) {
|
|
|
123
157
|
});
|
|
124
158
|
}
|
|
125
159
|
exports.printOutput = printOutput;
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRPdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL3ByaW50T3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHlEQUF1RDtBQUd2RCxTQUFzQixXQUFXLENBQ2hDLFVBQXNCLEVBQ3RCLGNBQXFCLEVBQ3JCLE9BQWdCOzs7Ozs7b0JBR0QsT0FBTyxHQUdsQixPQUFPLG1CQUhXLEVBQ3JCLEtBRUcsT0FBTyxNQUZ5QixFQUExQixJQUFJLFVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxTQUFTLGVBQUEsRUFDakMsTUFBTSxHQUNILE9BQU8sT0FESixDQUNJO29CQUVILFdBQVcsR0FBWSxVQUFVLFlBQXRCLEVBQUUsS0FBSyxHQUFLLFVBQVUsTUFBZixDQUFlO29CQUV6QyxpQ0FBaUM7b0JBQ2pDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtvQkFDUixTQUFTLENBQUMsOEJBQThCLENBQUMsQ0FBQTtvQkFFekMscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7d0JBRWpDLHlGQUF5RjtzQkFGeEQ7O29CQUFqQyxTQUFpQyxDQUFBO29CQUczQixjQUFjLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQTt5QkFFN0MsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFBLEVBQXRDLHdCQUFzQztvQkFDekMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUNSLFNBQVMsQ0FBQyx3Q0FBaUMsY0FBYyxRQUFLLENBQUMsQ0FBQTtvQkFDL0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUVSLDZCQUE2QjtvQkFDN0IscUJBQU0sTUFBTSxDQUFDLEtBQUssQ0FDakIsYUFBTSxXQUFXLGlCQUFPLGNBQWMsc0JBQW1CLEVBQ3pEOzRCQUNDLEtB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
|
|
@@ -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, askStyling, stylingSelect;
|
|
43
|
+
var first, success, _a, ask, confirm, cliResults, askName, name_1, useTypescript, askNavigation, askNavigationType, navigationSelect, navigationTypeSelect, askStyling, stylingSelect, askAuthentication, authenticationSelect;
|
|
44
44
|
return __generator(this, function (_b) {
|
|
45
45
|
switch (_b.label) {
|
|
46
46
|
case 0:
|
|
@@ -119,26 +119,46 @@ function runCLI(toolbox) {
|
|
|
119
119
|
type: 'select',
|
|
120
120
|
name: 'stylingSelect',
|
|
121
121
|
message: 'What would you like to use for styling?',
|
|
122
|
-
choices: ['
|
|
122
|
+
choices: ['Tamagui', 'Nativewind', 'Stylesheet'],
|
|
123
123
|
};
|
|
124
124
|
return [4 /*yield*/, ask(askStyling)];
|
|
125
125
|
case 9:
|
|
126
126
|
stylingSelect = (_b.sent()).stylingSelect;
|
|
127
|
-
if (stylingSelect === '
|
|
127
|
+
if (stylingSelect === 'Nativewind') {
|
|
128
128
|
cliResults.packages.push({ name: 'nativewind', type: 'styling' });
|
|
129
129
|
success("You'll be styling with ease using Tailwind.");
|
|
130
130
|
}
|
|
131
|
-
else if (stylingSelect === '
|
|
131
|
+
else if (stylingSelect === 'Tamagui') {
|
|
132
132
|
cliResults.packages.push({ name: 'tamagui', type: 'styling' });
|
|
133
133
|
}
|
|
134
134
|
else {
|
|
135
135
|
cliResults.packages.push({ name: 'stylesheet', type: 'styling' });
|
|
136
136
|
success("Cool, you're using the default StyleSheet that comes with React Native.");
|
|
137
137
|
}
|
|
138
|
+
askAuthentication = {
|
|
139
|
+
type: 'select',
|
|
140
|
+
name: 'authenticationSelect',
|
|
141
|
+
message: 'What would you like to use for authentication?',
|
|
142
|
+
choices: ['None', 'Supabase', 'Firebase'],
|
|
143
|
+
};
|
|
144
|
+
return [4 /*yield*/, ask(askAuthentication)];
|
|
145
|
+
case 10:
|
|
146
|
+
authenticationSelect = (_b.sent()).authenticationSelect;
|
|
147
|
+
if (authenticationSelect === 'Supabase') {
|
|
148
|
+
cliResults.packages.push({ name: 'supabase', type: 'authentication' });
|
|
149
|
+
success("You'll be using Supabase for authentication.");
|
|
150
|
+
}
|
|
151
|
+
else if (authenticationSelect === 'Firebase') {
|
|
152
|
+
cliResults.packages.push({ name: 'firebase', type: 'authentication' });
|
|
153
|
+
success("You'll be using Firebase for authentication.");
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
success("No problem, skipping authentication for now.");
|
|
157
|
+
}
|
|
138
158
|
return [2 /*return*/, cliResults];
|
|
139
159
|
}
|
|
140
160
|
});
|
|
141
161
|
});
|
|
142
162
|
}
|
|
143
163
|
exports.runCLI = runCLI;
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBQStEO0FBRy9ELFNBQXNCLE1BQU0sQ0FBQyxPQUFnQjs7Ozs7O29CQUU3QixLQUFLLEdBR2hCLE9BQU8saUJBSFMsRUFDVixPQUFPLEdBRWIsT0FBTyxjQUZNLEVBQ2hCLEtBQ0csT0FBTyxPQURjLEVBQWQsR0FBRyxTQUFBLEVBQUUsT0FBTyxhQUFBLENBQ1o7b0JBR0wsVUFBVSxHQUFHLDBCQUFjLENBQUE7eUJBRzdCLEtBQUssRUFBTCx3QkFBSztvQkFDUixVQUFVLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTs7O29CQUV4QixPQUFPLEdBQUc7d0JBQ2YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsSUFBSSxFQUFFLE1BQU07d0JBQ1osT0FBTyxFQUFFLGtEQUEyQyw0QkFBZ0IsTUFBRztxQkFDdkUsQ0FBQTtvQkFDZ0IscUJBQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFBOztvQkFBM0IsU0FBUyxDQUFBLFNBQWtCLENBQUEsS0FBdkI7b0JBQ1osVUFBVSxDQUFDLFdBQVcsR0FBRyxNQUFJLElBQUksNEJBQWdCLENBQUE7OztvQkFHbEQseUJBQXlCO29CQUN6QixVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtvQkFFRixxQkFBTSxPQUFPLENBQ2xDLHFEQUFxRCxFQUNyRCxJQUFJLENBQ0osRUFBQTs7b0JBSEssYUFBYSxHQUFHLFNBR3JCO29CQUVELElBQUksYUFBYSxFQUFFO3dCQUNsQixPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQTtxQkFDOUM7eUJBQU07d0JBQ04sT0FBTyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7cUJBQ3BEO29CQUdLLGFBQWEsR0FBRzt3QkFDckIsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLGtCQUFrQjt3QkFDeEIsT0FBTyxFQUFFLDRDQUE0Qzt3QkFDckQsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQztxQkFDcEQsQ0FBQTtvQkFFSyxpQkFBaUIsR0FBRzt3QkFDekIsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLHNCQUFzQjt3QkFDNUIsT0FBTyxFQUFFLGdEQUFnRDt3QkFDekQsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztxQkFDMUIsQ0FBQTtvQkFFNEIscUJBQU0sR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFBOztvQkFBN0MsZ0JBQWdCLEdBQUssQ0FBQSxTQUF3QixDQUFBLGlCQUE3Qjt5QkFFcEIsQ0FBQSxnQkFBZ0IsS0FBSyxNQUFNLENBQUEsRUFBM0Isd0JBQTJCO29CQUNHLHFCQUFNLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFBOztvQkFBckQsb0JBQW9CLEdBQUssQ0FBQSxTQUE0QixDQUFBLHFCQUFqQztvQkFDNUIsSUFBSSxnQkFBZ0IsS0FBSyxrQkFBa0IsRUFBRTt3QkFDNUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7NEJBQ3hCLElBQUksRUFBRSxrQkFBa0I7NEJBQ3hCLElBQUksRUFBRSxZQUFZOzRCQUNsQixPQUFPLEVBQUU7Z0NBQ1IsSUFBSSxFQUFFLG9CQUFvQixDQUFDLFdBQVcsRUFBcUI7NkJBQzNEO3lCQUNELENBQUMsQ0FBQTtxQkFDRjt5QkFBTTt3QkFDTixVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQzs0QkFDeEIsSUFBSSxFQUFFLGFBQWE7NEJBQ25CLElBQUksRUFBRSxZQUFZOzRCQUNsQixPQUFPLEVBQUU7Z0NBQ1IsSUFBSSxFQUFFLG9CQUFvQixDQUFDLFdBQVcsRUFBcUI7NkJBQzNEO3lCQUNELENBQUMsQ0FBQTtxQkFDRjtvQkFDRCxPQUFPLENBQUMsMkJBQW9CLGdCQUFnQixNQUFHLENBQUMsQ0FBQTs7O29CQUVoRCxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQTs7O29CQUc5QyxVQUFVLEdBQUc7d0JBQ2xCLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxlQUFlO3dCQUNyQixPQUFPLEVBQUUseUNBQXlDO3dCQUNsRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztxQkFDaEQsQ0FBQTtvQkFFeUIscUJBQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFBOztvQkFBdkMsYUFBYSxHQUFLLENBQUEsU0FBcUIsQ0FBQSxjQUExQjtvQkFFckIsSUFBSSxhQUFhLEtBQUssWUFBWSxFQUFFO3dCQUNuQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7d0JBQ2pFLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO3FCQUN0RDt5QkFBTSxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUU7d0JBQ3ZDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtxQkFDOUQ7eUJBQU07d0JBQ04sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO3dCQUNqRSxPQUFPLENBQ04seUVBQXlFLENBQ3pFLENBQUE7cUJBQ0Q7b0JBRUssaUJBQWlCLEdBQUc7d0JBQ3pCLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxzQkFBc0I7d0JBQzVCLE9BQU8sRUFBRSxnREFBZ0Q7d0JBQ3pELE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO3FCQUN6QyxDQUFBO29CQUVnQyxxQkFBTSxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBQTs7b0JBQXJELG9CQUFvQixHQUFLLENBQUEsU0FBNEIsQ0FBQSxxQkFBakM7b0JBRTVCLElBQUksb0JBQW9CLEtBQUssVUFBVSxFQUFFO3dCQUN4QyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQTt3QkFDdEUsT0FBTyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7cUJBQ3ZEO3lCQUFNLElBQUksb0JBQW9CLEtBQUssVUFBVSxFQUFFO3dCQUMvQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQTt3QkFDdEUsT0FBTyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7cUJBQ3ZEO3lCQUFNO3dCQUNOLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO3FCQUN2RDtvQkFFRCxzQkFBTyxVQUFVLEVBQUE7Ozs7Q0FDakI7QUF2SEQsd0JBdUhDIn0=
|
|
@@ -17,19 +17,36 @@ function showHelp(info, highlight, warning) {
|
|
|
17
17
|
info(' --npm Use npm as the package manager');
|
|
18
18
|
info(' --yarn Use yarn as the package manager');
|
|
19
19
|
info(' --pnpm Use pnpm as the package manager');
|
|
20
|
-
info('
|
|
20
|
+
info(' --bun Use bun as the package manager');
|
|
21
21
|
info(' -v, --version Version number');
|
|
22
22
|
info(' -h, --help Usage info');
|
|
23
23
|
info('');
|
|
24
|
-
highlight('
|
|
24
|
+
highlight(' Navigation Package Options');
|
|
25
|
+
info(' --exporouter Use Expo Router for navigation');
|
|
26
|
+
info(' --reactnavigation Use React Navigation for navigation');
|
|
27
|
+
info(' --tabs Use tabs for navigation');
|
|
28
|
+
info('');
|
|
29
|
+
highlight(' Authentication Package Options');
|
|
30
|
+
info(' --firebase Use Firebase for authentication');
|
|
31
|
+
info(' --supabase Use Supabase for authentication');
|
|
32
|
+
info('');
|
|
33
|
+
highlight(' Styling Package Options');
|
|
34
|
+
info(' --nativewind Use Nativewind for styling');
|
|
35
|
+
info(' --tamagui Use Tamagui for styling');
|
|
36
|
+
info(' --stylesheet Use StyleSheet for styling');
|
|
37
|
+
info('');
|
|
38
|
+
highlight(' Opinionated Stacks');
|
|
39
|
+
info(' -i, --ignite Use Ignite to create an opinionated stack');
|
|
40
|
+
info('');
|
|
41
|
+
highlight(' Non-Interactive Usage');
|
|
25
42
|
info(' If you know the options you want to use, you can pass them in via the');
|
|
26
43
|
info(' command line. This will skip the interactive CLI and use the options');
|
|
27
44
|
info(' you pass in. This is also useful for CI/CD environments.');
|
|
28
45
|
info('');
|
|
29
46
|
info(' For example:');
|
|
30
47
|
info(' ');
|
|
31
|
-
warning(' $ npx create-expo-stack myProject --
|
|
48
|
+
warning(' $ npx create-expo-stack myProject --reactnavigation --nativewind --noInstall');
|
|
32
49
|
info('');
|
|
33
50
|
}
|
|
34
51
|
exports.showHelp = showHelp;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvd0hlbHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL3Nob3dIZWxwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU87SUFDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ25CLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO0lBQ25ELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNSLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNwQixPQUFPLENBQUMsc0RBQXNELENBQUMsQ0FBQTtJQUMvRCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDUixTQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDdEIsSUFBSSxDQUNILDBFQUEwRSxDQUMxRSxDQUFBO0lBQ0QsSUFBSSxDQUFDLHFFQUFxRSxDQUFDLENBQUE7SUFDM0UsSUFBSSxDQUFDLDhEQUE4RCxDQUFDLENBQUE7SUFDcEUsSUFBSSxDQUFDLDZEQUE2RCxDQUFDLENBQUE7SUFDbkUsSUFBSSxDQUFDLDBEQUEwRCxDQUFDLENBQUE7SUFDaEUsSUFBSSxDQUFDLDJEQUEyRCxDQUFDLENBQUE7SUFDakUsSUFBSSxDQUFDLDJEQUEyRCxDQUFDLENBQUE7SUFDakUsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7SUFDaEQsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7SUFDaEQsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7SUFDNUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsU0FBUyxDQUFDLCtCQUErQixDQUFDLENBQUE7SUFDMUMsSUFBSSxDQUFDLHVEQUF1RCxDQUFDLENBQUE7SUFDN0QsSUFBSSxDQUFDLDREQUE0RCxDQUFDLENBQUE7SUFDbEUsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7SUFDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFDOUMsSUFBSSxDQUFDLHdEQUF3RCxDQUFDLENBQUE7SUFDOUQsSUFBSSxDQUFDLHdEQUF3RCxDQUFDLENBQUE7SUFDOUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsU0FBUyxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFDdkMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUE7SUFDekQsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7SUFDdEQsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUE7SUFDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFDbEMsSUFBSSxDQUFDLHFFQUFxRSxDQUFDLENBQUE7SUFDM0UsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRVIsU0FBUyxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFDckMsSUFBSSxDQUNILDJFQUEyRSxDQUMzRSxDQUFBO0lBQ0QsSUFBSSxDQUNILDBFQUEwRSxDQUMxRSxDQUFBO0lBQ0QsSUFBSSxDQUFDLDhEQUE4RCxDQUFDLENBQUE7SUFDcEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ1QsT0FBTyxDQUNOLGtGQUFrRixDQUNsRixDQUFBO0lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ1QsQ0FBQztBQXZERCw0QkF1REMifQ==
|