create-expo-stack 0.0.1 → 0.0.3

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, 3, , 4]);
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 2:
104
+ case 7:
60
105
  _a.sent();
61
106
  print.success("Cloned ".concat(githubRepo, " to ").concat(projectName, "! \uD83C\uDF89"));
62
- return [3 /*break*/, 4];
63
- case 3:
107
+ return [3 /*break*/, 9];
108
+ case 8:
64
109
  error_1 = _a.sent();
65
- print.error("Failed to clone ".concat(githubRepo, " to ").concat(projectName, " \uD83D\uDE22"));
66
- return [3 /*break*/, 4];
67
- case 4: return [2 /*return*/];
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNLE9BQU8sR0FBbUI7SUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsb0NBQW9DO0lBQ2pELEdBQUcsRUFBRSxVQUFPLE9BQU87Ozs7O29CQUNULEtBQUssR0FBeUIsT0FBTyxNQUFoQyxFQUFFLFVBQVUsR0FBYSxPQUFPLFdBQXBCLEVBQUUsTUFBTSxHQUFLLE9BQU8sT0FBWixDQUFZO29CQUV2QyxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtvQkFFcEMsSUFBSSxDQUFDLFdBQVcsRUFBRTt3QkFDaEIsS0FBSyxDQUFDLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO3dCQUN0RCxzQkFBTTtxQkFDUDtvQkFFSyxVQUFVLEdBQUcsc0RBQXNELENBQUE7Ozs7b0JBR3ZFLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQVcsVUFBVSxRQUFLLENBQUMsQ0FBQTtvQkFDdEMscUJBQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBYSxVQUFVLGNBQUksV0FBVyxDQUFFLENBQUMsRUFBQTs7b0JBQTFELFNBQTBELENBQUE7b0JBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQVUsVUFBVSxpQkFBTyxXQUFXLG1CQUFNLENBQUMsQ0FBQTs7OztvQkFFM0QsS0FBSyxDQUFDLEtBQUssQ0FBQywwQkFBbUIsVUFBVSxpQkFBTyxXQUFXLGtCQUFLLENBQUMsQ0FBQTs7Ozs7U0FFcEU7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUEifQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNLE9BQU8sR0FBbUI7SUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsb0NBQW9DO0lBQ2pELEdBQUcsRUFBRSxVQUFPLE9BQU87Ozs7O29CQUNULEtBQUssR0FBaUMsT0FBTyxNQUF4QyxFQUFFLFVBQVUsR0FBcUIsT0FBTyxXQUE1QixFQUFFLE1BQU0sR0FBYSxPQUFPLE9BQXBCLEVBQUUsTUFBTSxHQUFLLE9BQU8sT0FBWixDQUFZO29CQUVqRCxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTs7Ozt5QkFHNUIsQ0FBQyxXQUFXLEVBQVosd0JBQVk7b0JBQ1IsT0FBTyxHQUFHO3dCQUNkLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxNQUFNO3dCQUNaLE9BQU8sRUFBRSw2QkFBNkI7cUJBQ3ZDLENBQUE7b0JBQ0QscUJBQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBQTs7b0JBQXpCLFNBQXlCLENBQUE7b0JBQ3pCLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFBOzt3QkFHTixxQkFBTSxNQUFNLENBQUMsT0FBTyxDQUN4QyxxREFBcUQsRUFDckQsSUFBSSxDQUNMLEVBQUE7O29CQUhLLGFBQWEsR0FBRyxTQUdyQjtvQkFFcUIscUJBQU0sTUFBTSxDQUFDLE9BQU8sQ0FDeEMscUVBQXFFLEVBQ3JFLElBQUksQ0FDTCxFQUFBOztvQkFISyxhQUFhLEdBQUcsU0FHckI7b0JBQ3FCLHFCQUFNLE1BQU0sQ0FBQyxPQUFPLENBQ3hDLHFEQUFxRCxFQUNyRCxJQUFJLENBQ0wsRUFBQTs7b0JBSEssYUFBYSxHQUFHLFNBR3JCO29CQUVHLFVBQVUsR0FBRyx1REFBdUQsQ0FBQTtvQkFFeEUsSUFBSSxhQUFhLElBQUksYUFBYSxJQUFJLGFBQWEsRUFBRTt3QkFDbkQsVUFBVTs0QkFDUiwyREFBMkQsQ0FBQTtxQkFDOUQ7b0JBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDbEIsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFOzRCQUNsQyxVQUFVLElBQUksZ0RBQWdELENBQUE7eUJBQy9EOzZCQUFNLElBQUksYUFBYSxFQUFFOzRCQUN4QixVQUFVLElBQUkscUNBQXFDLENBQUE7eUJBQ3BEOzZCQUFNLElBQUksYUFBYSxFQUFFOzRCQUN4QixVQUFVLElBQUkscUNBQXFDLENBQUE7eUJBQ3BEO3FCQUNGO29CQUVELElBQUksQ0FBQyxhQUFhLEVBQUU7d0JBQ2xCLElBQUksYUFBYSxFQUFFOzRCQUNqQixVQUFVLElBQUksZ0RBQWdELENBQUE7eUJBQy9EOzZCQUFNOzRCQUNMLFVBQVUsSUFBSSxxQ0FBcUMsQ0FBQTt5QkFDcEQ7cUJBQ0Y7b0JBRUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLElBQUksYUFBYSxFQUFFO3dCQUNwRCxVQUFVLElBQUksZ0RBQWdELENBQUE7cUJBQy9EO29CQUVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLEVBQUU7d0JBQ3RELFVBQVUsSUFBSSwyQkFBMkIsQ0FBQTtxQkFDMUM7b0JBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBVyxVQUFVLFFBQUssQ0FBQyxDQUFBO29CQUN0QyxxQkFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFhLFVBQVUsY0FBSSxXQUFXLENBQUUsQ0FBQyxFQUFBOztvQkFBMUQsU0FBMEQsQ0FBQTtvQkFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBVSxVQUFVLGlCQUFPLFdBQVcsbUJBQU0sQ0FBQyxDQUFBOzs7O29CQUUzRCxLQUFLLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7Ozs7O1NBRTdDO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-expo-stack",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "create-expo-stack CLI",
5
5
  "private": false,
6
6
  "types": "build/types/types.d.ts",