create-expo-stack 0.0.16 → 0.1.1
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 +53 -41
- package/package.json +1 -1
- package/readme.md +1 -1
|
@@ -40,15 +40,20 @@ var command = {
|
|
|
40
40
|
name: 'create-expo-stack',
|
|
41
41
|
description: 'Create an expo app, the right way.',
|
|
42
42
|
run: function (toolbox) { return __awaiter(void 0, void 0, void 0, function () {
|
|
43
|
-
var print, parameters, system, prompt, projectName, askName, name_1, useTypescript,
|
|
43
|
+
var print, parameters, system, prompt, projectName, useExpoRouter, useReactNavigation, navigation, navigationType, branch, askName, name_1, useTypescript, askNavigation, askNavigationType, navigationSelect, navigationTypeSelect, useNativewind, githubRepo, error_1;
|
|
44
44
|
return __generator(this, function (_a) {
|
|
45
45
|
switch (_a.label) {
|
|
46
46
|
case 0:
|
|
47
47
|
print = toolbox.print, parameters = toolbox.parameters, system = toolbox.system, prompt = toolbox.prompt;
|
|
48
48
|
projectName = parameters.first;
|
|
49
|
+
useExpoRouter = false;
|
|
50
|
+
useReactNavigation = false;
|
|
51
|
+
navigation = '';
|
|
52
|
+
navigationType = '';
|
|
53
|
+
branch = 'blank';
|
|
49
54
|
_a.label = 1;
|
|
50
55
|
case 1:
|
|
51
|
-
_a.trys.push([1,
|
|
56
|
+
_a.trys.push([1, 11, , 12]);
|
|
52
57
|
if (!!projectName) return [3 /*break*/, 3];
|
|
53
58
|
askName = {
|
|
54
59
|
type: 'input',
|
|
@@ -67,19 +72,43 @@ var command = {
|
|
|
67
72
|
print.success('Good call, now using TypeScript! 🚀');
|
|
68
73
|
}
|
|
69
74
|
else {
|
|
70
|
-
print.success("
|
|
75
|
+
print.success("Wrong answer, we're gonna use Typescript.");
|
|
71
76
|
}
|
|
72
|
-
|
|
77
|
+
askNavigation = {
|
|
78
|
+
type: 'select',
|
|
79
|
+
name: 'navigationSelect',
|
|
80
|
+
message: 'What would you like to use for Navigation?',
|
|
81
|
+
choices: ['React Navigation', 'Expo Router', 'None'],
|
|
82
|
+
};
|
|
83
|
+
askNavigationType = {
|
|
84
|
+
type: 'select',
|
|
85
|
+
name: 'navigationTypeSelect',
|
|
86
|
+
message: 'What type of navigation would you like to use?',
|
|
87
|
+
choices: ['Stack', 'Tab'],
|
|
88
|
+
};
|
|
89
|
+
return [4 /*yield*/, prompt.ask(askNavigation)];
|
|
73
90
|
case 5:
|
|
74
|
-
|
|
75
|
-
if (
|
|
76
|
-
|
|
91
|
+
navigationSelect = (_a.sent()).navigationSelect;
|
|
92
|
+
if (!(navigationSelect !== 'None')) return [3 /*break*/, 7];
|
|
93
|
+
return [4 /*yield*/, prompt.ask(askNavigationType)];
|
|
94
|
+
case 6:
|
|
95
|
+
navigationTypeSelect = (_a.sent()).navigationTypeSelect;
|
|
96
|
+
navigationType = navigationTypeSelect.toLowerCase();
|
|
97
|
+
if (navigationSelect === 'React Navigation') {
|
|
98
|
+
useReactNavigation = true;
|
|
99
|
+
navigation = 'react-navigation';
|
|
77
100
|
}
|
|
78
101
|
else {
|
|
79
|
-
|
|
102
|
+
useExpoRouter = true;
|
|
103
|
+
navigation = 'expo-router';
|
|
80
104
|
}
|
|
81
|
-
|
|
82
|
-
|
|
105
|
+
print.success("Great, we'll use ".concat(navigationSelect, "!"));
|
|
106
|
+
return [3 /*break*/, 8];
|
|
107
|
+
case 7:
|
|
108
|
+
print.success("No problem, skipping navigation for now.");
|
|
109
|
+
_a.label = 8;
|
|
110
|
+
case 8: return [4 /*yield*/, prompt.confirm('Would you like to use NativeWind (Tailwind for RN) with this project?', true)];
|
|
111
|
+
case 9:
|
|
83
112
|
useNativewind = _a.sent();
|
|
84
113
|
if (useNativewind) {
|
|
85
114
|
print.success("You'll be styling with ease using Tailwind.");
|
|
@@ -88,53 +117,36 @@ var command = {
|
|
|
88
117
|
print.success("Sounds good, you can use StyleSheet instead.");
|
|
89
118
|
}
|
|
90
119
|
githubRepo = 'https://github.com/danstepanov/create-expo-stack.git';
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
branch = 'with-typescript-navigation-nativewind';
|
|
94
|
-
}
|
|
95
|
-
if (!useTypescript) {
|
|
96
|
-
if (useExpoRouter && useNativewind) {
|
|
97
|
-
branch = 'with-navigation-nativewind';
|
|
98
|
-
}
|
|
99
|
-
else if (useExpoRouter) {
|
|
100
|
-
branch = 'with-navigation';
|
|
101
|
-
}
|
|
102
|
-
else if (useNativewind) {
|
|
103
|
-
branch = 'with-nativewind';
|
|
104
|
-
}
|
|
120
|
+
if (!useExpoRouter && !useReactNavigation && !useNativewind) {
|
|
121
|
+
branch = 'base';
|
|
105
122
|
}
|
|
106
|
-
if (!useExpoRouter) {
|
|
107
|
-
|
|
108
|
-
branch = 'with-typescript-nativewind';
|
|
109
|
-
}
|
|
110
|
-
else if (useTypescript) {
|
|
111
|
-
branch = 'with-typescript';
|
|
112
|
-
}
|
|
123
|
+
else if (!useExpoRouter && !useReactNavigation && useNativewind) {
|
|
124
|
+
branch = 'with-typescript-nativewind';
|
|
113
125
|
}
|
|
114
|
-
if (
|
|
115
|
-
branch =
|
|
126
|
+
else if (useNativewind) {
|
|
127
|
+
branch = "with-typescript-".concat(navigation, "-").concat(navigationType, "-nativewind");
|
|
116
128
|
}
|
|
117
|
-
|
|
118
|
-
branch =
|
|
129
|
+
else {
|
|
130
|
+
branch = "with-typescript-".concat(navigation, "-").concat(navigationType);
|
|
119
131
|
}
|
|
120
132
|
print.info("Initializing your project...");
|
|
121
133
|
return [4 /*yield*/, system.run("git clone --single-branch --branch ".concat(branch, " ").concat(githubRepo, " ").concat(projectName, " && cd ").concat(projectName, " && git branch -m ").concat(branch, " main && git remote remove origin"))];
|
|
122
|
-
case
|
|
134
|
+
case 10:
|
|
123
135
|
_a.sent();
|
|
124
136
|
print.success('Success! 🎉 Now, just run the following to get started: ');
|
|
125
137
|
print.info("cd ".concat(projectName));
|
|
126
138
|
print.info('yarn');
|
|
127
139
|
print.info('yarn ios');
|
|
128
|
-
return [3 /*break*/,
|
|
129
|
-
case
|
|
140
|
+
return [3 /*break*/, 12];
|
|
141
|
+
case 11:
|
|
130
142
|
error_1 = _a.sent();
|
|
131
143
|
print.error("Oops, unable to create your project \uD83D\uDE22");
|
|
132
144
|
print.info("\nIf this was unexpected, please open an issue: https://github.com/danstepanov/create-expo-stack#reporting-bugs--feedback");
|
|
133
|
-
return [3 /*break*/,
|
|
134
|
-
case
|
|
145
|
+
return [3 /*break*/, 12];
|
|
146
|
+
case 12: return [2 /*return*/];
|
|
135
147
|
}
|
|
136
148
|
});
|
|
137
149
|
}); },
|
|
138
150
|
};
|
|
139
151
|
module.exports = command;
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNLE9BQU8sR0FBbUI7SUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsb0NBQW9DO0lBQ2pELEdBQUcsRUFBRSxVQUFPLE9BQU87Ozs7O29CQUNULEtBQUssR0FBaUMsT0FBTyxNQUF4QyxFQUFFLFVBQVUsR0FBcUIsT0FBTyxXQUE1QixFQUFFLE1BQU0sR0FBYSxPQUFPLE9BQXBCLEVBQUUsTUFBTSxHQUFLLE9BQU8sT0FBWixDQUFZO29CQUVqRCxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtvQkFDOUIsYUFBYSxHQUFHLEtBQUssQ0FBQTtvQkFDckIsa0JBQWtCLEdBQUcsS0FBSyxDQUFBO29CQUMxQixVQUFVLEdBQUcsRUFBRSxDQUFBO29CQUNmLGNBQWMsR0FBRyxFQUFFLENBQUE7b0JBQ25CLE1BQU0sR0FBRyxPQUFPLENBQUE7Ozs7eUJBR2QsQ0FBQyxXQUFXLEVBQVosd0JBQVk7b0JBQ1IsT0FBTyxHQUFHO3dCQUNkLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxNQUFNO3dCQUNaLE9BQU8sRUFBRSxzREFBc0Q7cUJBQ2hFLENBQUE7b0JBQ2dCLHFCQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUE7O29CQUFsQyxTQUFTLENBQUEsU0FBeUIsQ0FBQSxLQUE5QjtvQkFDWixXQUFXLEdBQUcsTUFBSSxDQUFBOzt3QkFJRSxxQkFBTSxNQUFNLENBQUMsT0FBTyxDQUN4QyxxREFBcUQsRUFDckQsSUFBSSxDQUNMLEVBQUE7O29CQUhLLGFBQWEsR0FBRyxTQUdyQjtvQkFFRCxJQUFJLGFBQWEsRUFBRTt3QkFDakIs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
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -12,7 +12,7 @@ To get started, use npx to run the CLI tool. You will be prompted to opt into th
|
|
|
12
12
|
|
|
13
13
|
`npx create-expo-stack@latest`
|
|
14
14
|
|
|
15
|
-

|
|
16
16
|
|
|
17
17
|
## Tech Stack for the templates
|
|
18
18
|
|