Skip to content

Commit 82175d5

Browse files
committed
OpenAPI 3 support
1 parent 54ed706 commit 82175d5

File tree

4 files changed

+495
-24
lines changed

4 files changed

+495
-24
lines changed

Diff for: cli.js

+25-4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ async function ask() {
3333
});
3434

3535
let specFileName;
36+
let defaultSpecVersion;
3637
if (haveSpec) {
3738
specFileName = (await prompt({
3839
type: 'input',
@@ -42,6 +43,19 @@ async function ask() {
4243
return validateSpecFileName(fileName);
4344
}
4445
})).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';
4559
}
4660

4761
let spec;
@@ -107,7 +121,8 @@ async function ask() {
107121
codeSamples,
108122
swaggerUI,
109123
travis,
110-
repo
124+
repo,
125+
oasVersion: (defaultSpecVersion || spec.openapi || spec.swagger).toString()
111126
};
112127
}
113128

@@ -177,7 +192,9 @@ Choose another directory or remove contents.
177192

178193
let { specFileName } = opts;
179194
if (!specFileName) {
180-
specFileName = require.resolve('openapi-template');
195+
specFileName = require.resolve(
196+
opts.oasVersion.startsWith('3.') ? 'openapi-template/openapi.yaml' : 'openapi-template'
197+
);
181198
}
182199

183200
process.chdir(specRoot);
@@ -190,7 +207,11 @@ Choose another directory or remove contents.
190207
await copy('spec/README.md');
191208

192209
if (opts.splitSpec) {
193-
copyDirSync('spec/definitions');
210+
if (opts.oasVersion.startsWith('3.')) {
211+
copyDirSync('spec/components');
212+
} else {
213+
copyDirSync('spec/definitions');
214+
}
194215
copyDirSync('spec/paths');
195216
}
196217

@@ -210,7 +231,7 @@ Choose another directory or remove contents.
210231

211232
console.log('Installing packages. This might take a couple of minutes.\n');
212233

213-
await installDeps('@^2.0.0-rc.2');
234+
await installDeps('@^2.0.0-rc.3');
214235
console.log();
215236

216237
try {

0 commit comments

Comments
 (0)