create-expo-stack 0.0.1 → 0.0.2
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.
|
@@ -40,34 +40,79 @@ 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, projectName, githubRepo, error_1;
|
|
43
|
+
var print, parameters, system, prompt, projectName, askName, useTypescript, useExpoRouter, useNativewind, githubRepo, error_1;
|
|
44
44
|
return __generator(this, function (_a) {
|
|
45
45
|
switch (_a.label) {
|
|
46
46
|
case 0:
|
|
47
|
-
print = toolbox.print, parameters = toolbox.parameters, system = toolbox.system;
|
|
47
|
+
print = toolbox.print, parameters = toolbox.parameters, system = toolbox.system, prompt = toolbox.prompt;
|
|
48
48
|
projectName = parameters.first;
|
|
49
|
-
if (!projectName) {
|
|
50
|
-
print.error('Please provide a name for your project.');
|
|
51
|
-
return [2 /*return*/];
|
|
52
|
-
}
|
|
53
|
-
githubRepo = 'https://github.com/danstepanov/create-expo-stack.git';
|
|
54
49
|
_a.label = 1;
|
|
55
50
|
case 1:
|
|
56
|
-
_a.trys.push([1,
|
|
51
|
+
_a.trys.push([1, 8, , 9]);
|
|
52
|
+
if (!!projectName) return [3 /*break*/, 3];
|
|
53
|
+
askName = {
|
|
54
|
+
type: 'input',
|
|
55
|
+
name: 'name',
|
|
56
|
+
message: 'What is your project named?',
|
|
57
|
+
};
|
|
58
|
+
return [4 /*yield*/, prompt.ask(askName)];
|
|
59
|
+
case 2:
|
|
60
|
+
_a.sent();
|
|
61
|
+
projectName = askName.name;
|
|
62
|
+
_a.label = 3;
|
|
63
|
+
case 3: return [4 /*yield*/, prompt.confirm('Would you like to use TypeScript with this project?', true)];
|
|
64
|
+
case 4:
|
|
65
|
+
useTypescript = _a.sent();
|
|
66
|
+
return [4 /*yield*/, prompt.confirm('Would you like to include navigation via Expo Router (recommended)?', true)];
|
|
67
|
+
case 5:
|
|
68
|
+
useExpoRouter = _a.sent();
|
|
69
|
+
return [4 /*yield*/, prompt.confirm('Would you like to use NativeWind with this project?', true)];
|
|
70
|
+
case 6:
|
|
71
|
+
useNativewind = _a.sent();
|
|
72
|
+
githubRepo = 'https://github.com/danstepanov/create-expo-stack.git/';
|
|
73
|
+
if (useTypescript && useExpoRouter && useNativewind) {
|
|
74
|
+
githubRepo +=
|
|
75
|
+
'tree/main/templates/with-typescript-navigation-nativewind';
|
|
76
|
+
}
|
|
77
|
+
if (!useTypescript) {
|
|
78
|
+
if (useExpoRouter && useNativewind) {
|
|
79
|
+
githubRepo += 'tree/main/templates/with-navigation-nativewind';
|
|
80
|
+
}
|
|
81
|
+
else if (useExpoRouter) {
|
|
82
|
+
githubRepo += 'tree/main/templates/with-navigation';
|
|
83
|
+
}
|
|
84
|
+
else if (useNativewind) {
|
|
85
|
+
githubRepo += 'tree/main/templates/with-nativewind';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (!useExpoRouter) {
|
|
89
|
+
if (useNativewind) {
|
|
90
|
+
githubRepo += 'tree/main/templates/with-typescript-nativewind';
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
githubRepo += 'tree/main/templates/with-typescript';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (!useNativewind && useTypescript && useExpoRouter) {
|
|
97
|
+
githubRepo += 'tree/main/templates/with-typescript-navigation';
|
|
98
|
+
}
|
|
99
|
+
if (!useTypescript && !useExpoRouter && !useNativewind) {
|
|
100
|
+
githubRepo += 'tree/main/templates/blank';
|
|
101
|
+
}
|
|
57
102
|
print.info("Cloning ".concat(githubRepo, "..."));
|
|
58
103
|
return [4 /*yield*/, system.run("git clone ".concat(githubRepo, " ").concat(projectName))];
|
|
59
|
-
case
|
|
104
|
+
case 7:
|
|
60
105
|
_a.sent();
|
|
61
106
|
print.success("Cloned ".concat(githubRepo, " to ").concat(projectName, "! \uD83C\uDF89"));
|
|
62
|
-
return [3 /*break*/,
|
|
63
|
-
case
|
|
107
|
+
return [3 /*break*/, 9];
|
|
108
|
+
case 8:
|
|
64
109
|
error_1 = _a.sent();
|
|
65
|
-
print.error(
|
|
66
|
-
return [3 /*break*/,
|
|
67
|
-
case
|
|
110
|
+
print.error('Failed to create project 😢');
|
|
111
|
+
return [3 /*break*/, 9];
|
|
112
|
+
case 9: return [2 /*return*/];
|
|
68
113
|
}
|
|
69
114
|
});
|
|
70
115
|
}); },
|
|
71
116
|
};
|
|
72
117
|
module.exports = command;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNLE9BQU8sR0FBbUI7SUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsb0NBQW9DO0lBQ2pELEdBQUcsRUFBRSxVQUFPLE9BQU87Ozs7O29CQUNULEtBQUssR0FBaUMsT0FBTyxNQUF4QyxFQUFFLFVBQVUsR0FBcUIsT0FBTyxXQUE1QixFQUFFLE1BQU0sR0FBYSxPQUFPLE9BQXBCLEVBQUUsTUFBTSxHQUFLLE9BQU8sT0FBWixDQUFZO29CQUVqRCxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTs7Ozt5QkFHNUIsQ0FBQyxXQUFXLEVBQVosd0JBQVk7b0JBQ1IsT0FBTyxHQUFHO3dCQUNkLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxNQUFNO3dCQUNaLE9BQU8sRUFBRSw2QkFBNkI7cUJBQ3ZDLENBQUE7b0JBQ0QscUJBQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBQTs7b0JBQXpCLFNBQXlCLENBQUE7b0JBQ3pCLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFBOzt3QkFHTixxQkFBTSxNQUFNLENBQUMsT0FBTyxDQUN4QyxxREFBcUQsRUFDckQsSUFBSSxDQUNMLEVBQUE7O29CQUhLLGFBQWEsR0FBRyxTQUdyQjtvQkFFcUIscUJBQU0sTUFBTSxDQUFDLE9BQU8sQ0FDeEMscUVBQXFFLEVBQ3JFLElBQUksQ0FDTCxFQUFBOztvQkFISyxhQUFhLEdBQUcsU0FHckI7b0JBQ3FCLHFCQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ3hDLHFEQUFxRCxFQUNyRCxJQUFJLENBQ0wsRUFBQTs7b0JBSEssYUFBYSxHQUFHLFNBR3JCO29CQUVHLFVBQVUsR0FBRyx1REFBdUQsQ0FBQTtvQkFFeEUsSUFBSSxhQUFhLElBQUksYUFBYSxJQUFJLGFBQWEsRUFBRTt3QkFDbkQsVUFBVTs0QkFDUiwyREFBMkQsQ0FBQTtxQkFDOUQ7b0JBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDbEIsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFOzRCQUNsQyxVQUFVLElBQUksZ0RBQWdELENBQUE7eUJBQy9EOzZCQUFNLElBQUksYUFBYSxFQUFFOzRCQUN4QixVQUFVLElBQUkscUNBQXFDLENBQUE7eUJBQ3BEOzZCQUFNLElBQUksYUFBYSxFQUFFOzRCQUN4QixVQUFVLElBQUkscUNBQXFDLENBQUE7eUJBQ3BEO3FCQUNGO29CQUVELElBQUksQ0FBQyxhQUFhLEVBQUU7d0JBQ2xCLElBQUksYUFBYSxFQUFFOzRCQUNqQixVQUFVLElBQUksZ0RBQWdELENBQUE7eUJBQy9EOzZCQUFNOzRCQUNMLFVBQVUsSUFBSSxxQ0FBcUMsQ0FBQTt5QkFDcEQ7cUJBQ0Y7b0JBRUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFO3dCQUNwRCxVQUFVLElBQUksZ0RBQWdELENBQUE7cUJBQy9EO29CQUVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLEVBQUU7d0JBQ3RELFVBQVUsSUFBSSwyQkFBMkIsQ0FBQTtxQkFDMUM7b0JBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBVyxVQUFVLFFBQUssQ0FBQyxDQUFBO29CQUN0QyxxQkFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFhLFVBQVUsY0FBSSxXQUFXLENBQUUsQ0FBQyxFQUFBOztvQkFBMUQsU0FBMEQsQ0FBQTtvQkFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBVSxVQUFVLGlCQUFPLFdBQVcsbUJBQU0sQ0FBQyxDQUFBOzs7O29CQUUzRCxLQUFLLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7Ozs7O1NBRTdDO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBIn0=
|