@mr.dj2u/create-expo-stack 2.21.3-mrdj.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/README.md +435 -0
- package/bin/create-expo-stack.js +2 -0
- package/build/cli.js +49 -0
- package/build/commands/create-expo-stack.js +471 -0
- package/build/constants.js +39 -0
- package/build/templates/base/.gitignore.ejs +26 -0
- package/build/templates/base/.npmrc.ejs +1 -0
- package/build/templates/base/App.tsx.ejs +66 -0
- package/build/templates/base/app.json.ejs +69 -0
- package/build/templates/base/assets/adaptive-icon.png +0 -0
- package/build/templates/base/assets/favicon.png +0 -0
- package/build/templates/base/assets/icon.png +0 -0
- package/build/templates/base/assets/splash.png +0 -0
- package/build/templates/base/babel.config.js.ejs +38 -0
- package/build/templates/base/components/BackButton.tsx.ejs +23 -0
- package/build/templates/base/components/Button.tsx.ejs +42 -0
- package/build/templates/base/components/Container.tsx.ejs +14 -0
- package/build/templates/base/components/EditScreenInfo.tsx.ejs +44 -0
- package/build/templates/base/components/HeaderButton.tsx.ejs +31 -0
- package/build/templates/base/components/ScreenContent.tsx.ejs +40 -0
- package/build/templates/base/components/TabBarIcon.tsx.ejs +15 -0
- package/build/templates/base/eslint.config.js.ejs +15 -0
- package/build/templates/base/package.json.ejs +191 -0
- package/build/templates/base/prettier.config.js.ejs +11 -0
- package/build/templates/base/tsconfig.json.ejs +39 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/(tabs)/_layout.tsx.ejs +40 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/(tabs)/index.tsx.ejs +15 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/(tabs)/two.tsx.ejs +15 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/_layout.tsx.ejs +65 -0
- package/build/templates/packages/expo-router/drawer/app/(drawer)/index.tsx.ejs +15 -0
- package/build/templates/packages/expo-router/drawer/app/+html.tsx.ejs +49 -0
- package/build/templates/packages/expo-router/drawer/app/+not-found.tsx.ejs +100 -0
- package/build/templates/packages/expo-router/drawer/app/_layout.tsx.ejs +91 -0
- package/build/templates/packages/expo-router/drawer/app/modal.tsx.ejs +21 -0
- package/build/templates/packages/expo-router/expo-env.d.ts +4 -0
- package/build/templates/packages/expo-router/index.js.ejs +4 -0
- package/build/templates/packages/expo-router/metro.config.js.ejs +24 -0
- package/build/templates/packages/expo-router/stack/app/+html.tsx.ejs +49 -0
- package/build/templates/packages/expo-router/stack/app/+not-found.tsx.ejs +113 -0
- package/build/templates/packages/expo-router/stack/app/_layout.tsx.ejs +63 -0
- package/build/templates/packages/expo-router/stack/app/details.tsx.ejs +56 -0
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +73 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/_layout.tsx.ejs +52 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/index.tsx.ejs +37 -0
- package/build/templates/packages/expo-router/tabs/app/(tabs)/two.tsx.ejs +37 -0
- package/build/templates/packages/expo-router/tabs/app/+html.tsx.ejs +49 -0
- package/build/templates/packages/expo-router/tabs/app/+not-found.tsx.ejs +110 -0
- package/build/templates/packages/expo-router/tabs/app/_layout.tsx.ejs +84 -0
- package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +21 -0
- package/build/templates/packages/firebase/.env.ejs +8 -0
- package/build/templates/packages/firebase/metro.config.js.ejs +14 -0
- package/build/templates/packages/firebase/utils/firebase.ts.ejs +26 -0
- package/build/templates/packages/i18next/components/InternalizationExample.tsx.ejs +23 -0
- package/build/templates/packages/i18next/core/i18n/fallbackChecker.ts.ejs +13 -0
- package/build/templates/packages/i18next/core/i18n/init.ts.ejs +24 -0
- package/build/templates/packages/i18next/core/i18n/languageDetector.ts.ejs +13 -0
- package/build/templates/packages/i18next/translation/en.json.ejs +8 -0
- package/build/templates/packages/i18next/translation/fr.json.ejs +8 -0
- package/build/templates/packages/i18next/translation/index.ts.ejs +20 -0
- package/build/templates/packages/nativewind/components/BackButton.tsx.ejs +22 -0
- package/build/templates/packages/nativewind/components/Button.tsx.ejs +21 -0
- package/build/templates/packages/nativewind/components/Container.tsx.ejs +13 -0
- package/build/templates/packages/nativewind/components/EditScreenInfo.tsx.ejs +40 -0
- package/build/templates/packages/nativewind/components/ScreenContent.tsx.ejs +27 -0
- package/build/templates/packages/nativewind/global.css +3 -0
- package/build/templates/packages/nativewind/metro.config.js +7 -0
- package/build/templates/packages/nativewind/nativewind-env.d.ts +2 -0
- package/build/templates/packages/nativewind/tailwind.config.js.ejs +15 -0
- package/build/templates/packages/nativewindui/components/Container.tsx.ejs +14 -0
- package/build/templates/packages/nativewindui/components/EditScreenInfo.tsx.ejs +45 -0
- package/build/templates/packages/nativewindui/components/HeaderButton.tsx.ejs +31 -0
- package/build/templates/packages/nativewindui/components/ScreenContent.tsx.ejs +40 -0
- package/build/templates/packages/nativewindui/components/TabBarIcon.tsx.ejs +15 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/Icon.ios.tsx.ejs +52 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/Icon.tsx.ejs +58 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/index.ts.ejs +16 -0
- package/build/templates/packages/nativewindui/components/nativewindui/Icon/types.ts.ejs +18 -0
- package/build/templates/packages/nativewindui/components/nativewindui/ThemeToggle.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/(tabs)/_layout.tsx.ejs +28 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/(tabs)/index.tsx.ejs +15 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/(tabs)/two.tsx.ejs +15 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/_layout.tsx.ejs +35 -0
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/index.tsx.ejs +535 -0
- package/build/templates/packages/nativewindui/drawer/app/+html.tsx.ejs +46 -0
- package/build/templates/packages/nativewindui/drawer/app/+not-found.tsx.ejs +83 -0
- package/build/templates/packages/nativewindui/drawer/app/_layout.tsx.ejs +75 -0
- package/build/templates/packages/nativewindui/drawer/app/modal.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/global.css.ejs +91 -0
- package/build/templates/packages/nativewindui/lib/cn.ts.ejs +6 -0
- package/build/templates/packages/nativewindui/lib/useColorScheme.tsx.ejs +21 -0
- package/build/templates/packages/nativewindui/nativewind-env.d.ts.ejs +1 -0
- package/build/templates/packages/nativewindui/stack/app/+html.tsx.ejs +46 -0
- package/build/templates/packages/nativewindui/stack/app/+not-found.tsx.ejs +18 -0
- package/build/templates/packages/nativewindui/stack/app/_layout.tsx.ejs +78 -0
- package/build/templates/packages/nativewindui/stack/app/index.tsx.ejs +487 -0
- package/build/templates/packages/nativewindui/stack/app/modal.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/_layout.tsx.ejs +35 -0
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/index.tsx.ejs +537 -0
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/two.tsx.ejs +22 -0
- package/build/templates/packages/nativewindui/tabs/app/+html.tsx.ejs +46 -0
- package/build/templates/packages/nativewindui/tabs/app/+not-found.tsx.ejs +90 -0
- package/build/templates/packages/nativewindui/tabs/app/_layout.tsx.ejs +78 -0
- package/build/templates/packages/nativewindui/tabs/app/modal.tsx.ejs +21 -0
- package/build/templates/packages/nativewindui/tailwind.config.js.ejs +67 -0
- package/build/templates/packages/nativewindui/theme/colors.ts.ejs +123 -0
- package/build/templates/packages/nativewindui/theme/index.ts.ejs +32 -0
- package/build/templates/packages/nativewindui/theme/with-opacity.ts.ejs +155 -0
- package/build/templates/packages/react-navigation/App.tsx.ejs +73 -0
- package/build/templates/packages/react-navigation/navigation/drawer-navigator.tsx.ejs +31 -0
- package/build/templates/packages/react-navigation/navigation/index.tsx.ejs +108 -0
- package/build/templates/packages/react-navigation/navigation/tab-navigator.tsx.ejs +38 -0
- package/build/templates/packages/react-navigation/screens/details.tsx.ejs +41 -0
- package/build/templates/packages/react-navigation/screens/home.tsx.ejs +5 -0
- package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +20 -0
- package/build/templates/packages/react-navigation/screens/one.tsx.ejs +5 -0
- package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +54 -0
- package/build/templates/packages/react-navigation/screens/two.tsx.ejs +5 -0
- package/build/templates/packages/restyle/components/BackButton.tsx.ejs +19 -0
- package/build/templates/packages/restyle/components/Button.tsx.ejs +32 -0
- package/build/templates/packages/restyle/components/Container.tsx.ejs +16 -0
- package/build/templates/packages/restyle/components/EditScreenInfo.tsx.ejs +38 -0
- package/build/templates/packages/restyle/components/ScreenContent.tsx.ejs +30 -0
- package/build/templates/packages/restyle/theme.ts.ejs +51 -0
- package/build/templates/packages/supabase/.env.ejs +2 -0
- package/build/templates/packages/supabase/utils/supabase.ts.ejs +14 -0
- package/build/templates/packages/tamagui/components/BackButton.tsx.ejs +12 -0
- package/build/templates/packages/tamagui/components/Button.tsx.ejs +17 -0
- package/build/templates/packages/tamagui/components/Container.tsx.ejs +12 -0
- package/build/templates/packages/tamagui/components/EditScreenInfo.tsx.ejs +27 -0
- package/build/templates/packages/tamagui/components/ScreenContent.tsx.ejs +23 -0
- package/build/templates/packages/tamagui/tamagui.config.ts.ejs +14 -0
- package/build/templates/packages/unistyles/breakpoints.ts.ejs +9 -0
- package/build/templates/packages/unistyles/components/BackButton.tsx.ejs +28 -0
- package/build/templates/packages/unistyles/components/Button.tsx.ejs +42 -0
- package/build/templates/packages/unistyles/components/Container.tsx.ejs +17 -0
- package/build/templates/packages/unistyles/components/EditScreenInfo.tsx.ejs +53 -0
- package/build/templates/packages/unistyles/components/ScreenContent.tsx.ejs +43 -0
- package/build/templates/packages/unistyles/theme.ts.ejs +34 -0
- package/build/templates/packages/unistyles/unistyles.ts.ejs +27 -0
- package/build/templates/packages/uniwind/global.css +2 -0
- package/build/templates/packages/uniwind/metro.config.js.ejs +10 -0
- package/build/templates/packages/vexo-analytics/.env.ejs +7 -0
- package/build/templates/packages/zustand/store/store.ts.ejs +15 -0
- package/build/types/cli.d.ts +4 -0
- package/build/types/commands/create-expo-stack.d.ts +3 -0
- package/build/types/constants.d.ts +10 -0
- package/build/types/types.d.ts +33 -0
- package/build/types/utilities/bumpVersion.d.ts +1 -0
- package/build/types/utilities/clearNavigationPackages.d.ts +2 -0
- package/build/types/utilities/clearStylingPackages.d.ts +2 -0
- package/build/types/utilities/configAnalytics.d.ts +18 -0
- package/build/types/utilities/configStorage.d.ts +8 -0
- package/build/types/utilities/configureProjectFiles.d.ts +3 -0
- package/build/types/utilities/copyBaseAssets.d.ts +2 -0
- package/build/types/utilities/generateNWUI.d.ts +3 -0
- package/build/types/utilities/generateProjectFiles.d.ts +5 -0
- package/build/types/utilities/getPackageManager.d.ts +8 -0
- package/build/types/utilities/index.d.ts +10 -0
- package/build/types/utilities/printOutput.d.ts +3 -0
- package/build/types/utilities/publishToGitHub.d.ts +2 -0
- package/build/types/utilities/renderTitle.d.ts +2 -0
- package/build/types/utilities/runCLI.d.ts +3 -0
- package/build/types/utilities/runEasConfigure.d.ts +3 -0
- package/build/types/utilities/runIgnite.d.ts +3 -0
- package/build/types/utilities/showHelp.d.ts +1 -0
- package/build/types/utilities/systemCommand.d.ts +14 -0
- package/build/types/utilities/usePackage.d.ts +2 -0
- package/build/types/utilities/validateProjectName.d.ts +4 -0
- package/build/types.js +39 -0
- package/build/utilities/bumpVersion.js +21 -0
- package/build/utilities/clearNavigationPackages.js +11 -0
- package/build/utilities/clearStylingPackages.js +11 -0
- package/build/utilities/configAnalytics.js +70 -0
- package/build/utilities/configStorage.js +50 -0
- package/build/utilities/configureProjectFiles.js +380 -0
- package/build/utilities/copyBaseAssets.js +21 -0
- package/build/utilities/generateNWUI.js +54 -0
- package/build/utilities/generateProjectFiles.js +106 -0
- package/build/utilities/getPackageManager.js +103 -0
- package/build/utilities/index.js +27 -0
- package/build/utilities/printOutput.js +251 -0
- package/build/utilities/publishToGitHub.js +173 -0
- package/build/utilities/renderTitle.js +55 -0
- package/build/utilities/runCLI.js +437 -0
- package/build/utilities/runEasConfigure.js +83 -0
- package/build/utilities/runIgnite.js +26 -0
- package/build/utilities/showHelp.js +85 -0
- package/build/utilities/systemCommand.js +40 -0
- package/build/utilities/usePackage.js +8 -0
- package/build/utilities/validateProjectName.js +42 -0
- package/package.json +77 -0
|
@@ -0,0 +1,437 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.runCLI = void 0;
|
|
13
|
+
const prompts_1 = require("@clack/prompts");
|
|
14
|
+
const gluegun_1 = require("gluegun");
|
|
15
|
+
const constants_1 = require("../constants");
|
|
16
|
+
const configStorage_1 = require("./configStorage");
|
|
17
|
+
const getPackageManager_1 = require("./getPackageManager");
|
|
18
|
+
// based on eas default bun version https://docs.expo.dev/build-reference/infrastructure/#ios-server-images
|
|
19
|
+
const minBunVersion = '1.1.13'; // or greater
|
|
20
|
+
const softwareMansionOptions = [
|
|
21
|
+
{ value: 'react-native-gesture-handler', label: 'React Native Gesture Handler' },
|
|
22
|
+
{ value: 'react-native-reanimated', label: 'React Native Reanimated (included by default)' },
|
|
23
|
+
{ value: 'react-native-screens', label: 'React Native Screens' },
|
|
24
|
+
{ value: 'react-native-svg', label: 'React Native SVG' },
|
|
25
|
+
{ value: 'react-native-keyboard-controller', label: 'React Native Keyboard Controller' },
|
|
26
|
+
{ value: 'react-native-worklets', label: 'React Native Worklets (included by default)' }
|
|
27
|
+
];
|
|
28
|
+
function shouldAddSoftwareMansionPackage(name, cliResults) {
|
|
29
|
+
if (cliResults.packages.some((pkg) => pkg.name === name)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if ((name === 'react-native-gesture-handler' || name === 'react-native-screens') &&
|
|
33
|
+
cliResults.packages.some((pkg) => pkg.type === 'navigation')) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return name !== 'react-native-reanimated' && name !== 'react-native-worklets';
|
|
37
|
+
}
|
|
38
|
+
function runCLI(toolbox, projectName) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const { parameters: { options }, print: { info, success, warning, highlight } } = toolbox;
|
|
41
|
+
// Set the default options
|
|
42
|
+
const cliResults = constants_1.defaultOptions;
|
|
43
|
+
// Project name already validated, just set cliResults
|
|
44
|
+
cliResults.projectName = projectName;
|
|
45
|
+
cliResults.flags.overwrite = !!options.overwrite;
|
|
46
|
+
cliResults.flags.eas = !!options.eas;
|
|
47
|
+
// Clear default packages
|
|
48
|
+
cliResults.packages = [];
|
|
49
|
+
// Check whether the user has any saved create expo stack configurations
|
|
50
|
+
const savedConfigs = yield (0, configStorage_1.loadConfigs)();
|
|
51
|
+
// If the user has saved configurations, ask if they would like to use them
|
|
52
|
+
if (savedConfigs.length > 0) {
|
|
53
|
+
const useSavedConfig = yield (0, prompts_1.confirm)({
|
|
54
|
+
message: 'Would you like to use a saved configuration?',
|
|
55
|
+
initialValue: false
|
|
56
|
+
});
|
|
57
|
+
if ((0, prompts_1.isCancel)(useSavedConfig)) {
|
|
58
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
59
|
+
return process.exit(0);
|
|
60
|
+
}
|
|
61
|
+
if (useSavedConfig) {
|
|
62
|
+
const savedConfigSelect = yield (0, prompts_1.select)({
|
|
63
|
+
message: 'Which saved configuration would you like to use?',
|
|
64
|
+
options: savedConfigs.map((config) => ({ value: config.name, label: config.name }))
|
|
65
|
+
});
|
|
66
|
+
if ((0, prompts_1.isCancel)(savedConfigSelect)) {
|
|
67
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
68
|
+
return process.exit(0);
|
|
69
|
+
}
|
|
70
|
+
const selectedConfig = savedConfigs.find((config) => config.name === savedConfigSelect);
|
|
71
|
+
if (selectedConfig) {
|
|
72
|
+
cliResults.packages = selectedConfig.cliResults.packages;
|
|
73
|
+
cliResults.flags = selectedConfig.cliResults.flags;
|
|
74
|
+
success(`Using saved configuration: ${selectedConfig.name}`);
|
|
75
|
+
return cliResults;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
warning('Saved configuration not found, continuing with default configuration.');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Ask about TypeScript
|
|
83
|
+
const shouldUseTypescript = yield (0, prompts_1.confirm)({
|
|
84
|
+
message: 'Would you like to use TypeScript with this project?',
|
|
85
|
+
initialValue: true
|
|
86
|
+
});
|
|
87
|
+
if ((0, prompts_1.isCancel)(shouldUseTypescript)) {
|
|
88
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
89
|
+
return process.exit(0);
|
|
90
|
+
}
|
|
91
|
+
if (shouldUseTypescript) {
|
|
92
|
+
success('Good call, now using TypeScript! 🚀');
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
success(`Wrong answer, we're gonna use Typescript.`);
|
|
96
|
+
}
|
|
97
|
+
const defaultPackageManagerVersion = (0, getPackageManager_1.getDefaultPackageManagerVersion)();
|
|
98
|
+
if (cliResults.flags.packageManager) {
|
|
99
|
+
if (options.bun || options.pnpm || options.npm || options.yarn) {
|
|
100
|
+
cliResults.flags.packageManager = options.bun ? 'bun' : options.pnpm ? 'pnpm' : options.npm ? 'npm' : 'yarn';
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const shouldUseDefaultPackageManager = yield (0, prompts_1.confirm)({
|
|
104
|
+
message: `\nWe've detected ${cliResults.flags.packageManager} ${defaultPackageManagerVersion ? `v${defaultPackageManagerVersion}` : ''} as your preferred package manager.\nWould you like to continue using it?`,
|
|
105
|
+
initialValue: true
|
|
106
|
+
});
|
|
107
|
+
if ((0, prompts_1.isCancel)(shouldUseDefaultPackageManager)) {
|
|
108
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
109
|
+
return process.exit(0);
|
|
110
|
+
}
|
|
111
|
+
if (!shouldUseDefaultPackageManager) {
|
|
112
|
+
const packageManagerSelect = yield (0, prompts_1.select)({
|
|
113
|
+
message: 'Gotcha! Which package manager would you like to use?',
|
|
114
|
+
options: [
|
|
115
|
+
{ value: 'npm', label: 'npm' },
|
|
116
|
+
{ value: 'yarn', label: 'yarn' },
|
|
117
|
+
{ value: 'pnpm', label: 'pnpm' },
|
|
118
|
+
{ value: 'bun', label: 'bun' }
|
|
119
|
+
],
|
|
120
|
+
initialValue: 'npm'
|
|
121
|
+
});
|
|
122
|
+
if ((0, prompts_1.isCancel)(packageManagerSelect)) {
|
|
123
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
124
|
+
return process.exit(0);
|
|
125
|
+
}
|
|
126
|
+
// random comment for the versioning change
|
|
127
|
+
cliResults.flags.packageManager = packageManagerSelect;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
if (options.bun || options.pnpm || options.npm || options.yarn) {
|
|
133
|
+
cliResults.flags.packageManager = options.bun ? 'bun' : options.pnpm ? 'pnpm' : options.npm ? 'npm' : 'yarn';
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const packageManagerSelect = yield (0, prompts_1.select)({
|
|
137
|
+
message: 'Which package manager would you like to use?',
|
|
138
|
+
options: [
|
|
139
|
+
{ value: 'npm', label: 'npm' },
|
|
140
|
+
{ value: 'yarn', label: 'yarn' },
|
|
141
|
+
{ value: 'pnpm', label: 'pnpm' },
|
|
142
|
+
{ value: 'bun', label: 'bun' }
|
|
143
|
+
]
|
|
144
|
+
});
|
|
145
|
+
if ((0, prompts_1.isCancel)(packageManagerSelect)) {
|
|
146
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
147
|
+
return process.exit(0);
|
|
148
|
+
}
|
|
149
|
+
cliResults.flags.packageManager = packageManagerSelect;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const navigationSelect = yield (0, prompts_1.select)({
|
|
153
|
+
message: 'What would you like to use for Navigation?',
|
|
154
|
+
options: [
|
|
155
|
+
{ value: 'react-navigation', label: 'React Navigation' },
|
|
156
|
+
{ value: 'expo-router', label: 'Expo Router' },
|
|
157
|
+
{ value: undefined, label: 'None' }
|
|
158
|
+
],
|
|
159
|
+
initialValue: 'expo-router'
|
|
160
|
+
});
|
|
161
|
+
if ((0, prompts_1.isCancel)(navigationSelect)) {
|
|
162
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
163
|
+
return process.exit(0);
|
|
164
|
+
}
|
|
165
|
+
if (navigationSelect) {
|
|
166
|
+
const navigationType = yield (0, prompts_1.select)({
|
|
167
|
+
message: 'What type of navigation would you like to use?',
|
|
168
|
+
options: [
|
|
169
|
+
{ value: 'stack', label: 'Stack' },
|
|
170
|
+
{ value: 'tabs', label: 'Tabs' },
|
|
171
|
+
{ value: 'drawer + tabs', label: 'Drawer + Tabs' }
|
|
172
|
+
]
|
|
173
|
+
});
|
|
174
|
+
if ((0, prompts_1.isCancel)(navigationType)) {
|
|
175
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
176
|
+
return process.exit(0);
|
|
177
|
+
}
|
|
178
|
+
cliResults.packages.push({
|
|
179
|
+
name: navigationSelect,
|
|
180
|
+
type: 'navigation',
|
|
181
|
+
options: {
|
|
182
|
+
type: navigationType
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
// If the user is using a version of bun that is anything but version 1.0.22, communicate a message
|
|
186
|
+
if (cliResults.flags.packageManager === 'bun' &&
|
|
187
|
+
defaultPackageManagerVersion &&
|
|
188
|
+
gluegun_1.semver.lt(defaultPackageManagerVersion, minBunVersion)) {
|
|
189
|
+
warning('⚠️' + ' ' + ` We've detected you're using Bun v${defaultPackageManagerVersion}.`);
|
|
190
|
+
info('');
|
|
191
|
+
warning(`Some packages may not work correctly if you continue. We recommend using the latest version of Bun or at-least v${minBunVersion}.`);
|
|
192
|
+
warning(`For more information, visit https://github.com/oven-sh/bun/issues/8406`);
|
|
193
|
+
info('');
|
|
194
|
+
warning(`To upgrade to Bun run:`);
|
|
195
|
+
info('');
|
|
196
|
+
highlight(`bun upgrade`);
|
|
197
|
+
info('');
|
|
198
|
+
warning(`or visit bun.sh/docs/installation for other installation methods (e.g. via Homebrew, npm, etc).`);
|
|
199
|
+
info('');
|
|
200
|
+
const shouldContinue = yield (0, prompts_1.confirm)({
|
|
201
|
+
message: `Would you like to continue without upgrading Bun?`,
|
|
202
|
+
initialValue: false
|
|
203
|
+
});
|
|
204
|
+
if ((0, prompts_1.isCancel)(shouldContinue) || !shouldContinue) {
|
|
205
|
+
throw new Error(constants_1.bunInstallationError);
|
|
206
|
+
}
|
|
207
|
+
success(`Great, we'll use ${navigationSelect}!`);
|
|
208
|
+
}
|
|
209
|
+
else if (cliResults.flags.packageManager === 'bun' && !defaultPackageManagerVersion) {
|
|
210
|
+
warning('⚠️' + ' ' + ` We've detected you're using Bun but we are unable to determine which version you are using.`);
|
|
211
|
+
info('');
|
|
212
|
+
warning(`We recommend using the latest version of Bun or at-least v${minBunVersion}. If you continue with an earlier version, some packages may not work correctly.`);
|
|
213
|
+
warning(`For more information, visit https://github.com/oven-sh/bun/issues/8406`);
|
|
214
|
+
info('');
|
|
215
|
+
warning(`To check your version of Bun, run:`);
|
|
216
|
+
info('');
|
|
217
|
+
highlight(`bun -version`);
|
|
218
|
+
info('');
|
|
219
|
+
warning(`To upgrade Bun run:`);
|
|
220
|
+
info('');
|
|
221
|
+
highlight(`bun upgrade`);
|
|
222
|
+
info('');
|
|
223
|
+
warning(`or visit bun.sh/docs/installation for other installation methods (e.g. via Homebrew, npm, etc).`);
|
|
224
|
+
info('');
|
|
225
|
+
const shouldContinue = yield (0, prompts_1.confirm)({
|
|
226
|
+
message: `Would you like to continue with your current version of Bun?`,
|
|
227
|
+
initialValue: false
|
|
228
|
+
});
|
|
229
|
+
if ((0, prompts_1.isCancel)(shouldContinue) || !shouldContinue) {
|
|
230
|
+
throw new Error(constants_1.bunInstallationError);
|
|
231
|
+
}
|
|
232
|
+
success(`Great, we'll use ${navigationSelect}!`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
success(`No problem, skipping navigation for now.`);
|
|
237
|
+
}
|
|
238
|
+
const stylingSelect = yield (0, prompts_1.select)({
|
|
239
|
+
message: 'What would you like to use for styling?',
|
|
240
|
+
options: navigationSelect === 'expo-router'
|
|
241
|
+
? [
|
|
242
|
+
{ value: 'nativewindui', label: 'NativewindUI' },
|
|
243
|
+
{ value: 'uniwind', label: 'Uniwind' },
|
|
244
|
+
{ value: 'nativewind', label: 'Nativewind' },
|
|
245
|
+
{ value: 'restyle', label: 'Restyle' },
|
|
246
|
+
{ value: 'tamagui', label: 'Tamagui' },
|
|
247
|
+
{ value: 'stylesheet', label: 'StyleSheet' },
|
|
248
|
+
{ value: 'unistyles', label: 'Unistyles' }
|
|
249
|
+
]
|
|
250
|
+
: [
|
|
251
|
+
{ value: 'uniwind', label: 'Uniwind' },
|
|
252
|
+
{ value: 'nativewind', label: 'Nativewind' },
|
|
253
|
+
{ value: 'restyle', label: 'Restyle' },
|
|
254
|
+
{ value: 'tamagui', label: 'Tamagui' },
|
|
255
|
+
{ value: 'stylesheet', label: 'StyleSheet' },
|
|
256
|
+
{ value: 'unistyles', label: 'Unistyles' }
|
|
257
|
+
],
|
|
258
|
+
initialValue: navigationSelect === 'expo-router' ? 'nativewindui' : 'nativewind'
|
|
259
|
+
});
|
|
260
|
+
if ((0, prompts_1.isCancel)(stylingSelect)) {
|
|
261
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
262
|
+
return process.exit(0);
|
|
263
|
+
}
|
|
264
|
+
if (stylingSelect === 'nativewindui') {
|
|
265
|
+
const selectedComponents = yield (0, prompts_1.multiselect)({
|
|
266
|
+
message: 'Which components would you like to explore?',
|
|
267
|
+
options: [
|
|
268
|
+
{ value: 'action-sheet', label: 'Action Sheet' },
|
|
269
|
+
{ value: 'activity-indicator', label: 'Activity Indicator' },
|
|
270
|
+
{ value: 'activity-view', label: 'Activity View' },
|
|
271
|
+
{ value: 'avatar', label: 'Avatar' },
|
|
272
|
+
{ value: 'date-picker', label: 'Date Picker' },
|
|
273
|
+
{ value: 'picker', label: 'Picker' },
|
|
274
|
+
{ value: 'progress-indicator', label: 'Progress Indicator' },
|
|
275
|
+
{ value: 'ratings-indicator', label: 'Ratings Indicator' },
|
|
276
|
+
{ value: 'slider', label: 'Slider' },
|
|
277
|
+
// We always include text and button so we don't need to provide this option
|
|
278
|
+
// { value: 'text', label: 'Text' },
|
|
279
|
+
// { value: 'button', label: 'Button' },
|
|
280
|
+
{ value: 'toggle', label: 'Toggle' }
|
|
281
|
+
],
|
|
282
|
+
required: false,
|
|
283
|
+
initialValues: constants_1.nativewindUIOptions
|
|
284
|
+
});
|
|
285
|
+
if ((0, prompts_1.isCancel)(selectedComponents)) {
|
|
286
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
287
|
+
return process.exit(0);
|
|
288
|
+
}
|
|
289
|
+
cliResults.packages.push({
|
|
290
|
+
name: 'nativewindui',
|
|
291
|
+
type: 'styling',
|
|
292
|
+
options: {
|
|
293
|
+
selectedComponents: Array.from(new Set([...selectedComponents, 'text', 'button']))
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
success(`You'll be styling with ease using NativewindUI!`);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
cliResults.packages.push({ name: stylingSelect, type: 'styling' });
|
|
300
|
+
success(`You'll be styling with ease using ${stylingSelect.toString().charAt(0).toUpperCase() + stylingSelect.toString().slice(1)}!`);
|
|
301
|
+
}
|
|
302
|
+
const softwareMansionSelect = yield (0, prompts_1.multiselect)({
|
|
303
|
+
message: 'Which optional Software Mansion packages would you like to add?',
|
|
304
|
+
options: softwareMansionOptions,
|
|
305
|
+
required: false,
|
|
306
|
+
initialValues: []
|
|
307
|
+
});
|
|
308
|
+
if ((0, prompts_1.isCancel)(softwareMansionSelect)) {
|
|
309
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
310
|
+
return process.exit(0);
|
|
311
|
+
}
|
|
312
|
+
softwareMansionSelect
|
|
313
|
+
.filter((pkg) => shouldAddSoftwareMansionPackage(pkg, cliResults))
|
|
314
|
+
.forEach((pkg) => {
|
|
315
|
+
cliResults.packages.push({ name: pkg, type: 'software-mansion' });
|
|
316
|
+
});
|
|
317
|
+
const stateManagementSelect = yield (0, prompts_1.select)({
|
|
318
|
+
message: 'What would you like to use for state management?',
|
|
319
|
+
options: [
|
|
320
|
+
{ value: undefined, label: 'None' },
|
|
321
|
+
{ value: 'zustand', label: 'Zustand' }
|
|
322
|
+
// { value: 'mobx', label: 'MobX' },
|
|
323
|
+
// { value: 'redux', label: 'Redux' },
|
|
324
|
+
]
|
|
325
|
+
});
|
|
326
|
+
if ((0, prompts_1.isCancel)(stateManagementSelect)) {
|
|
327
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
328
|
+
return process.exit(0);
|
|
329
|
+
}
|
|
330
|
+
if (stateManagementSelect) {
|
|
331
|
+
cliResults.packages.push({
|
|
332
|
+
name: stateManagementSelect,
|
|
333
|
+
type: 'state-management'
|
|
334
|
+
});
|
|
335
|
+
success(`You'll be using ${stateManagementSelect} for state management.`);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
success(`No problem, skipping state management for now.`);
|
|
339
|
+
}
|
|
340
|
+
const authenticationOptions = [
|
|
341
|
+
{ value: undefined, label: 'None' },
|
|
342
|
+
{ value: 'supabase', label: 'Supabase' },
|
|
343
|
+
{ value: 'firebase', label: 'Firebase' }
|
|
344
|
+
];
|
|
345
|
+
const authenticationSelect = yield (0, prompts_1.select)({
|
|
346
|
+
message: 'What would you like to use for authentication?',
|
|
347
|
+
options: authenticationOptions
|
|
348
|
+
});
|
|
349
|
+
if ((0, prompts_1.isCancel)(authenticationSelect)) {
|
|
350
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
351
|
+
return process.exit(0);
|
|
352
|
+
}
|
|
353
|
+
if (authenticationSelect) {
|
|
354
|
+
cliResults.packages.push({ name: authenticationSelect, type: 'authentication' });
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
success(`No problem, skipping authentication for now.`);
|
|
358
|
+
}
|
|
359
|
+
const internationalizationSelect = yield (0, prompts_1.select)({
|
|
360
|
+
message: 'Would you like to include internationalization?',
|
|
361
|
+
options: [
|
|
362
|
+
{ value: undefined, label: 'None' },
|
|
363
|
+
{ value: 'i18next', label: 'i18next' }
|
|
364
|
+
]
|
|
365
|
+
});
|
|
366
|
+
if ((0, prompts_1.isCancel)(internationalizationSelect)) {
|
|
367
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
368
|
+
return process.exit(0);
|
|
369
|
+
}
|
|
370
|
+
if (internationalizationSelect) {
|
|
371
|
+
cliResults.packages.push({
|
|
372
|
+
name: internationalizationSelect,
|
|
373
|
+
type: 'internationalization'
|
|
374
|
+
});
|
|
375
|
+
success(`We'll add ${internationalizationSelect} for internationalization.`);
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
success(`No problem, skipping internationalization for now.`);
|
|
379
|
+
}
|
|
380
|
+
const analyticsSelect = yield (0, prompts_1.select)({
|
|
381
|
+
message: 'Would you like to include analytics?',
|
|
382
|
+
options: [
|
|
383
|
+
{ value: undefined, label: 'None' },
|
|
384
|
+
{ value: 'vexo-analytics', label: 'Vexo Analytics' }
|
|
385
|
+
]
|
|
386
|
+
});
|
|
387
|
+
if ((0, prompts_1.isCancel)(analyticsSelect)) {
|
|
388
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
389
|
+
return process.exit(0);
|
|
390
|
+
}
|
|
391
|
+
if (analyticsSelect) {
|
|
392
|
+
cliResults.packages.push({ name: analyticsSelect, type: 'analytics' });
|
|
393
|
+
success(`We'll add ${analyticsSelect} for analytics.`);
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
success(`No problem, skipping analytics for now.`);
|
|
397
|
+
}
|
|
398
|
+
const easEnabled = yield (0, prompts_1.confirm)({
|
|
399
|
+
message: `Do you want to setup EAS`,
|
|
400
|
+
initialValue: false
|
|
401
|
+
});
|
|
402
|
+
if ((0, prompts_1.isCancel)(easEnabled)) {
|
|
403
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
404
|
+
return process.exit(0);
|
|
405
|
+
}
|
|
406
|
+
if (easEnabled) {
|
|
407
|
+
cliResults.flags.eas = true;
|
|
408
|
+
success(`We'll setup EAS for you.`);
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
success(`No problem, skipping eas for now.`);
|
|
412
|
+
}
|
|
413
|
+
// Offer user ability to save configuration
|
|
414
|
+
const shouldSaveConfig = yield (0, prompts_1.confirm)({
|
|
415
|
+
message: 'Would you like to save this configuration for future use?',
|
|
416
|
+
initialValue: false
|
|
417
|
+
});
|
|
418
|
+
if ((0, prompts_1.isCancel)(shouldSaveConfig)) {
|
|
419
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
420
|
+
return process.exit(0);
|
|
421
|
+
}
|
|
422
|
+
if (shouldSaveConfig) {
|
|
423
|
+
const name = yield (0, prompts_1.text)({
|
|
424
|
+
message: 'What do you want to name this configuration?',
|
|
425
|
+
placeholder: 'Default'
|
|
426
|
+
});
|
|
427
|
+
if ((0, prompts_1.isCancel)(name)) {
|
|
428
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
429
|
+
return process.exit(0);
|
|
430
|
+
}
|
|
431
|
+
yield (0, configStorage_1.saveConfig)({ name, cliResults });
|
|
432
|
+
}
|
|
433
|
+
return cliResults;
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
exports.runCLI = runCLI;
|
|
437
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNENBQXNGO0FBR3RGLHFDQUFpQztBQUNqQyw0Q0FBeUY7QUFjekYsbURBQTBEO0FBQzFELDJEQUFzRTtBQUV0RSwyR0FBMkc7QUFDM0csTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLENBQUMsYUFBYTtBQUU3QyxNQUFNLHNCQUFzQixHQUEyRDtJQUNyRixFQUFFLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7SUFDaEYsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLCtDQUErQyxFQUFFO0lBQzVGLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTtJQUNoRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7SUFDeEQsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO0lBQ3hGLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSw2Q0FBNkMsRUFBRTtDQUN6RixDQUFDO0FBRUYsU0FBUywrQkFBK0IsQ0FBQyxJQUEyQixFQUFFLFVBQXNCO0lBQzFGLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUNFLENBQUMsSUFBSSxLQUFLLDhCQUE4QixJQUFJLElBQUksS0FBSyxzQkFBc0IsQ0FBQztRQUM1RSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFF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
|
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.easConfigure = void 0;
|
|
13
|
+
const prompts_1 = require("@clack/prompts");
|
|
14
|
+
const systemCommand_1 = require("./systemCommand");
|
|
15
|
+
function easConfigure(cliResults, packageManager, toolbox) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const { print: { info, success, warning, error }, system } = toolbox;
|
|
18
|
+
if (cliResults.flags.noInstall) {
|
|
19
|
+
error('Eas configuration requires installing dependencies, please remove the --no-install flag and try again.');
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
const { projectName } = cliResults;
|
|
23
|
+
info('Configuring EAS...');
|
|
24
|
+
info(``);
|
|
25
|
+
const easOutput = yield system.spawn(`eas --version`);
|
|
26
|
+
if (easOutput === null || easOutput === void 0 ? void 0 : easOutput.error) {
|
|
27
|
+
warning('EAS CLI not found, to continue please install it globally');
|
|
28
|
+
info(``);
|
|
29
|
+
const shouldInstall = yield (0, prompts_1.confirm)({
|
|
30
|
+
message: `Install EAS CLI?`
|
|
31
|
+
});
|
|
32
|
+
info(``);
|
|
33
|
+
if ((0, prompts_1.isCancel)(shouldInstall)) {
|
|
34
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
35
|
+
return process.exit(0);
|
|
36
|
+
}
|
|
37
|
+
if (shouldInstall) {
|
|
38
|
+
let packageManagerToUse = packageManager;
|
|
39
|
+
// bun has no global install
|
|
40
|
+
if (packageManager === 'bun') {
|
|
41
|
+
const packageManagerToUseResult = yield (0, prompts_1.select)({
|
|
42
|
+
message: "We can't use bun to install global packages, please select a package manager to use:",
|
|
43
|
+
options: [
|
|
44
|
+
{ value: 'npm', label: 'npm' },
|
|
45
|
+
{ value: 'yarn', label: 'yarn' },
|
|
46
|
+
{ value: 'pnpm', label: 'pnpm' }
|
|
47
|
+
]
|
|
48
|
+
});
|
|
49
|
+
if ((0, prompts_1.isCancel)(packageManagerToUseResult)) {
|
|
50
|
+
(0, prompts_1.cancel)('Cancelled... 👋');
|
|
51
|
+
return process.exit(0);
|
|
52
|
+
}
|
|
53
|
+
packageManagerToUse = packageManagerToUseResult;
|
|
54
|
+
}
|
|
55
|
+
info(`We'll use ${packageManagerToUse} install -g eas-cli`);
|
|
56
|
+
info(``);
|
|
57
|
+
yield (0, systemCommand_1.runSystemCommand)({
|
|
58
|
+
command: `${packageManagerToUse} install -g eas-cli`,
|
|
59
|
+
toolbox,
|
|
60
|
+
errorMessage: 'Error installing EAS CLI',
|
|
61
|
+
stdio: undefined
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
yield (0, systemCommand_1.runSystemCommand)({
|
|
66
|
+
command: `cd ${projectName} && eas build:configure -p all`,
|
|
67
|
+
errorMessage: 'Error configuring EAS',
|
|
68
|
+
stdio: 'inherit',
|
|
69
|
+
toolbox
|
|
70
|
+
});
|
|
71
|
+
success('EAS configured!');
|
|
72
|
+
info(`Now we'll generate the native code for your project`);
|
|
73
|
+
yield (0, systemCommand_1.runSystemCommand)({
|
|
74
|
+
command: `cd ${projectName} && ${packageManager} run prebuild`,
|
|
75
|
+
errorMessage: 'Error generating native code',
|
|
76
|
+
stdio: 'inherit',
|
|
77
|
+
toolbox
|
|
78
|
+
});
|
|
79
|
+
success('Native code generated!');
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
exports.easConfigure = easConfigure;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuRWFzQ29uZmlndXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5FYXNDb25maWd1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsNENBQW1FO0FBRW5FLG1EQUFtRDtBQUVuRCxTQUFzQixZQUFZLENBQ2hDLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLE9BQWdCOztRQUVoQixNQUFNLEVBQ0osS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQ3hDLE1BQU0sRUFDUCxHQUFHLE9BQU8sQ0FBQztRQUVaLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsd0dBQXdHLENBQUMsQ0FBQztZQUVoSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBRW5DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNULE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV0RCxJQUFJLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxLQUFLLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsMkRBQTJELENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDVCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEsaUJBQU8sRUFBQztnQkFDbEMsT0FBTyxFQUFFLGtCQUFrQjthQUM1QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFVCxJQUFJLElBQUEsa0JBQVEsRUFBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFBLGdCQUFNLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7WUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLG1CQUFtQixHQUFHLGNBQWMsQ0FBQztnQkFFekMsNEJBQTRCO2dCQUM1QixJQUFJLGNBQWMsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDN0IsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLElBQUEsZ0JBQU0sRUFBQzt3QkFDN0MsT0FBTyxFQUFFLHNGQUFzRjt3QkFDL0YsT0FBTyxFQUFFOzRCQUNQLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFOzRCQUM5QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTs0QkFDaEMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7eUJBQ2pDO3FCQUNGLENBQUMsQ0FBQztvQkFFSCxJQUFJLElBQUEsa0JBQVEsRUFBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7d0JBQ3hDLElBQUEsZ0JBQU0sRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO3dCQUMxQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLENBQUM7b0JBRUQsbUJBQW1CLEdBQUcseUJBQTJDLENBQUM7Z0JBQ3BFLENBQUM7Z0JBRUQsSUFBSSxDQUFDLGFBQWEsbUJBQW1CLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFVCxNQUFNLElBQUEsZ0NBQWdCLEVBQUM7b0JBQ3JCLE9BQU8sRUFBRSxHQUFHLG1CQUFtQixxQkFBcUI7b0JBQ3BELE9BQU87b0JBQ1AsWUFBWSxFQUFFLDBCQUEwQjtvQkFDeEMsS0FBSyxFQUFFLFNBQVM7aUJBQ2pCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxJQUFBLGdDQUFnQixFQUFDO1lBQ3JCLE9BQU8sRUFBRSxNQUFNLFdBQVcsZ0NBQWdDO1lBQzFELFlBQVksRUFBRSx1QkFBdUI7WUFDckMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsT0FBTztTQUNSLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBRTVELE1BQU0sSUFBQSxnQ0FBZ0IsRUFBQztZQUNyQixPQUFPLEVBQUUsTUFBTSxXQUFXLE9BQU8sY0FBYyxlQUFlO1lBQzlELFlBQVksRUFBRSw4QkFBOEI7WUFDNUMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsT0FBTztTQUNSLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQXhGRCxvQ0F3RkMifQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.runIgnite = void 0;
|
|
13
|
+
const getPackageManager_1 = require("./getPackageManager");
|
|
14
|
+
function runIgnite(toolbox, projectName, cliResults) {
|
|
15
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
const { print: { success }, system } = toolbox;
|
|
17
|
+
const packageManager = (0, getPackageManager_1.getPackageManager)(toolbox, cliResults);
|
|
18
|
+
success('Running Ignite CLI to create an opinionated stack...');
|
|
19
|
+
yield system.spawn(`npx ignite-cli@$latest new ${projectName} --packager=${packageManager} --yes`, {
|
|
20
|
+
shell: true,
|
|
21
|
+
stdio: 'inherit'
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
exports.runIgnite = runIgnite;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuSWduaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5JZ25pdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsMkRBQXdEO0FBR3hELFNBQXNCLFNBQVMsQ0FBQyxPQUFnQixFQUFFLFdBQW1CLEVBQUUsVUFBc0I7O1FBQzNGLE1BQU0sRUFDSixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFDbEIsTUFBTSxFQUNQLEdBQUcsT0FBTyxDQUFDO1FBRVosTUFBTSxjQUFjLEdBQUcsSUFBQSxxQ0FBaUIsRUFBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFOUQsT0FBTyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDaEUsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixXQUFXLGVBQWUsY0FBYyxRQUFRLEVBQUU7WUFDakcsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQUE7QUFiRCw4QkFhQyJ9
|