api 7.0.0-beta.1 → 7.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/dist/bin.js +8 -1
- package/dist/bin.js.map +1 -1
- package/dist/codegen/codegenerator.d.ts +36 -1
- package/dist/codegen/codegenerator.d.ts.map +1 -1
- package/dist/codegen/codegenerator.js +66 -0
- package/dist/codegen/codegenerator.js.map +1 -1
- package/dist/codegen/factory.js.map +1 -1
- package/dist/codegen/languages/typescript/index.d.ts +32 -4
- package/dist/codegen/languages/typescript/index.d.ts.map +1 -1
- package/dist/codegen/languages/typescript/index.js +222 -62
- package/dist/codegen/languages/typescript/index.js.map +1 -1
- package/dist/codegen/languages/typescript/util.d.ts.map +1 -1
- package/dist/codegen/languages/typescript/util.js +1 -3
- package/dist/codegen/languages/typescript/util.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +67 -54
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +7 -10
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/fetcher.d.ts +17 -17
- package/dist/fetcher.d.ts.map +1 -1
- package/dist/fetcher.js +7 -1
- package/dist/fetcher.js.map +1 -1
- package/dist/lib/isCI.d.ts +8 -0
- package/dist/lib/isCI.d.ts.map +1 -0
- package/dist/lib/isCI.js +18 -0
- package/dist/lib/isCI.js.map +1 -0
- package/dist/lib/prompt.d.ts +1 -1
- package/dist/lib/prompt.d.ts.map +1 -1
- package/dist/lib/prompt.js +33 -8
- package/dist/lib/prompt.js.map +1 -1
- package/dist/lib/suggestedOperations.d.ts +31 -0
- package/dist/lib/suggestedOperations.d.ts.map +1 -0
- package/dist/lib/suggestedOperations.js +108 -0
- package/dist/lib/suggestedOperations.js.map +1 -0
- package/dist/lockfileSchema.d.ts +1 -1
- package/dist/lockfileSchema.d.ts.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +5 -1
- package/dist/logger.js.map +1 -1
- package/dist/packageInfo.d.ts +1 -1
- package/dist/packageInfo.d.ts.map +1 -1
- package/dist/packageInfo.js +1 -1
- package/dist/packageInfo.js.map +1 -1
- package/dist/storage.d.ts +8 -6
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +28 -6
- package/dist/storage.js.map +1 -1
- package/legacy-require-handler.cjs +29 -0
- package/legacy-require-handler.d.cts +2 -0
- package/package.json +44 -37
package/dist/commands/install.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
1
2
|
import { Command, Option } from 'commander';
|
|
3
|
+
import { createEmphasize, common } from 'emphasize';
|
|
2
4
|
import figures from 'figures';
|
|
3
5
|
import Oas from 'oas';
|
|
4
6
|
import ora from 'ora';
|
|
@@ -6,18 +8,10 @@ import uslug from 'uslug';
|
|
|
6
8
|
import { SupportedLanguages, codegenFactory } from '../codegen/factory.js';
|
|
7
9
|
import Fetcher from '../fetcher.js';
|
|
8
10
|
import promptTerminal from '../lib/prompt.js';
|
|
9
|
-
import logger from '../logger.js';
|
|
11
|
+
import logger, { oraOptions } from '../logger.js';
|
|
10
12
|
import Storage from '../storage.js';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
cmd
|
|
14
|
-
.name('install')
|
|
15
|
-
.description('install an API SDK into your codebase')
|
|
16
|
-
.argument('<uri>', 'an API to install')
|
|
17
|
-
.option('-i, --identifier <identifier>', 'API identifier (eg. `@api/petstore`)')
|
|
18
|
-
.addOption(new Option('-l, --lang <language>', 'SDK language').default(SupportedLanguages.JS).choices([SupportedLanguages.JS]))
|
|
19
|
-
.addOption(new Option('-y, --yes', 'Automatically answer "yes" to any prompts printed'))
|
|
20
|
-
.action(async (uri, options) => {
|
|
13
|
+
const { highlight } = createEmphasize(common);
|
|
14
|
+
async function getLanguage(options) {
|
|
21
15
|
let language;
|
|
22
16
|
if (options.lang) {
|
|
23
17
|
language = options.lang;
|
|
@@ -31,32 +25,9 @@ cmd
|
|
|
31
25
|
initial: 1,
|
|
32
26
|
}));
|
|
33
27
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (Storage.isInLockFile({ source: uri })) {
|
|
38
|
-
// @todo
|
|
39
|
-
// logger(`It looks like you already have this API installed. Would you like to update it?`);
|
|
40
|
-
}
|
|
41
|
-
let spinner = ora('Fetching your API definition').start();
|
|
42
|
-
const storage = new Storage(uri, language);
|
|
43
|
-
const oas = await storage
|
|
44
|
-
.load(false)
|
|
45
|
-
.then(res => {
|
|
46
|
-
spinner.succeed(spinner.text);
|
|
47
|
-
return res;
|
|
48
|
-
})
|
|
49
|
-
.then(Oas.init)
|
|
50
|
-
.then(async (spec) => {
|
|
51
|
-
await spec.dereference({ preserveRefAsJSONSchemaTitle: true });
|
|
52
|
-
return spec;
|
|
53
|
-
})
|
|
54
|
-
.catch(err => {
|
|
55
|
-
// @todo cleanup installed files
|
|
56
|
-
spinner.fail(spinner.text);
|
|
57
|
-
logger(err.message, true);
|
|
58
|
-
process.exit(1);
|
|
59
|
-
});
|
|
28
|
+
return language;
|
|
29
|
+
}
|
|
30
|
+
async function getIdentifier(oas, uri, options) {
|
|
60
31
|
let identifier;
|
|
61
32
|
if (options.identifier) {
|
|
62
33
|
// `Storage.isIdentifierValid` will throw an exception if an identifier is invalid.
|
|
@@ -86,16 +57,54 @@ cmd
|
|
|
86
57
|
},
|
|
87
58
|
}));
|
|
88
59
|
}
|
|
60
|
+
return identifier;
|
|
61
|
+
}
|
|
62
|
+
// @todo log logs to `.api/.logs` and have `.logs` ignored
|
|
63
|
+
const cmd = new Command();
|
|
64
|
+
cmd
|
|
65
|
+
.name('install')
|
|
66
|
+
.description('install an API SDK into your codebase')
|
|
67
|
+
.argument('<uri>', 'an API to install')
|
|
68
|
+
.option('-i, --identifier <identifier>', 'API identifier (eg. `@api/petstore`)')
|
|
69
|
+
.addOption(new Option('-l, --lang <language>', 'SDK language').default(SupportedLanguages.JS).choices([SupportedLanguages.JS]))
|
|
70
|
+
.addOption(new Option('-y, --yes', 'Automatically answer "yes" to any prompts printed'))
|
|
71
|
+
.action(async (uri, options) => {
|
|
72
|
+
const language = await getLanguage(options);
|
|
73
|
+
// @todo let them know that we're going to be creating a `.api/ directory
|
|
74
|
+
// @todo detect if they have a gitigore and .npmignore and if .api woudl be ignored by that
|
|
75
|
+
// @todo don't support swagger files without upconverting them
|
|
76
|
+
if (Storage.isInLockFile({ source: uri })) {
|
|
77
|
+
// @todo
|
|
78
|
+
// logger(`It looks like you already have this API installed. Would you like to update it?`);
|
|
79
|
+
}
|
|
80
|
+
let spinner = ora({ text: 'Fetching your API definition', ...oraOptions() }).start();
|
|
81
|
+
const storage = new Storage(uri, language);
|
|
82
|
+
const oas = await storage
|
|
83
|
+
.load(false)
|
|
84
|
+
.then(res => {
|
|
85
|
+
spinner.succeed(spinner.text);
|
|
86
|
+
return res;
|
|
87
|
+
})
|
|
88
|
+
.then(Oas.init)
|
|
89
|
+
.then(async (spec) => {
|
|
90
|
+
await spec.dereference({ preserveRefAsJSONSchemaTitle: true });
|
|
91
|
+
return spec;
|
|
92
|
+
})
|
|
93
|
+
.catch(err => {
|
|
94
|
+
// @todo cleanup installed files
|
|
95
|
+
spinner.fail(spinner.text);
|
|
96
|
+
throw err;
|
|
97
|
+
});
|
|
98
|
+
const identifier = await getIdentifier(oas, uri, options);
|
|
89
99
|
if (!identifier) {
|
|
90
|
-
|
|
91
|
-
process.exit(1);
|
|
100
|
+
throw new Error('You must tell us what you would like to identify this API as in order to install it.');
|
|
92
101
|
}
|
|
93
102
|
// Now that we've got an identifier we can save their spec and generate the directory structure
|
|
94
103
|
// for their SDK.
|
|
95
104
|
storage.setIdentifier(identifier);
|
|
96
105
|
await storage.save(oas.api);
|
|
97
106
|
// @todo look for a prettier config and if we find one ask them if we should use it
|
|
98
|
-
spinner = ora('Generating your SDK').start();
|
|
107
|
+
spinner = ora({ text: 'Generating your SDK', ...oraOptions() }).start();
|
|
99
108
|
const generator = codegenFactory(language, oas, '../openapi.json', identifier);
|
|
100
109
|
const sdkSource = await generator
|
|
101
110
|
.generate()
|
|
@@ -106,10 +115,9 @@ cmd
|
|
|
106
115
|
.catch(err => {
|
|
107
116
|
// @todo cleanup installed files
|
|
108
117
|
spinner.fail(spinner.text);
|
|
109
|
-
|
|
110
|
-
process.exit(1);
|
|
118
|
+
throw err;
|
|
111
119
|
});
|
|
112
|
-
spinner = ora('Saving your SDK into your codebase').start();
|
|
120
|
+
spinner = ora({ text: 'Saving your SDK into your codebase', ...oraOptions() }).start();
|
|
113
121
|
await storage
|
|
114
122
|
.saveSourceFiles(sdkSource)
|
|
115
123
|
.then(() => {
|
|
@@ -118,8 +126,7 @@ cmd
|
|
|
118
126
|
.catch(err => {
|
|
119
127
|
// @todo cleanup installed files
|
|
120
128
|
spinner.fail(spinner.text);
|
|
121
|
-
|
|
122
|
-
process.exit(1);
|
|
129
|
+
throw err;
|
|
123
130
|
});
|
|
124
131
|
if (generator.hasRequiredPackages()) {
|
|
125
132
|
logger(`${figures.warning} This generator requires some packages to be installed alongside it:`);
|
|
@@ -139,12 +146,11 @@ cmd
|
|
|
139
146
|
}).then(({ value }) => {
|
|
140
147
|
if (!value) {
|
|
141
148
|
// @todo cleanup installed files
|
|
142
|
-
|
|
143
|
-
process.exit(1);
|
|
149
|
+
throw new Error('Installation cancelled.');
|
|
144
150
|
}
|
|
145
151
|
});
|
|
146
152
|
}
|
|
147
|
-
spinner = ora('Installing required packages').start();
|
|
153
|
+
spinner = ora({ text: 'Installing required packages', ...oraOptions() }).start();
|
|
148
154
|
try {
|
|
149
155
|
await generator.install(storage);
|
|
150
156
|
spinner.succeed(spinner.text);
|
|
@@ -152,11 +158,10 @@ cmd
|
|
|
152
158
|
catch (err) {
|
|
153
159
|
// @todo cleanup installed files
|
|
154
160
|
spinner.fail(spinner.text);
|
|
155
|
-
|
|
156
|
-
process.exit(1);
|
|
161
|
+
throw err;
|
|
157
162
|
}
|
|
158
163
|
}
|
|
159
|
-
spinner = ora('Compiling your SDK').start();
|
|
164
|
+
spinner = ora({ text: 'Compiling your SDK', ...oraOptions() }).start();
|
|
160
165
|
try {
|
|
161
166
|
await generator.compile(storage);
|
|
162
167
|
spinner.succeed(spinner.text);
|
|
@@ -164,10 +169,18 @@ cmd
|
|
|
164
169
|
catch (err) {
|
|
165
170
|
// @todo cleanup installed files
|
|
166
171
|
spinner.fail(spinner.text);
|
|
167
|
-
|
|
168
|
-
|
|
172
|
+
throw err;
|
|
173
|
+
}
|
|
174
|
+
logger('');
|
|
175
|
+
logger(`🚀 All done! Your SDK is now available to use locally via the ${chalk.yellow(storage.getPackageName())} package.`);
|
|
176
|
+
const exampleSnippet = await generator.getExampleCodeSnippet();
|
|
177
|
+
if (exampleSnippet) {
|
|
178
|
+
logger('');
|
|
179
|
+
logger(chalk.bold("👇 Here's an example code snippet you can try out 👇"));
|
|
180
|
+
logger('');
|
|
181
|
+
logger(highlight(language, exampleSnippet).value);
|
|
169
182
|
}
|
|
170
|
-
logger('
|
|
183
|
+
logger('');
|
|
171
184
|
})
|
|
172
185
|
.addHelpText('after', `
|
|
173
186
|
Examples:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,MAAM,CAAC;KACZ,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,qEAAqE;IACrE,OAAO,CAAC,aAAa,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,MAAM,CAAC;KACZ,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,qEAAqE;IACrE,OAAO,CAAC,aAAa,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,CAAC,CAAC;QACb,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAY5C,QAAA,MAAM,GAAG,SAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAY5C,QAAA,MAAM,GAAG,SAAgB,CAAC;AA0E1B,eAAe,GAAG,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { Command, Option } from 'commander';
|
|
|
4
4
|
import ora from 'ora';
|
|
5
5
|
import { SupportedLanguages, uninstallerFactory } from '../codegen/factory.js';
|
|
6
6
|
import promptTerminal from '../lib/prompt.js';
|
|
7
|
-
import logger from '../logger.js';
|
|
7
|
+
import logger, { oraOptions } from '../logger.js';
|
|
8
8
|
import Storage from '../storage.js';
|
|
9
9
|
const cmd = new Command();
|
|
10
10
|
cmd
|
|
@@ -18,8 +18,7 @@ cmd
|
|
|
18
18
|
const storage = new Storage('', SupportedLanguages.JS, identifier);
|
|
19
19
|
const entry = Storage.getFromLockfile(identifier);
|
|
20
20
|
if (!entry) {
|
|
21
|
-
|
|
22
|
-
process.exit(1);
|
|
21
|
+
throw new Error(`You do not appear to have ${identifier} installed. You can run \`npx api list\` to see what SDKs are present.`);
|
|
23
22
|
}
|
|
24
23
|
storage.setLanguage(entry?.language);
|
|
25
24
|
storage.setIdentifier(identifier);
|
|
@@ -32,11 +31,11 @@ cmd
|
|
|
32
31
|
initial: true,
|
|
33
32
|
}).then(({ value }) => {
|
|
34
33
|
if (!value) {
|
|
35
|
-
|
|
34
|
+
throw new Error('Uninstallation cancelled.');
|
|
36
35
|
}
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
|
-
let spinner = ora(`Uninstalling ${chalk.grey(identifier)}
|
|
38
|
+
let spinner = ora({ text: `Uninstalling ${chalk.grey(identifier)}`, ...oraOptions() }).start();
|
|
40
39
|
// If we have a known package name for this then we can uninstall it from within cooresponding
|
|
41
40
|
// package manager.
|
|
42
41
|
const pkgName = storage.getPackageName();
|
|
@@ -48,11 +47,10 @@ cmd
|
|
|
48
47
|
})
|
|
49
48
|
.catch(err => {
|
|
50
49
|
spinner.fail(spinner.text);
|
|
51
|
-
|
|
52
|
-
process.exit(1);
|
|
50
|
+
throw err;
|
|
53
51
|
});
|
|
54
52
|
}
|
|
55
|
-
spinner = ora(`Removing ${chalk.grey(directory)}
|
|
53
|
+
spinner = ora({ text: `Removing ${chalk.grey(directory)}`, ...oraOptions() }).start();
|
|
56
54
|
await storage
|
|
57
55
|
.remove()
|
|
58
56
|
.then(() => {
|
|
@@ -60,8 +58,7 @@ cmd
|
|
|
60
58
|
})
|
|
61
59
|
.catch(err => {
|
|
62
60
|
spinner.fail(spinner.text);
|
|
63
|
-
|
|
64
|
-
process.exit(1);
|
|
61
|
+
throw err;
|
|
65
62
|
});
|
|
66
63
|
logger('🚀 All done!');
|
|
67
64
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,OAAO,MAAM,eAAe,CAAC;AAMpC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;KAChD,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC,CAAC;KACvF,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAgB,EAAE,EAAE;IACrD,+FAA+F;IAC/F,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,wEAAwE,CAChH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,cAAc,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,sCAAsC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,0BAA0B,KAAK,CAAC,MAAM,CAC3G,SAAS,CACV,iEAAiE;YAClE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/F,8FAA8F;IAC9F,mBAAmB;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;aACxC,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtF,MAAM,OAAO;SACV,MAAM,EAAE;SACR,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IAEL,MAAM,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC,CAAC;KACD,WAAW,CACV,OAAO,EACP;;+BAE2B,CAC5B,CAAC;AAEJ,eAAe,GAAG,CAAC"}
|
package/dist/fetcher.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { OASDocument } from 'oas/
|
|
1
|
+
import type { OASDocument } from 'oas/types';
|
|
2
2
|
export default class Fetcher {
|
|
3
|
-
uri:
|
|
3
|
+
uri: OASDocument | string;
|
|
4
4
|
/**
|
|
5
5
|
* @note This regex also exists in `httpsnippet-client-api`.
|
|
6
6
|
*
|
|
@@ -8,50 +8,50 @@ export default class Fetcher {
|
|
|
8
8
|
* @example @petstore#n6kvf10vakpemvplx
|
|
9
9
|
*/
|
|
10
10
|
static registryUUIDRegex: RegExp;
|
|
11
|
-
constructor(uri:
|
|
11
|
+
constructor(uri: OASDocument | string);
|
|
12
12
|
static isAPIRegistryUUID(uri: string): boolean;
|
|
13
13
|
static isGitHubBlobURL(uri: string): boolean;
|
|
14
14
|
/**
|
|
15
15
|
* @note This function also exists in `httpsnippet-client-api`.
|
|
16
16
|
*/
|
|
17
17
|
static getProjectPrefixFromRegistryUUID(uri: string): string | undefined;
|
|
18
|
-
load(): Promise<(
|
|
18
|
+
load(): Promise<(Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
|
|
19
19
|
info: import("openapi-types").OpenAPIV3_1.InfoObject;
|
|
20
|
-
jsonSchemaDialect?: string
|
|
21
|
-
servers?: import("openapi-types").OpenAPIV3_1.ServerObject[]
|
|
20
|
+
jsonSchemaDialect?: string;
|
|
21
|
+
servers?: import("openapi-types").OpenAPIV3_1.ServerObject[];
|
|
22
22
|
} & Pick<{
|
|
23
23
|
paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
|
|
24
|
-
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.
|
|
24
|
+
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
|
|
25
25
|
components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
|
|
26
26
|
}, "paths"> & Omit<Partial<{
|
|
27
27
|
paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
|
|
28
|
-
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.
|
|
28
|
+
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
|
|
29
29
|
components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
|
|
30
30
|
}>, "paths"> & Record<string, unknown>) | (Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
|
|
31
31
|
info: import("openapi-types").OpenAPIV3_1.InfoObject;
|
|
32
|
-
jsonSchemaDialect?: string
|
|
33
|
-
servers?: import("openapi-types").OpenAPIV3_1.ServerObject[]
|
|
32
|
+
jsonSchemaDialect?: string;
|
|
33
|
+
servers?: import("openapi-types").OpenAPIV3_1.ServerObject[];
|
|
34
34
|
} & Pick<{
|
|
35
35
|
paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
|
|
36
|
-
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.
|
|
36
|
+
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
|
|
37
37
|
components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
|
|
38
38
|
}, "webhooks"> & Omit<Partial<{
|
|
39
39
|
paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
|
|
40
|
-
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.
|
|
40
|
+
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
|
|
41
41
|
components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
|
|
42
42
|
}>, "webhooks"> & Record<string, unknown>) | (Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
|
|
43
43
|
info: import("openapi-types").OpenAPIV3_1.InfoObject;
|
|
44
|
-
jsonSchemaDialect?: string
|
|
45
|
-
servers?: import("openapi-types").OpenAPIV3_1.ServerObject[]
|
|
44
|
+
jsonSchemaDialect?: string;
|
|
45
|
+
servers?: import("openapi-types").OpenAPIV3_1.ServerObject[];
|
|
46
46
|
} & Pick<{
|
|
47
47
|
paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
|
|
48
|
-
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.
|
|
48
|
+
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
|
|
49
49
|
components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
|
|
50
50
|
}, "components"> & Omit<Partial<{
|
|
51
51
|
paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
|
|
52
|
-
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.
|
|
52
|
+
webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
|
|
53
53
|
components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
|
|
54
|
-
}>, "components"> & Record<string, unknown>)>;
|
|
54
|
+
}>, "components"> & Record<string, unknown>) | (import("openapi-types").OpenAPIV3.Document<{}> & Record<string, unknown>)>;
|
|
55
55
|
static getURL(url: string): Promise<any>;
|
|
56
56
|
static getFile(uri: string): Promise<any>;
|
|
57
57
|
static validate(json: OASDocument): Promise<import("openapi-types").OpenAPI.Document<{}>>;
|
package/dist/fetcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQ7C,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,SAA0E;gBAEtF,GAAG,EAAE,WAAW,GAAG,MAAM;IAsBrC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM;IAIpC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM;IAIlC;;OAEG;IACH,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM;IAS7C,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyBV,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;IAiBzB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAuB1B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW;CAuBlC"}
|
package/dist/fetcher.js
CHANGED
|
@@ -60,6 +60,7 @@ export default class Fetcher {
|
|
|
60
60
|
let url;
|
|
61
61
|
try {
|
|
62
62
|
url = new URL(uri);
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
64
|
}
|
|
64
65
|
catch (err) {
|
|
65
66
|
// If that try fails for whatever reason than the URI that we have isn't a real URL and
|
|
@@ -95,7 +96,12 @@ export default class Fetcher {
|
|
|
95
96
|
if (/\.(yaml|yml)/.test(file)) {
|
|
96
97
|
return yaml.load(res);
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
+
try {
|
|
100
|
+
return JSON.parse(res);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
throw new Error(`Sorry, we were unable to parse JSON from ${file}. Reason: ${err.message}`);
|
|
104
|
+
}
|
|
99
105
|
});
|
|
100
106
|
}
|
|
101
107
|
static validate(json) {
|
package/dist/fetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,GAAG,CAAuB;IAE1B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,GAAG,sEAAsE,CAAC;IAElG,YAAY,GAAyB;QACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Small check to ensure we're in a safe CI environment.
|
|
3
|
+
*
|
|
4
|
+
* The reason we have this weird conditional logic is because we run our tests in
|
|
5
|
+
* a CI environment and we don't want false positives when running tests.
|
|
6
|
+
*/
|
|
7
|
+
export default function isCI(): boolean;
|
|
8
|
+
//# sourceMappingURL=isCI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCI.d.ts","sourceRoot":"","sources":["../../src/lib/isCI.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,YAG3B"}
|
package/dist/lib/isCI.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ci from 'ci-info';
|
|
2
|
+
/**
|
|
3
|
+
* Small env check to determine if we're running our testbed
|
|
4
|
+
*/
|
|
5
|
+
function isTest() {
|
|
6
|
+
return process.env.NODE_ENV === 'rdme-test';
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Small check to ensure we're in a safe CI environment.
|
|
10
|
+
*
|
|
11
|
+
* The reason we have this weird conditional logic is because we run our tests in
|
|
12
|
+
* a CI environment and we don't want false positives when running tests.
|
|
13
|
+
*/
|
|
14
|
+
export default function isCI() {
|
|
15
|
+
/* istanbul ignore next */
|
|
16
|
+
return ci.isCI && !isTest();
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=isCI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCI.js","sourceRoot":"","sources":["../../src/lib/isCI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;GAEG;AACH,SAAS,MAAM;IACb,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI;IAC1B,0BAA0B;IAC1B,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9B,CAAC"}
|
package/dist/lib/prompt.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import prompts from 'prompts';
|
|
|
6
6
|
*
|
|
7
7
|
* @see {@link https://github.com/terkelg/prompts/issues/252}
|
|
8
8
|
*/
|
|
9
|
-
export default function promptTerminal<T extends string = string>(
|
|
9
|
+
export default function promptTerminal<T extends string = string>(questions: prompts.PromptObject<T> | prompts.PromptObject<T>[], options?: prompts.Options): Promise<prompts.Answers<T>>;
|
|
10
10
|
//# sourceMappingURL=prompt.d.ts.map
|
package/dist/lib/prompt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B;;;;;;GAMG;AACH,wBAA8B,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACpE,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAC9D,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,+BA4C1B"}
|
package/dist/lib/prompt.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import prompts from 'prompts';
|
|
2
|
+
import isCI from './isCI.js';
|
|
2
3
|
/**
|
|
3
4
|
* The `prompts` library doesn't always interpret CTRL+C and release the terminal back to the user
|
|
4
5
|
* so we need handle this ourselves. This function is just a simple overload of the main `prompts`
|
|
@@ -6,19 +7,43 @@ import prompts from 'prompts';
|
|
|
6
7
|
*
|
|
7
8
|
* @see {@link https://github.com/terkelg/prompts/issues/252}
|
|
8
9
|
*/
|
|
9
|
-
export default async function promptTerminal(
|
|
10
|
+
export default async function promptTerminal(questions, options) {
|
|
10
11
|
const enableTerminalCursor = () => {
|
|
11
12
|
process.stdout.write('\x1B[?25h');
|
|
12
13
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
/**
|
|
15
|
+
* The CTRL+C handler discussed above.
|
|
16
|
+
* @see {@link https://github.com/terkelg/prompts#optionsoncancel}
|
|
17
|
+
*/
|
|
18
|
+
const onCancel = () => {
|
|
19
|
+
// If we don't re-enable the terminal cursor before exiting the program, the cursor will
|
|
20
|
+
// remain hidden.
|
|
21
|
+
enableTerminalCursor();
|
|
22
|
+
process.stdout.write('\n');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Runs a check before every prompt renders to make sure that
|
|
27
|
+
* prompt is not being run in a CI environment.
|
|
28
|
+
*/
|
|
29
|
+
function onRender() {
|
|
30
|
+
if (isCI()) {
|
|
18
31
|
process.stdout.write('\n');
|
|
32
|
+
process.stdout.write('Yikes! Looks like we were about to prompt you for something in a CI environment. Are you missing an argument?');
|
|
33
|
+
process.stdout.write('\n\n');
|
|
34
|
+
process.stdout.write('Try running `api <command> --help` to get more information.');
|
|
35
|
+
process.stdout.write('\n\n');
|
|
19
36
|
process.exit(1);
|
|
20
37
|
}
|
|
21
|
-
}
|
|
22
|
-
|
|
38
|
+
}
|
|
39
|
+
if (Array.isArray(questions)) {
|
|
40
|
+
// eslint-disable-next-line no-param-reassign
|
|
41
|
+
questions = questions.map(question => ({ onRender, ...question }));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// eslint-disable-next-line no-param-reassign
|
|
45
|
+
questions.onRender = onRender;
|
|
46
|
+
}
|
|
47
|
+
return prompts(questions, { onCancel, ...options });
|
|
23
48
|
}
|
|
24
49
|
//# sourceMappingURL=prompt.js.map
|
package/dist/lib/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,SAA8D,EAC9D,OAAyB;IAEzB,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,wFAAwF;QACxF,iBAAiB;QACjB,oBAAoB,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF;;;OAGG;IACH,SAAS,QAAQ;QACf,IAAI,IAAI,EAAE,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+GAA+G,CAChH,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,6CAA6C;QAC7C,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,6CAA6C;QAC7C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type Oas from 'oas';
|
|
2
|
+
import type { Operation } from 'oas/operation';
|
|
3
|
+
/**
|
|
4
|
+
* Return a list of suggested and "good first issue" types of endpoints that we can build a post-SDK
|
|
5
|
+
* code generation code snippet around to demo the power of `api`.
|
|
6
|
+
*
|
|
7
|
+
* The criteria for a suggested endpoint are the following:
|
|
8
|
+
* - GET request
|
|
9
|
+
* - Has no required query or body parameters
|
|
10
|
+
* - Endpoint has not been deprecated
|
|
11
|
+
*
|
|
12
|
+
* @param oas
|
|
13
|
+
*/
|
|
14
|
+
export declare function getSuggestedOperation(oas: Oas): false | Operation;
|
|
15
|
+
/**
|
|
16
|
+
* Generate an example code snippet for a given (suggested) operation. We'll show this to users
|
|
17
|
+
* post-codegeneration so they can see how to use the SDK we created for them.
|
|
18
|
+
*
|
|
19
|
+
* We're intentionally using `httpsnippet-client-api` and not `@readme/oas-to-snippet` here,
|
|
20
|
+
* which would handle HAR and snippet generation, because don't need the entire `oas-to-snippet`
|
|
21
|
+
* and `@readme/httpsnippet` libraries for what we're doing here.
|
|
22
|
+
*
|
|
23
|
+
* All we want to do is generate a very simple code example for `api` snippets and as we're
|
|
24
|
+
* controlling which kinds of endpoints we're generating these for the HAR dataset we're working
|
|
25
|
+
* with is a mostly fully known object.
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildCodeSnippetForOperation(oas: Oas, operation: Operation, opts: {
|
|
29
|
+
identifier: string;
|
|
30
|
+
}): Promise<string | false>;
|
|
31
|
+
//# sourceMappingURL=suggestedOperations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestedOperations.d.ts","sourceRoot":"","sources":["../../src/lib/suggestedOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM/C;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,qBAgC7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,2BA2D9G"}
|