api 7.0.0-beta.3 → 7.0.0-beta.5
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 +30 -0
- package/dist/codegen/codegenerator.d.ts.map +1 -1
- package/dist/codegen/codegenerator.js +29 -0
- package/dist/codegen/codegenerator.js.map +1 -1
- package/dist/codegen/languages/typescript/index.d.ts +8 -1
- package/dist/codegen/languages/typescript/index.d.ts.map +1 -1
- package/dist/codegen/languages/typescript/index.js +90 -59
- package/dist/codegen/languages/typescript/index.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +19 -31
- package/dist/commands/install.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 +1 -1
- package/dist/fetcher.d.ts.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 +1 -1
- package/dist/lib/suggestedOperations.d.ts.map +1 -1
- package/dist/lib/suggestedOperations.js +7 -5
- package/dist/lib/suggestedOperations.js.map +1 -1
- 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.js +1 -1
- package/dist/storage.d.ts +5 -5
- package/dist/storage.d.ts.map +1 -1
- package/legacy-require-handler.cjs +29 -0
- package/legacy-require-handler.d.cts +2 -0
- package/package.json +35 -28
package/dist/commands/install.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { Command, Option } from 'commander';
|
|
3
|
+
import { createEmphasize, common } from 'emphasize';
|
|
3
4
|
import figures from 'figures';
|
|
4
5
|
import Oas from 'oas';
|
|
5
6
|
import ora from 'ora';
|
|
@@ -7,9 +8,9 @@ import uslug from 'uslug';
|
|
|
7
8
|
import { SupportedLanguages, codegenFactory } from '../codegen/factory.js';
|
|
8
9
|
import Fetcher from '../fetcher.js';
|
|
9
10
|
import promptTerminal from '../lib/prompt.js';
|
|
10
|
-
import {
|
|
11
|
-
import logger from '../logger.js';
|
|
11
|
+
import logger, { oraOptions } from '../logger.js';
|
|
12
12
|
import Storage from '../storage.js';
|
|
13
|
+
const { highlight } = createEmphasize(common);
|
|
13
14
|
async function getLanguage(options) {
|
|
14
15
|
let language;
|
|
15
16
|
if (options.lang) {
|
|
@@ -58,13 +59,6 @@ async function getIdentifier(oas, uri, options) {
|
|
|
58
59
|
}
|
|
59
60
|
return identifier;
|
|
60
61
|
}
|
|
61
|
-
async function getExampleCodeSnippet(oas, identifier) {
|
|
62
|
-
const operation = getSuggestedOperation(oas);
|
|
63
|
-
if (!operation) {
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
return buildCodeSnippetForOperation(oas, operation, { identifier });
|
|
67
|
-
}
|
|
68
62
|
// @todo log logs to `.api/.logs` and have `.logs` ignored
|
|
69
63
|
const cmd = new Command();
|
|
70
64
|
cmd
|
|
@@ -83,7 +77,7 @@ cmd
|
|
|
83
77
|
// @todo
|
|
84
78
|
// logger(`It looks like you already have this API installed. Would you like to update it?`);
|
|
85
79
|
}
|
|
86
|
-
let spinner = ora('Fetching your API definition').start();
|
|
80
|
+
let spinner = ora({ text: 'Fetching your API definition', ...oraOptions() }).start();
|
|
87
81
|
const storage = new Storage(uri, language);
|
|
88
82
|
const oas = await storage
|
|
89
83
|
.load(false)
|
|
@@ -99,20 +93,18 @@ cmd
|
|
|
99
93
|
.catch(err => {
|
|
100
94
|
// @todo cleanup installed files
|
|
101
95
|
spinner.fail(spinner.text);
|
|
102
|
-
|
|
103
|
-
process.exit(1);
|
|
96
|
+
throw err;
|
|
104
97
|
});
|
|
105
98
|
const identifier = await getIdentifier(oas, uri, options);
|
|
106
99
|
if (!identifier) {
|
|
107
|
-
|
|
108
|
-
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.');
|
|
109
101
|
}
|
|
110
102
|
// Now that we've got an identifier we can save their spec and generate the directory structure
|
|
111
103
|
// for their SDK.
|
|
112
104
|
storage.setIdentifier(identifier);
|
|
113
105
|
await storage.save(oas.api);
|
|
114
106
|
// @todo look for a prettier config and if we find one ask them if we should use it
|
|
115
|
-
spinner = ora('Generating your SDK').start();
|
|
107
|
+
spinner = ora({ text: 'Generating your SDK', ...oraOptions() }).start();
|
|
116
108
|
const generator = codegenFactory(language, oas, '../openapi.json', identifier);
|
|
117
109
|
const sdkSource = await generator
|
|
118
110
|
.generate()
|
|
@@ -123,10 +115,9 @@ cmd
|
|
|
123
115
|
.catch(err => {
|
|
124
116
|
// @todo cleanup installed files
|
|
125
117
|
spinner.fail(spinner.text);
|
|
126
|
-
|
|
127
|
-
process.exit(1);
|
|
118
|
+
throw err;
|
|
128
119
|
});
|
|
129
|
-
spinner = ora('Saving your SDK into your codebase').start();
|
|
120
|
+
spinner = ora({ text: 'Saving your SDK into your codebase', ...oraOptions() }).start();
|
|
130
121
|
await storage
|
|
131
122
|
.saveSourceFiles(sdkSource)
|
|
132
123
|
.then(() => {
|
|
@@ -135,8 +126,7 @@ cmd
|
|
|
135
126
|
.catch(err => {
|
|
136
127
|
// @todo cleanup installed files
|
|
137
128
|
spinner.fail(spinner.text);
|
|
138
|
-
|
|
139
|
-
process.exit(1);
|
|
129
|
+
throw err;
|
|
140
130
|
});
|
|
141
131
|
if (generator.hasRequiredPackages()) {
|
|
142
132
|
logger(`${figures.warning} This generator requires some packages to be installed alongside it:`);
|
|
@@ -156,12 +146,11 @@ cmd
|
|
|
156
146
|
}).then(({ value }) => {
|
|
157
147
|
if (!value) {
|
|
158
148
|
// @todo cleanup installed files
|
|
159
|
-
|
|
160
|
-
process.exit(1);
|
|
149
|
+
throw new Error('Installation cancelled.');
|
|
161
150
|
}
|
|
162
151
|
});
|
|
163
152
|
}
|
|
164
|
-
spinner = ora('Installing required packages').start();
|
|
153
|
+
spinner = ora({ text: 'Installing required packages', ...oraOptions() }).start();
|
|
165
154
|
try {
|
|
166
155
|
await generator.install(storage);
|
|
167
156
|
spinner.succeed(spinner.text);
|
|
@@ -169,11 +158,10 @@ cmd
|
|
|
169
158
|
catch (err) {
|
|
170
159
|
// @todo cleanup installed files
|
|
171
160
|
spinner.fail(spinner.text);
|
|
172
|
-
|
|
173
|
-
process.exit(1);
|
|
161
|
+
throw err;
|
|
174
162
|
}
|
|
175
163
|
}
|
|
176
|
-
spinner = ora('Compiling your SDK').start();
|
|
164
|
+
spinner = ora({ text: 'Compiling your SDK', ...oraOptions() }).start();
|
|
177
165
|
try {
|
|
178
166
|
await generator.compile(storage);
|
|
179
167
|
spinner.succeed(spinner.text);
|
|
@@ -181,18 +169,18 @@ cmd
|
|
|
181
169
|
catch (err) {
|
|
182
170
|
// @todo cleanup installed files
|
|
183
171
|
spinner.fail(spinner.text);
|
|
184
|
-
|
|
185
|
-
process.exit(1);
|
|
172
|
+
throw err;
|
|
186
173
|
}
|
|
187
174
|
logger('');
|
|
188
175
|
logger(`🚀 All done! Your SDK is now available to use locally via the ${chalk.yellow(storage.getPackageName())} package.`);
|
|
189
|
-
const exampleSnippet = await getExampleCodeSnippet(
|
|
176
|
+
const exampleSnippet = await generator.getExampleCodeSnippet();
|
|
190
177
|
if (exampleSnippet) {
|
|
191
178
|
logger('');
|
|
192
|
-
logger("Here's an example code snippet you can try out
|
|
179
|
+
logger(chalk.bold("👇 Here's an example code snippet you can try out 👇"));
|
|
193
180
|
logger('');
|
|
194
|
-
logger(
|
|
181
|
+
logger(highlight(language, exampleSnippet).value);
|
|
195
182
|
}
|
|
183
|
+
logger('');
|
|
196
184
|
})
|
|
197
185
|
.addHelpText('after', `
|
|
198
186
|
Examples:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,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,EAAE,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
package/dist/fetcher.d.ts
CHANGED
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,MAAM,GAAG,WAAW,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,SAA0E;gBAEtF,GAAG,EAAE,MAAM,GAAG,WAAW;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBV,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;IAiBzB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAmB1B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW;CAuBlC"}
|
|
@@ -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;YACV,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;SACjB;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC5B,6CAA6C;QAC7C,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;KACpE;SAAM;QACL,6CAA6C;QAC7C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC/B;IAED,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Oas from 'oas';
|
|
2
|
-
import type Operation from 'oas/operation';
|
|
2
|
+
import type { Operation } from 'oas/operation';
|
|
3
3
|
/**
|
|
4
4
|
* Return a list of suggested and "good first issue" types of endpoints that we can build a post-SDK
|
|
5
5
|
* code generation code snippet around to demo the power of `api`.
|
|
@@ -1 +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,SAAS,MAAM,eAAe,CAAC;
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import APICore from '@readme/api-core';
|
|
2
|
-
import
|
|
2
|
+
import apiSnippetPlugin from 'httpsnippet-client-api';
|
|
3
3
|
import { Webhook } from 'oas/operation';
|
|
4
4
|
/**
|
|
5
5
|
* Return a list of suggested and "good first issue" types of endpoints that we can build a post-SDK
|
|
@@ -82,7 +82,7 @@ export async function buildCodeSnippetForOperation(oas, operation, opts) {
|
|
|
82
82
|
if (!har) {
|
|
83
83
|
return false;
|
|
84
84
|
}
|
|
85
|
-
const snippet = client.convert({
|
|
85
|
+
const snippet = apiSnippetPlugin.client.convert({
|
|
86
86
|
...har,
|
|
87
87
|
cookiesObj: har.cookies.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {}),
|
|
88
88
|
fullUrl: har.url,
|
|
@@ -97,9 +97,11 @@ export async function buildCodeSnippetForOperation(oas, operation, opts) {
|
|
|
97
97
|
allHeaders: {},
|
|
98
98
|
uriObj: {},
|
|
99
99
|
}, {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
api: {
|
|
101
|
+
definition: oas.getDefinition(),
|
|
102
|
+
identifier: opts.identifier,
|
|
103
|
+
registryURI: opts.identifier,
|
|
104
|
+
},
|
|
103
105
|
});
|
|
104
106
|
return snippet;
|
|
105
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestedOperations.js","sourceRoot":"","sources":["../../src/lib/suggestedOperations.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"suggestedOperations.js","sourceRoot":"","sources":["../../src/lib/suggestedOperations.ts"],"names":[],"mappings":"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"}
|
package/dist/lockfileSchema.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockfileSchema.d.ts","sourceRoot":"","sources":["../src/lockfileSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"lockfileSchema.d.ts","sourceRoot":"","sources":["../src/lockfileSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDb,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBjB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/logger.d.ts
CHANGED
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,QAM1D;AAED,wBAAgB,UAAU,eAKzB"}
|
package/dist/logger.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
1
|
import chalk from 'chalk';
|
|
3
2
|
export default function logger(log, error) {
|
|
4
3
|
if (error) {
|
|
@@ -8,4 +7,9 @@ export default function logger(log, error) {
|
|
|
8
7
|
console.log(log);
|
|
9
8
|
}
|
|
10
9
|
}
|
|
10
|
+
export function oraOptions() {
|
|
11
|
+
// Disables spinner in tests so it doesn't pollute test output
|
|
12
|
+
const opts = { isSilent: process.env.NODE_ENV === 'test' };
|
|
13
|
+
return opts;
|
|
14
|
+
}
|
|
11
15
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,GAAW,EAAE,KAAe;IACzD,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/B;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAClB;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,8DAA8D;IAC9D,MAAM,IAAI,GAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IAEvE,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/packageInfo.d.ts
CHANGED
package/dist/packageInfo.js
CHANGED
package/dist/storage.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SupportedLanguage } from './codegen/factory.js';
|
|
2
2
|
import type { Lockfile } from './lockfileSchema.js';
|
|
3
|
-
import type { OASDocument } from 'oas/
|
|
3
|
+
import type { OASDocument } from 'oas/types';
|
|
4
4
|
import Fetcher from './fetcher.js';
|
|
5
5
|
export default class Storage {
|
|
6
6
|
static dir: string;
|
|
@@ -42,7 +42,6 @@ export default class Storage {
|
|
|
42
42
|
static getLockfile(): {
|
|
43
43
|
$schema?: string | undefined;
|
|
44
44
|
apis: {
|
|
45
|
-
language?: "js" | undefined;
|
|
46
45
|
private?: boolean | undefined;
|
|
47
46
|
source?: string | undefined;
|
|
48
47
|
updatedAt?: string | undefined;
|
|
@@ -50,6 +49,7 @@ export default class Storage {
|
|
|
50
49
|
identifier: string;
|
|
51
50
|
installerVersion: string;
|
|
52
51
|
integrity: string;
|
|
52
|
+
language: "js";
|
|
53
53
|
}[];
|
|
54
54
|
};
|
|
55
55
|
static isIdentifierValid(identifier: string, prefixWithAPINamespace?: boolean): boolean;
|
|
@@ -57,7 +57,6 @@ export default class Storage {
|
|
|
57
57
|
identifier?: string;
|
|
58
58
|
source?: string;
|
|
59
59
|
}): false | {
|
|
60
|
-
language?: "js" | undefined;
|
|
61
60
|
private?: boolean | undefined;
|
|
62
61
|
source?: string | undefined;
|
|
63
62
|
updatedAt?: string | undefined;
|
|
@@ -65,6 +64,7 @@ export default class Storage {
|
|
|
65
64
|
identifier: string;
|
|
66
65
|
installerVersion: string;
|
|
67
66
|
integrity: string;
|
|
67
|
+
language: "js";
|
|
68
68
|
};
|
|
69
69
|
setLanguage(language?: SupportedLanguage): void;
|
|
70
70
|
setIdentifier(identifier: string): void;
|
|
@@ -77,7 +77,6 @@ export default class Storage {
|
|
|
77
77
|
*
|
|
78
78
|
*/
|
|
79
79
|
getFromLockfile(): {
|
|
80
|
-
language?: "js" | undefined;
|
|
81
80
|
private?: boolean | undefined;
|
|
82
81
|
source?: string | undefined;
|
|
83
82
|
updatedAt?: string | undefined;
|
|
@@ -85,13 +84,13 @@ export default class Storage {
|
|
|
85
84
|
identifier: string;
|
|
86
85
|
installerVersion: string;
|
|
87
86
|
integrity: string;
|
|
87
|
+
language: "js";
|
|
88
88
|
} | undefined;
|
|
89
89
|
/**
|
|
90
90
|
* Retrieve the lockfile record, if it exists, for a given identifier.
|
|
91
91
|
*
|
|
92
92
|
*/
|
|
93
93
|
static getFromLockfile(identifier: string): {
|
|
94
|
-
language?: "js" | undefined;
|
|
95
94
|
private?: boolean | undefined;
|
|
96
95
|
source?: string | undefined;
|
|
97
96
|
updatedAt?: string | undefined;
|
|
@@ -99,6 +98,7 @@ export default class Storage {
|
|
|
99
98
|
identifier: string;
|
|
100
99
|
installerVersion: string;
|
|
101
100
|
integrity: string;
|
|
101
|
+
language: "js";
|
|
102
102
|
} | undefined;
|
|
103
103
|
getSDKLanguage(): "js";
|
|
104
104
|
getPackageName(): string | undefined;
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAU7C,OAAO,OAAO,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAElC,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;OAIG;IACH,UAAU,EAAG,MAAM,CAAC;gBAER,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,MAAM;IAa7E,MAAM,CAAC,eAAe;IAItB,MAAM,CAAC,UAAU;IAIjB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM;IAgBjC;;;;;;OAMG;WACU,KAAK;IAkBlB,MAAM,CAAC,kBAAkB,IAAI,QAAQ;IASrC,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW;IAQpD,MAAM,CAAC,WAAW;;;;;;;;;;;;;IAelB,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,OAAO;IAkB7E,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;IAyBpE,WAAW,CAAC,QAAQ,CAAC,EAAE,iBAAiB;IAWxC,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC;;OAEG;IACH,YAAY;IAIZ;;;OAGG;IACH,eAAe;;;;;;;;;;IAKf;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;IAKzC,cAAc;IAQd,cAAc;IASd,uBAAuB;IAQvB,oBAAoB;IAIpB,gBAAgB;IAMhB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA4BvC,IAAI,CAAC,UAAU,GAAE,OAAc;IAUrC;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,WAAW;IAgDtB;;;OAGG;IACG,MAAM;CAkBb"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/* eslint-disable import/no-commonjs */
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* In `api` v6, this package was a JS library used JavaScript Proxies to dynamically generate SDKs at runtime.
|
|
6
|
+
* This functionality has been sunset in `api` v7 to focus on its CLI, which builds strongly-typed SDKs.
|
|
7
|
+
* This file is here to throw errors for users that attempt to use the legacy library.
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* @param {unknown} input
|
|
11
|
+
*/
|
|
12
|
+
module.exports = function legacyHandler(input) {
|
|
13
|
+
let identifier = 'https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json';
|
|
14
|
+
|
|
15
|
+
if (typeof input === 'string') {
|
|
16
|
+
identifier = input;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
throw new Error(`Oops! You're attempting to use a legacy usage pattern that no longer exists.
|
|
20
|
+
|
|
21
|
+
You can read more about this in our docs: TKTK
|
|
22
|
+
|
|
23
|
+
\`api\` can now generate strongly-typed SDKs that work in pretty much every JS runtime!
|
|
24
|
+
|
|
25
|
+
Try running this command to get started:
|
|
26
|
+
|
|
27
|
+
npx api@latest install ${identifier}
|
|
28
|
+
`);
|
|
29
|
+
};
|