Skip to content

Commit e698d44

Browse files
committed
refactor: tweak the question for package type
1 parent b6e3888 commit e698d44

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

src/create.ts

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ export default async function create(argv: yargs.Arguments<any>) {
5656
authorEmail,
5757
authorUrl,
5858
githubUrl: repo,
59-
native,
60-
cpp,
59+
type,
6160
} = (await inquirer.prompt([
6261
{
6362
type: 'input',
@@ -126,17 +125,18 @@ export default async function create(argv: yargs.Arguments<any>) {
126125
validate: (input) => /^https?:\/\//.test(input) || 'Must be a valid URL',
127126
},
128127
{
129-
type: 'confirm',
130-
name: 'native',
131-
message: 'Do you want to use Java or Objective-C code?',
132-
default: true,
133-
},
134-
{
135-
type: 'confirm',
136-
name: 'cpp',
137-
message: 'Do you want to use C++ code?',
138-
default: false,
139-
when: (response) => response.native,
128+
type: 'list',
129+
name: 'type',
130+
message: 'What type of package do you want to develop?',
131+
choices: [
132+
{ name: 'Native module in Kotlin and Objective-C', value: 'native' },
133+
{ name: 'Native module with C++ code', value: 'cpp' },
134+
{
135+
name: 'JavaScript module with Web support using Expo',
136+
value: 'expo',
137+
},
138+
],
139+
default: 'native',
140140
},
141141
])) as {
142142
slug: string;
@@ -145,8 +145,7 @@ export default async function create(argv: yargs.Arguments<any>) {
145145
authorEmail: string;
146146
authorUrl: string;
147147
githubUrl: string;
148-
native: boolean;
149-
cpp: boolean;
148+
type: 'native' | 'cpp' | 'expo';
150149
};
151150

152151
const project = slug.replace(/^(react-native-|@[^/]+\/)/, '');
@@ -165,8 +164,8 @@ export default async function create(argv: yargs.Arguments<any>) {
165164
.slice(1)}`,
166165
package: slug.replace(/[^a-z0-9]/g, '').toLowerCase(),
167166
podspec: slug.replace(/[^a-z0-9]+/g, '-').replace(/^-/, ''),
168-
native,
169-
cpp,
167+
native: type === 'native' || type === 'cpp',
168+
cpp: type === 'cpp',
170169
},
171170
author: {
172171
name: authorName,
@@ -201,16 +200,16 @@ export default async function create(argv: yargs.Arguments<any>) {
201200

202201
await copyDir(COMMON_FILES, folder);
203202

204-
if (native) {
205-
await copyDir(NATIVE_FILES, folder);
206-
} else {
203+
if (type === 'expo') {
207204
await copyDir(EXPO_FILES, folder);
208-
}
209-
210-
if (cpp) {
211-
await copyDir(CPP_FILES, folder);
212205
} else {
213-
await copyDir(OBJC_FILES, folder);
206+
await copyDir(NATIVE_FILES, folder);
207+
208+
if (type === 'cpp') {
209+
await copyDir(CPP_FILES, folder);
210+
} else {
211+
await copyDir(OBJC_FILES, folder);
212+
}
214213
}
215214

216215
try {
@@ -226,7 +225,7 @@ export default async function create(argv: yargs.Arguments<any>) {
226225
const platforms = {
227226
ios: { name: 'iOS', color: 'cyan' },
228227
android: { name: 'Android', color: 'green' },
229-
...(native ? null : { web: { name: 'Web', color: 'blue' } }),
228+
...(type === 'expo' ? { web: { name: 'Web', color: 'blue' } } : null),
230229
};
231230

232231
console.log(

0 commit comments

Comments
 (0)