@@ -42,6 +42,8 @@ export default async function create(argv: yargs.Arguments<any>) {
42
42
// Ignore error
43
43
}
44
44
45
+ const basename = path . basename ( argv . name ) ;
46
+
45
47
const {
46
48
slug,
47
49
description,
@@ -53,9 +55,15 @@ export default async function create(argv: yargs.Arguments<any>) {
53
55
{
54
56
type : 'input' ,
55
57
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
+ ? / ^ ( @ | r e a c t - n a t i v e ) / . 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' ,
59
67
} ,
60
68
{
61
69
type : 'input' ,
@@ -75,7 +83,8 @@ export default async function create(argv: yargs.Arguments<any>) {
75
83
name : 'authorEmail' ,
76
84
message : 'What is the email address for the package author?' ,
77
85
default : email ,
78
- validate : input => input . includes ( '@' ) ,
86
+ validate : input =>
87
+ / ^ \S + @ \S + $ / . test ( input ) || 'Must be a valid email address' ,
79
88
} ,
80
89
{
81
90
type : 'input' ,
@@ -92,7 +101,7 @@ export default async function create(argv: yargs.Arguments<any>) {
92
101
93
102
return undefined ;
94
103
} ,
95
- validate : input => / ^ h t t p s ? : \/ \/ / . test ( input ) ,
104
+ validate : input => / ^ h t t p s ? : \/ \/ / . test ( input ) || 'Must be a valid URL' ,
96
105
} ,
97
106
{
98
107
type : 'input' ,
@@ -107,7 +116,7 @@ export default async function create(argv: yargs.Arguments<any>) {
107
116
108
117
return undefined ;
109
118
} ,
110
- validate : input => / ^ h t t p s ? : \/ \/ / . test ( input ) ,
119
+ validate : input => / ^ h t t p s ? : \/ \/ / . test ( input ) || 'Must be a valid URL' ,
111
120
} ,
112
121
] ) ) as {
113
122
slug : string ;
0 commit comments