Skip to content

Commit 61fa608

Browse files
committed
fix: prefix package name with react-native by default
1 parent f9e2fed commit 61fa608

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/create.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ export default async function create(argv: yargs.Arguments<any>) {
4242
// Ignore error
4343
}
4444

45+
const basename = path.basename(argv.name);
46+
4547
const {
4648
slug,
4749
description,
@@ -53,9 +55,15 @@ export default async function create(argv: yargs.Arguments<any>) {
5355
{
5456
type: 'input',
5557
name: 'slug',
56-
message: "What is the name of the package? (e.g. 'react-native-magic')",
57-
default: path.basename(argv.name),
58-
validate: input => validateNpmPackage(input).validForNewPackages,
58+
message: 'What is the name of the npm package?',
59+
default: validateNpmPackage(basename).validForNewPackages
60+
? /^(@|react-native)/.test(basename)
61+
? basename
62+
: `react-native-${basename}`
63+
: undefined,
64+
validate: input =>
65+
validateNpmPackage(input).validForNewPackages ||
66+
'Must be a valid npm package name',
5967
},
6068
{
6169
type: 'input',
@@ -75,7 +83,8 @@ export default async function create(argv: yargs.Arguments<any>) {
7583
name: 'authorEmail',
7684
message: 'What is the email address for the package author?',
7785
default: email,
78-
validate: input => input.includes('@'),
86+
validate: input =>
87+
/^\S+@\S+$/.test(input) || 'Must be a valid email address',
7988
},
8089
{
8190
type: 'input',
@@ -92,7 +101,7 @@ export default async function create(argv: yargs.Arguments<any>) {
92101

93102
return undefined;
94103
},
95-
validate: input => /^https?:\/\//.test(input),
104+
validate: input => /^https?:\/\//.test(input) || 'Must be a valid URL',
96105
},
97106
{
98107
type: 'input',
@@ -107,7 +116,7 @@ export default async function create(argv: yargs.Arguments<any>) {
107116

108117
return undefined;
109118
},
110-
validate: input => /^https?:\/\//.test(input),
119+
validate: input => /^https?:\/\//.test(input) || 'Must be a valid URL',
111120
},
112121
])) as {
113122
slug: string;

0 commit comments

Comments
 (0)