@@ -33,6 +33,7 @@ async function ask() {
33
33
} ) ;
34
34
35
35
let specFileName ;
36
+ let defaultSpecVersion ;
36
37
if ( haveSpec ) {
37
38
specFileName = ( await prompt ( {
38
39
type : 'input' ,
@@ -42,6 +43,19 @@ async function ask() {
42
43
return validateSpecFileName ( fileName ) ;
43
44
}
44
45
} ) ) . specFileName ;
46
+ } else {
47
+ defaultSpecVersion =
48
+ ( await prompt ( {
49
+ type : 'list' ,
50
+ choices : [ 'OpenAPI 3' , 'OpenAPI 2' ] ,
51
+ name : 'version' ,
52
+ message : 'Select OpenAPI version:' ,
53
+ validate ( fileName ) {
54
+ return validateSpecFileName ( fileName ) ;
55
+ }
56
+ } ) ) . version === 'OpenAPI 3'
57
+ ? '3.0.0'
58
+ : '2.0' ;
45
59
}
46
60
47
61
let spec ;
@@ -107,7 +121,8 @@ async function ask() {
107
121
codeSamples,
108
122
swaggerUI,
109
123
travis,
110
- repo
124
+ repo,
125
+ oasVersion : ( defaultSpecVersion || spec . openapi || spec . swagger ) . toString ( )
111
126
} ;
112
127
}
113
128
@@ -177,7 +192,9 @@ Choose another directory or remove contents.
177
192
178
193
let { specFileName } = opts ;
179
194
if ( ! specFileName ) {
180
- specFileName = require . resolve ( 'openapi-template' ) ;
195
+ specFileName = require . resolve (
196
+ opts . oasVersion . startsWith ( '3.' ) ? 'openapi-template/openapi.yaml' : 'openapi-template'
197
+ ) ;
181
198
}
182
199
183
200
process . chdir ( specRoot ) ;
@@ -190,7 +207,11 @@ Choose another directory or remove contents.
190
207
await copy ( 'spec/README.md' ) ;
191
208
192
209
if ( opts . splitSpec ) {
193
- copyDirSync ( 'spec/definitions' ) ;
210
+ if ( opts . oasVersion . startsWith ( '3.' ) ) {
211
+ copyDirSync ( 'spec/components' ) ;
212
+ } else {
213
+ copyDirSync ( 'spec/definitions' ) ;
214
+ }
194
215
copyDirSync ( 'spec/paths' ) ;
195
216
}
196
217
@@ -210,7 +231,7 @@ Choose another directory or remove contents.
210
231
211
232
console . log ( 'Installing packages. This might take a couple of minutes.\n' ) ;
212
233
213
- await installDeps ( '@^2.0.0-rc.2 ' ) ;
234
+ await installDeps ( '@^2.0.0-rc.3 ' ) ;
214
235
console . log ( ) ;
215
236
216
237
try {
0 commit comments