create-expo-stack 2.3.6 → 2.3.7-next.3a8c3a9
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/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
Get started by running <code>npx create-expo-stack
|
|
11
|
+
Get started by running <code>npx create-expo-stack</code>
|
|
12
12
|
|
|
13
13
|
## Sponsors
|
|
14
14
|
|
|
@@ -27,7 +27,7 @@ You can also use flags such as `--noInstall`, `--noGit`, and `--default` in orde
|
|
|
27
27
|
|
|
28
28
|
To get started, use npx to run the CLI tool. You will be prompted to opt into the features you want to use.
|
|
29
29
|
|
|
30
|
-
`npx create-expo-stack
|
|
30
|
+
`npx create-expo-stack`
|
|
31
31
|
|
|
32
32
|
<img src="https://github.com/danstepanov/create-expo-stack/assets/5482800/e709dd66-cb9b-463c-91f9-b842bb80585c" />
|
|
33
33
|
|
|
@@ -44,22 +44,23 @@ var utilities_1 = require("../utilities");
|
|
|
44
44
|
var constants_1 = require("../constants");
|
|
45
45
|
var types_1 = require("../types");
|
|
46
46
|
var clearStylingPackages_1 = __importDefault(require("../utilities/clearStylingPackages"));
|
|
47
|
+
var validateProjectName_1 = require("../utilities/validateProjectName");
|
|
47
48
|
var command = {
|
|
48
49
|
name: 'create-expo-stack',
|
|
49
50
|
description: 'Create a new Expo project',
|
|
50
51
|
run: function (toolbox) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
-
var _a, first, options,
|
|
52
|
-
return __generator(this, function (
|
|
53
|
-
switch (
|
|
52
|
+
var _a, existsAsync, removeAsync, _b, first, options, _c, info, highlight, warning, prompt, cliResults, useDefault, skipCLI, useBlankTypescript, optionsPassedIn, generateRerunScript, packageManager, packages, authenticationPackage, navigationPackage, stylingPackage, files, formattedFiles, error_1;
|
|
53
|
+
return __generator(this, function (_d) {
|
|
54
|
+
switch (_d.label) {
|
|
54
55
|
case 0:
|
|
55
|
-
_a = toolbox.parameters, first =
|
|
56
|
+
_a = toolbox.filesystem, existsAsync = _a.existsAsync, removeAsync = _a.removeAsync, _b = toolbox.parameters, first = _b.first, options = _b.options, _c = toolbox.print, info = _c.info, highlight = _c.highlight, warning = _c.warning, prompt = toolbox.prompt;
|
|
56
57
|
if (options.help || options.h) {
|
|
57
58
|
(0, utilities_1.showHelp)(info, highlight, warning);
|
|
58
59
|
return [2 /*return*/];
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
+
_d.label = 1;
|
|
61
62
|
case 1:
|
|
62
|
-
|
|
63
|
+
_d.trys.push([1, 11, , 12]);
|
|
63
64
|
// Validation: check if the user passed in the tabs/drawer option without passing in either expo router or react navigation. If so, throw an error
|
|
64
65
|
if ((options.tabs || options.drawer) &&
|
|
65
66
|
!options.reactNavigation &&
|
|
@@ -72,20 +73,20 @@ var command = {
|
|
|
72
73
|
}
|
|
73
74
|
return [4 /*yield*/, (0, utilities_1.renderTitle)(toolbox)];
|
|
74
75
|
case 2:
|
|
75
|
-
|
|
76
|
+
_d.sent();
|
|
76
77
|
// TODO: this is hacky, figure out a way to do this better
|
|
77
78
|
// set timeout for 1 second so that the title can render before the CLI runs
|
|
78
79
|
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 200); })];
|
|
79
80
|
case 3:
|
|
80
81
|
// TODO: this is hacky, figure out a way to do this better
|
|
81
82
|
// set timeout for 1 second so that the title can render before the CLI runs
|
|
82
|
-
|
|
83
|
+
_d.sent();
|
|
83
84
|
cliResults = constants_1.defaultOptions;
|
|
84
85
|
if (!options.ignite) return [3 /*break*/, 5];
|
|
85
86
|
return [4 /*yield*/, (0, utilities_1.runIgnite)(toolbox, cliResults)];
|
|
86
87
|
case 4:
|
|
87
|
-
|
|
88
|
-
return [3 /*break*/,
|
|
88
|
+
_d.sent();
|
|
89
|
+
return [3 /*break*/, 10];
|
|
89
90
|
case 5:
|
|
90
91
|
useDefault = (options.default !== undefined && options.default) || (options.d !== undefined && options.d);
|
|
91
92
|
skipCLI = options.nonInteractive;
|
|
@@ -106,8 +107,8 @@ var command = {
|
|
|
106
107
|
return [4 /*yield*/, (0, utilities_1.runCLI)(toolbox)];
|
|
107
108
|
case 6:
|
|
108
109
|
// Run the CLI to prompt the user for input
|
|
109
|
-
cliResults =
|
|
110
|
-
|
|
110
|
+
cliResults = _d.sent();
|
|
111
|
+
_d.label = 7;
|
|
111
112
|
case 7:
|
|
112
113
|
if (!cliResults.flags.packageManager) {
|
|
113
114
|
cliResults.flags.packageManager = 'npm';
|
|
@@ -186,6 +187,11 @@ var command = {
|
|
|
186
187
|
if (first) {
|
|
187
188
|
cliResults.projectName = first;
|
|
188
189
|
}
|
|
190
|
+
// Validate the project name
|
|
191
|
+
return [4 /*yield*/, (0, validateProjectName_1.validateProjectName)(existsAsync, removeAsync, prompt, cliResults.projectName)];
|
|
192
|
+
case 8:
|
|
193
|
+
// Validate the project name
|
|
194
|
+
_d.sent();
|
|
189
195
|
// By this point, all cliResults should be set
|
|
190
196
|
info('');
|
|
191
197
|
highlight('Your project configuration:');
|
|
@@ -193,7 +199,7 @@ var command = {
|
|
|
193
199
|
info('');
|
|
194
200
|
highlight('To recreate this project, run:');
|
|
195
201
|
generateRerunScript = function (cliResults) {
|
|
196
|
-
var script = "npx create-expo-stack
|
|
202
|
+
var script = "npx create-expo-stack ".concat(cliResults.projectName, " ");
|
|
197
203
|
// Add the packages
|
|
198
204
|
cliResults.packages.forEach(function (p) {
|
|
199
205
|
var _a, _b;
|
|
@@ -236,22 +242,21 @@ var command = {
|
|
|
236
242
|
formattedFiles = [];
|
|
237
243
|
formattedFiles = (0, utilities_1.generateProjectFiles)(authenticationPackage, cliResults, files, formattedFiles, navigationPackage, packageManager, stylingPackage, toolbox);
|
|
238
244
|
return [4 /*yield*/, (0, utilities_1.printOutput)(cliResults, formattedFiles, toolbox)];
|
|
239
|
-
case
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
case
|
|
243
|
-
case
|
|
244
|
-
error_1 =
|
|
245
|
-
//
|
|
245
|
+
case 9:
|
|
246
|
+
_d.sent();
|
|
247
|
+
_d.label = 10;
|
|
248
|
+
case 10: return [3 /*break*/, 12];
|
|
249
|
+
case 11:
|
|
250
|
+
error_1 = _d.sent();
|
|
251
|
+
// await removeAsync(cliResults.projectName);
|
|
246
252
|
info("Oops, something went wrong while creating your project \uD83D\uDE22");
|
|
247
|
-
info(
|
|
248
|
-
info("Error: ".concat(error_1));
|
|
253
|
+
info("\n".concat(error_1.message ? error_1.message : error_1));
|
|
249
254
|
info("\nIf this was unexpected, please open an issue: https://github.com/danstepanov/create-expo-stack#reporting-bugs--feedback");
|
|
250
|
-
return [3 /*break*/,
|
|
251
|
-
case
|
|
255
|
+
return [3 /*break*/, 12];
|
|
256
|
+
case 12: return [2 /*return*/];
|
|
252
257
|
}
|
|
253
258
|
});
|
|
254
259
|
}); }
|
|
255
260
|
};
|
|
256
261
|
exports.default = command;
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFN0IsMENBU3NCO0FBQ3RCLDBDQUE4QztBQUM5QyxrQ0FBeUQ7QUFDekQsMkZBQXFFO0FBQ3JFLHdFQUF1RTtBQUV2RSxJQUFNLE9BQU8sR0FBbUI7SUFDL0IsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLEdBQUcsRUFBRSxVQUFPLE9BQU87Ozs7O29CQUVqQixLQUlHLE9BQU8sV0FKOEIsRUFBMUIsV0FBVyxpQkFBQSxFQUFFLFdBQVcsaUJBQUEsRUFDdEMsS0FHRyxPQUFPLFdBSG9CLEVBQWhCLEtBQUssV0FBQSxFQUFFLE9BQU8sYUFBQSxFQUM1QixLQUVHLE9BQU8sTUFGeUIsRUFBMUIsSUFBSSxVQUFBLEVBQUUsU0FBUyxlQUFBLEVBQUUsT0FBTyxhQUFBLEVBQ2pDLE1BQU0sR0FDSCxPQUFPLE9BREosQ0FDSztvQkFFWixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUMvQixJQUFBLG9CQUFRLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFFbkMsc0JBQU87b0JBQ1IsQ0FBQzs7OztvQkFHQSxrSkFBa0o7b0JBQ2xKLElBQ0MsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ2hDLENBQUMsT0FBTyxDQUFDLGVBQWU7d0JBQ3hCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO3dCQUM1QixDQUFDLE9BQU8sQ0FBQyxlQUFlO3dCQUN4QixD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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ExistsResult } from 'fs-jetpack/types';
|
|
2
|
+
import { GluegunPrompt } from 'gluegun';
|
|
3
|
+
export declare function validateProjectName(existsAsync: (path: string) => Promise<ExistsResult>, removeAsync: (path?: string) => Promise<void>, prompt: GluegunPrompt, projectName: string): Promise<void>;
|
|
@@ -38,33 +38,40 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.runCLI = void 0;
|
|
40
40
|
var constants_1 = require("../constants");
|
|
41
|
+
var validateProjectName_1 = require("./validateProjectName");
|
|
41
42
|
function runCLI(toolbox) {
|
|
42
43
|
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
-
var
|
|
44
|
+
var _a, existsAsync, removeAsync, first, success, prompt, cliResults, askName, name, projectName, useTypescript, askNavigation, askNavigationType, navigationSelect, navigationTypeSelect, askStyling, stylingSelect, askAuthentication, authenticationSelect, askPackageManager, packageManagerSelect;
|
|
44
45
|
return __generator(this, function (_b) {
|
|
45
46
|
switch (_b.label) {
|
|
46
47
|
case 0:
|
|
47
|
-
|
|
48
|
+
_a = toolbox.filesystem, existsAsync = _a.existsAsync, removeAsync = _a.removeAsync, first = toolbox.parameters.first, success = toolbox.print.success, prompt = toolbox.prompt;
|
|
48
49
|
cliResults = constants_1.defaultOptions;
|
|
49
50
|
if (!first) return [3 /*break*/, 1];
|
|
50
51
|
cliResults.projectName = first;
|
|
51
|
-
return [3 /*break*/,
|
|
52
|
+
return [3 /*break*/, 4];
|
|
52
53
|
case 1:
|
|
53
54
|
askName = {
|
|
54
55
|
type: 'input',
|
|
55
56
|
name: 'name',
|
|
56
57
|
message: "What do you want to name your project? (".concat(constants_1.DEFAULT_APP_NAME, ")")
|
|
57
58
|
};
|
|
58
|
-
return [4 /*yield*/, ask(askName)];
|
|
59
|
+
return [4 /*yield*/, prompt.ask(askName)];
|
|
59
60
|
case 2:
|
|
60
61
|
name = (_b.sent()).name;
|
|
61
62
|
cliResults.projectName = name || constants_1.DEFAULT_APP_NAME;
|
|
62
|
-
|
|
63
|
+
projectName = cliResults.projectName;
|
|
64
|
+
// Check if the directory already exists
|
|
65
|
+
return [4 /*yield*/, (0, validateProjectName_1.validateProjectName)(existsAsync, removeAsync, prompt, projectName)];
|
|
63
66
|
case 3:
|
|
67
|
+
// Check if the directory already exists
|
|
68
|
+
_b.sent();
|
|
69
|
+
_b.label = 4;
|
|
70
|
+
case 4:
|
|
64
71
|
// Clear default packages
|
|
65
72
|
cliResults.packages = [];
|
|
66
|
-
return [4 /*yield*/, confirm('Would you like to use TypeScript with this project?', true)];
|
|
67
|
-
case
|
|
73
|
+
return [4 /*yield*/, prompt.confirm('Would you like to use TypeScript with this project?', true)];
|
|
74
|
+
case 5:
|
|
68
75
|
useTypescript = _b.sent();
|
|
69
76
|
if (useTypescript) {
|
|
70
77
|
success('Good call, now using TypeScript! 🚀');
|
|
@@ -84,12 +91,12 @@ function runCLI(toolbox) {
|
|
|
84
91
|
message: 'What type of navigation would you like to use?',
|
|
85
92
|
choices: ['Stack', 'Tabs', 'Drawer']
|
|
86
93
|
};
|
|
87
|
-
return [4 /*yield*/, ask(askNavigation)];
|
|
88
|
-
case 5:
|
|
89
|
-
navigationSelect = (_b.sent()).navigationSelect;
|
|
90
|
-
if (!(navigationSelect !== 'None')) return [3 /*break*/, 7];
|
|
91
|
-
return [4 /*yield*/, ask(askNavigationType)];
|
|
94
|
+
return [4 /*yield*/, prompt.ask(askNavigation)];
|
|
92
95
|
case 6:
|
|
96
|
+
navigationSelect = (_b.sent()).navigationSelect;
|
|
97
|
+
if (!(navigationSelect !== 'None')) return [3 /*break*/, 8];
|
|
98
|
+
return [4 /*yield*/, prompt.ask(askNavigationType)];
|
|
99
|
+
case 7:
|
|
93
100
|
navigationTypeSelect = (_b.sent()).navigationTypeSelect;
|
|
94
101
|
if (navigationSelect === 'React Navigation') {
|
|
95
102
|
cliResults.packages.push({
|
|
@@ -110,19 +117,19 @@ function runCLI(toolbox) {
|
|
|
110
117
|
});
|
|
111
118
|
}
|
|
112
119
|
success("Great, we'll use ".concat(navigationSelect, "!"));
|
|
113
|
-
return [3 /*break*/,
|
|
114
|
-
case 7:
|
|
115
|
-
success("No problem, skipping navigation for now.");
|
|
116
|
-
_b.label = 8;
|
|
120
|
+
return [3 /*break*/, 9];
|
|
117
121
|
case 8:
|
|
122
|
+
success("No problem, skipping navigation for now.");
|
|
123
|
+
_b.label = 9;
|
|
124
|
+
case 9:
|
|
118
125
|
askStyling = {
|
|
119
126
|
type: 'select',
|
|
120
127
|
name: 'stylingSelect',
|
|
121
128
|
message: 'What would you like to use for styling?',
|
|
122
129
|
choices: ['Nativewind', 'Stylesheet', 'Tamagui (experimental)']
|
|
123
130
|
};
|
|
124
|
-
return [4 /*yield*/, ask(askStyling)];
|
|
125
|
-
case
|
|
131
|
+
return [4 /*yield*/, prompt.ask(askStyling)];
|
|
132
|
+
case 10:
|
|
126
133
|
stylingSelect = (_b.sent()).stylingSelect;
|
|
127
134
|
if (stylingSelect === 'Nativewind') {
|
|
128
135
|
cliResults.packages.push({ name: 'nativewind', type: 'styling' });
|
|
@@ -142,8 +149,8 @@ function runCLI(toolbox) {
|
|
|
142
149
|
message: 'What would you like to use for authentication?',
|
|
143
150
|
choices: ['None', 'Supabase', 'Firebase']
|
|
144
151
|
};
|
|
145
|
-
return [4 /*yield*/, ask(askAuthentication)];
|
|
146
|
-
case
|
|
152
|
+
return [4 /*yield*/, prompt.ask(askAuthentication)];
|
|
153
|
+
case 11:
|
|
147
154
|
authenticationSelect = (_b.sent()).authenticationSelect;
|
|
148
155
|
if (authenticationSelect === 'Supabase') {
|
|
149
156
|
cliResults.packages.push({ name: 'supabase', type: 'authentication' });
|
|
@@ -156,25 +163,25 @@ function runCLI(toolbox) {
|
|
|
156
163
|
else {
|
|
157
164
|
success("No problem, skipping authentication for now.");
|
|
158
165
|
}
|
|
159
|
-
if (!!cliResults.flags.packageManager) return [3 /*break*/,
|
|
166
|
+
if (!!cliResults.flags.packageManager) return [3 /*break*/, 13];
|
|
160
167
|
askPackageManager = {
|
|
161
168
|
type: 'select',
|
|
162
169
|
name: 'packageManagerSelect',
|
|
163
170
|
message: 'Which package manager would you like to use?',
|
|
164
171
|
choices: ['npm', 'yarn', 'pnpm', 'bun']
|
|
165
172
|
};
|
|
166
|
-
return [4 /*yield*/, ask(askPackageManager)];
|
|
167
|
-
case
|
|
173
|
+
return [4 /*yield*/, prompt.ask(askPackageManager)];
|
|
174
|
+
case 12:
|
|
168
175
|
packageManagerSelect = (_b.sent()).packageManagerSelect;
|
|
169
176
|
cliResults.flags.packageManager = packageManagerSelect;
|
|
170
|
-
return [3 /*break*/,
|
|
171
|
-
case
|
|
177
|
+
return [3 /*break*/, 14];
|
|
178
|
+
case 13:
|
|
172
179
|
cliResults.flags.packageManager = 'npm';
|
|
173
|
-
_b.label =
|
|
174
|
-
case
|
|
180
|
+
_b.label = 14;
|
|
181
|
+
case 14: return [2 /*return*/, cliResults];
|
|
175
182
|
}
|
|
176
183
|
});
|
|
177
184
|
});
|
|
178
185
|
}
|
|
179
186
|
exports.runCLI = runCLI;
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBQWdFO0FBRWhFLDZEQUE0RDtBQUU1RCxTQUFzQixNQUFNLENBQUMsT0FBZ0I7Ozs7OztvQkFFM0MsS0FJRyxPQUFPLFdBSjhCLEVBQTFCLFdBQVcsaUJBQUEsRUFBRSxXQUFXLGlCQUFBLEVBQ3hCLEtBQUssR0FHaEIsT0FBTyxpQkFIUyxFQUNWLE9BQU8sR0FFYixPQUFPLGNBRk0sRUFDaEIsTUFBTSxHQUNILE9BQU8sT0FESixDQUNLO29CQUdOLFVBQVUsR0FBRywwQkFBYyxDQUFDO3lCQUc5QixLQUFLLEVBQUwsd0JBQUs7b0JBQ1IsVUFBVSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7OztvQkFFekIsT0FBTyxHQUFHO3dCQUNmLElBQUksRUFBRSxPQUFPO3dCQUNiLElBQUksRUFBRSxNQUFNO3dCQUNaLE9BQU8sRUFBRSxrREFBMkMsNEJBQWdCLE1BQUc7cUJBQ3ZFLENBQUM7b0JBQ2UscUJBQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBQTs7b0JBQWxDLElBQUksR0FBSyxDQUFBLFNBQXlCLENBQUEsS0FBOUI7b0JBQ1osVUFBVSxDQUFDLFdBQVcsR0FBRyxJQUFJLElBQUksNEJBQWdCLENBQUM7b0JBQzFDLFdBQVcsR0FBSyxVQUFVLFlBQWYsQ0FBZ0I7b0JBQ25DLHdDQUF3QztvQkFDeEMscUJBQU0sSUFBQSx5Q0FBbUIsRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBQTs7b0JBRHhFLHdDQUF3QztvQkFDeEMsU0FBd0UsQ0FBQzs7O29CQUcxRSx5QkFBeUI7b0JBQ3pCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO29CQUVILHFCQUFN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
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.validateProjectName = void 0;
|
|
40
|
+
function validateProjectName(existsAsync, removeAsync, prompt, projectName) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
42
|
+
var confirmDelete;
|
|
43
|
+
return __generator(this, function (_a) {
|
|
44
|
+
switch (_a.label) {
|
|
45
|
+
case 0: return [4 /*yield*/, existsAsync(projectName)];
|
|
46
|
+
case 1:
|
|
47
|
+
if (!_a.sent()) return [3 /*break*/, 5];
|
|
48
|
+
return [4 /*yield*/, prompt.ask([
|
|
49
|
+
{
|
|
50
|
+
type: 'confirm',
|
|
51
|
+
name: 'delete',
|
|
52
|
+
message: "A folder with the name '".concat(projectName, "' already exists. Do you want to delete it?")
|
|
53
|
+
},
|
|
54
|
+
])];
|
|
55
|
+
case 2:
|
|
56
|
+
confirmDelete = _a.sent();
|
|
57
|
+
if (!confirmDelete.delete) return [3 /*break*/, 4];
|
|
58
|
+
return [4 /*yield*/, removeAsync(projectName)];
|
|
59
|
+
case 3:
|
|
60
|
+
_a.sent();
|
|
61
|
+
console.log("Deleted existing directory: ".concat(projectName));
|
|
62
|
+
return [3 /*break*/, 5];
|
|
63
|
+
case 4: throw new Error("Exiting, a project with the name '".concat(projectName, "' already exists."));
|
|
64
|
+
case 5: return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
exports.validateProjectName = validateProjectName;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQcm9qZWN0TmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmFsaWRhdGVQcm9qZWN0TmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxTQUFzQixtQkFBbUIsQ0FBQyxXQUFvRCxFQUFFLFdBQTZDLEVBQUUsTUFBcUIsRUFBRSxXQUFtQjs7Ozs7d0JBQ3BMLHFCQUFNLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBQTs7eUJBQTlCLFNBQThCLEVBQTlCLHdCQUE4QjtvQkFDWCxxQkFBTSxNQUFNLENBQUMsR0FBRyxDQUFDOzRCQUNyQztnQ0FDRCxJQUFJLEVBQUUsU0FBUztnQ0FDZixJQUFJLEVBQUUsUUFBUTtnQ0FDZCxPQUFPLEVBQUUsa0NBQTJCLFdBQVcsZ0RBQTZDOzZCQUMxRjt5QkFDRixDQUFDLEVBQUE7O29CQU5JLGFBQWEsR0FBRyxTQU1wQjt5QkFFRSxhQUFhLENBQUMsTUFBTSxFQUFwQix3QkFBb0I7b0JBQ3RCLHFCQUFNLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBQTs7b0JBQTlCLFNBQThCLENBQUM7b0JBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQStCLFdBQVcsQ0FBRSxDQUFDLENBQUM7O3dCQUUxRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUFxQyxXQUFXLHNCQUFtQixDQUFDLENBQUM7Ozs7O0NBR3hGO0FBakJELGtEQWlCQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-expo-stack",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.7-next.3a8c3a9",
|
|
4
4
|
"description": "CLI tool to initialize a React Native application with Expo",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,11 +33,6 @@
|
|
|
33
33
|
"test:watch": "bun test --watch",
|
|
34
34
|
"test": "bun test --timeout 25000"
|
|
35
35
|
},
|
|
36
|
-
"husky": {
|
|
37
|
-
"hooks": {
|
|
38
|
-
"pre-commit": "pretty-quick --staged"
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
36
|
"prettier": {
|
|
42
37
|
"arrowParens": "always",
|
|
43
38
|
"bracketSameLine": false,
|
|
@@ -64,8 +59,7 @@
|
|
|
64
59
|
"eslint-config-prettier": "^9.0.0",
|
|
65
60
|
"eslint-plugin-prettier": "^5.0.1",
|
|
66
61
|
"husky": "^5.1.3",
|
|
67
|
-
"prettier": "^
|
|
68
|
-
"pretty-quick": "^3.1.0"
|
|
62
|
+
"prettier": "^3.1.0"
|
|
69
63
|
},
|
|
70
64
|
"publishConfig": {
|
|
71
65
|
"provenance": false
|