Skip to content

Commit cf0f602

Browse files
committed
separate local and nonlocal next steps
1 parent 476b394 commit cf0f602

File tree

2 files changed

+71
-58
lines changed

2 files changed

+71
-58
lines changed

packages/create-react-native-library/src/index.ts

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import yargs from 'yargs';
66
import { addCodegenBuildScript } from './exampleApp/addCodegenBuildScript';
77
import { alignDependencyVersionsWithExampleApp } from './exampleApp/dependencies';
88
import generateExampleApp from './exampleApp/generateExampleApp';
9-
import { printErrorHelp, printNextSteps, printUsedRNVersion } from './inform';
9+
import {
10+
printErrorHelp,
11+
printLocalLibNextSteps,
12+
printNonLocalLibNextSteps,
13+
printUsedRNVersion,
14+
} from './inform';
1015
import {
1116
acceptedArgs,
1217
createMetadata,
@@ -149,33 +154,43 @@ async function create(_argv: yargs.Arguments<Args>) {
149154
spaces: 2,
150155
});
151156

157+
const printSuccessMessage = () =>
158+
spinner.succeed(
159+
`Project created successfully at ${kleur.yellow(
160+
path.relative(process.cwd(), folder)
161+
)}!\n`
162+
);
163+
164+
if (!local) {
165+
await createInitialGitCommit(folder);
166+
167+
printSuccessMessage();
168+
169+
printNonLocalLibNextSteps(config);
170+
return;
171+
}
172+
152173
const packageManager = await determinePackageManager();
153174

154175
let addedNitro = false;
155-
let linkedLocalLibrary = false;
156-
if (local) {
157-
if (config.project.moduleConfig === 'nitro-modules') {
158-
addedNitro = await addNitroDependencyToLocalLibrary(config);
159-
}
160-
161-
linkedLocalLibrary = await linkLocalLibrary(config, folder, packageManager);
162-
} else {
163-
await createInitialGitCommit(folder);
176+
if (config.project.moduleConfig === 'nitro-modules') {
177+
addedNitro = await addNitroDependencyToLocalLibrary(config);
164178
}
165179

166-
spinner.succeed(
167-
`Project created successfully at ${kleur.yellow(
168-
path.relative(process.cwd(), folder)
169-
)}!\n`
180+
const linkedLocalLibrary = await linkLocalLibrary(
181+
config,
182+
folder,
183+
packageManager
170184
);
171185

172-
await printNextSteps({
173-
local,
174-
folder,
186+
printSuccessMessage();
187+
188+
printLocalLibNextSteps({
175189
config,
176190
packageManager,
177-
addedNitro,
178191
linkedLocalLibrary,
192+
addedNitro,
193+
folder,
179194
});
180195
}
181196

packages/create-react-native-library/src/inform.ts

Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,55 @@ import dedent from 'dedent';
33
import type { TemplateConfiguration } from './template';
44
import kleur from 'kleur';
55

6-
export async function printNextSteps({
7-
local,
6+
export function printNonLocalLibNextSteps(config: TemplateConfiguration) {
7+
const platforms = {
8+
ios: { name: 'iOS', color: 'cyan' },
9+
android: { name: 'Android', color: 'green' },
10+
...(config.example === 'expo'
11+
? ({ web: { name: 'Web', color: 'blue' } } as const)
12+
: null),
13+
} as const;
14+
15+
console.log(
16+
dedent(`
17+
${kleur.magenta(
18+
`${kleur.bold('Get started')} with the project`
19+
)}${kleur.gray(':')}
20+
21+
${kleur.gray('$')} yarn
22+
${Object.entries(platforms)
23+
.map(
24+
([script, { name, color }]) => `
25+
${kleur[color](`Run the example app on ${kleur.bold(name)}`)}${kleur.gray(
26+
':'
27+
)}
28+
29+
${kleur.gray('$')} yarn example ${script}`
30+
)
31+
.join('\n')}
32+
33+
${kleur.yellow(
34+
`See ${kleur.bold('CONTRIBUTING.md')} for more details. Good luck!`
35+
)}
36+
`)
37+
);
38+
}
39+
40+
export function printLocalLibNextSteps({
841
folder,
942
config,
1043
linkedLocalLibrary,
1144
addedNitro,
1245
packageManager,
1346
}: {
14-
local: boolean;
1547
folder: string;
1648
config: TemplateConfiguration;
1749
linkedLocalLibrary: boolean;
1850
addedNitro: boolean;
1951
packageManager: string;
2052
}) {
21-
if (local) {
22-
console.log(
23-
dedent(`
53+
console.log(
54+
dedent(`
2455
${kleur.magenta(
2556
`${kleur.bold('Get started')} with the project`
2657
)}${kleur.gray(':')}
@@ -51,40 +82,7 @@ export async function printNextSteps({
5182
5283
${kleur.yellow(`Good luck!`)}
5384
`)
54-
);
55-
} else {
56-
const platforms = {
57-
ios: { name: 'iOS', color: 'cyan' },
58-
android: { name: 'Android', color: 'green' },
59-
...(config.example === 'expo'
60-
? ({ web: { name: 'Web', color: 'blue' } } as const)
61-
: null),
62-
} as const;
63-
64-
console.log(
65-
dedent(`
66-
${kleur.magenta(
67-
`${kleur.bold('Get started')} with the project`
68-
)}${kleur.gray(':')}
69-
70-
${kleur.gray('$')} yarn
71-
${Object.entries(platforms)
72-
.map(
73-
([script, { name, color }]) => `
74-
${kleur[color](`Run the example app on ${kleur.bold(name)}`)}${kleur.gray(
75-
':'
76-
)}
77-
78-
${kleur.gray('$')} yarn example ${script}`
79-
)
80-
.join('\n')}
81-
82-
${kleur.yellow(
83-
`See ${kleur.bold('CONTRIBUTING.md')} for more details. Good luck!`
84-
)}
85-
`)
86-
);
87-
}
85+
);
8886
}
8987

9088
export function printErrorHelp(message: string, error: Error) {

0 commit comments

Comments
 (0)