api 7.0.0-beta.1 → 7.0.0-beta.10

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.
Files changed (55) hide show
  1. package/README.md +1 -2
  2. package/dist/bin.js +8 -1
  3. package/dist/bin.js.map +1 -1
  4. package/dist/codegen/codegenerator.d.ts +36 -1
  5. package/dist/codegen/codegenerator.d.ts.map +1 -1
  6. package/dist/codegen/codegenerator.js +66 -0
  7. package/dist/codegen/codegenerator.js.map +1 -1
  8. package/dist/codegen/factory.js.map +1 -1
  9. package/dist/codegen/languages/typescript/index.d.ts +32 -4
  10. package/dist/codegen/languages/typescript/index.d.ts.map +1 -1
  11. package/dist/codegen/languages/typescript/index.js +221 -61
  12. package/dist/codegen/languages/typescript/index.js.map +1 -1
  13. package/dist/codegen/languages/typescript/util.d.ts.map +1 -1
  14. package/dist/codegen/languages/typescript/util.js +1 -3
  15. package/dist/codegen/languages/typescript/util.js.map +1 -1
  16. package/dist/commands/install.d.ts.map +1 -1
  17. package/dist/commands/install.js +67 -54
  18. package/dist/commands/install.js.map +1 -1
  19. package/dist/commands/list.js.map +1 -1
  20. package/dist/commands/uninstall.d.ts.map +1 -1
  21. package/dist/commands/uninstall.js +7 -10
  22. package/dist/commands/uninstall.js.map +1 -1
  23. package/dist/fetcher.d.ts +17 -17
  24. package/dist/fetcher.d.ts.map +1 -1
  25. package/dist/fetcher.js +7 -1
  26. package/dist/fetcher.js.map +1 -1
  27. package/dist/lib/isCI.d.ts +8 -0
  28. package/dist/lib/isCI.d.ts.map +1 -0
  29. package/dist/lib/isCI.js +18 -0
  30. package/dist/lib/isCI.js.map +1 -0
  31. package/dist/lib/prompt.d.ts +1 -1
  32. package/dist/lib/prompt.d.ts.map +1 -1
  33. package/dist/lib/prompt.js +33 -8
  34. package/dist/lib/prompt.js.map +1 -1
  35. package/dist/lib/suggestedOperations.d.ts +31 -0
  36. package/dist/lib/suggestedOperations.d.ts.map +1 -0
  37. package/dist/lib/suggestedOperations.js +108 -0
  38. package/dist/lib/suggestedOperations.js.map +1 -0
  39. package/dist/lockfileSchema.d.ts +1 -1
  40. package/dist/lockfileSchema.d.ts.map +1 -1
  41. package/dist/logger.d.ts +2 -0
  42. package/dist/logger.d.ts.map +1 -1
  43. package/dist/logger.js +5 -1
  44. package/dist/logger.js.map +1 -1
  45. package/dist/packageInfo.d.ts +1 -1
  46. package/dist/packageInfo.d.ts.map +1 -1
  47. package/dist/packageInfo.js +1 -1
  48. package/dist/packageInfo.js.map +1 -1
  49. package/dist/storage.d.ts +8 -6
  50. package/dist/storage.d.ts.map +1 -1
  51. package/dist/storage.js +28 -6
  52. package/dist/storage.js.map +1 -1
  53. package/legacy-require-handler.cjs +29 -0
  54. package/legacy-require-handler.d.cts +2 -0
  55. package/package.json +43 -36
@@ -0,0 +1,108 @@
1
+ import APICore from '@readme/api-core';
2
+ import apiSnippetPlugin from 'httpsnippet-client-api';
3
+ import { Webhook } from 'oas/operation';
4
+ /**
5
+ * Return a list of suggested and "good first issue" types of endpoints that we can build a post-SDK
6
+ * code generation code snippet around to demo the power of `api`.
7
+ *
8
+ * The criteria for a suggested endpoint are the following:
9
+ * - GET request
10
+ * - Has no required query or body parameters
11
+ * - Endpoint has not been deprecated
12
+ *
13
+ * @param oas
14
+ */
15
+ export function getSuggestedOperation(oas) {
16
+ const suggested = [];
17
+ Object.values(oas.getPaths()).forEach(path => {
18
+ Object.values(path).forEach(operation => {
19
+ // We don't really support webhooks with this library so if this operation is one we shouldn't
20
+ // return it as a recommended operation.
21
+ if (operation instanceof Webhook) {
22
+ return;
23
+ }
24
+ if (operation.isDeprecated()) {
25
+ return;
26
+ }
27
+ if (operation.method.toLowerCase() === 'get') {
28
+ const hasRequiredParameters = operation.hasRequiredParameters();
29
+ const hasRequiredRequestBody = operation.hasRequiredRequestBody();
30
+ // If the criteria matches, push it into a recommended array
31
+ if (!hasRequiredParameters && !hasRequiredRequestBody) {
32
+ suggested.push(operation);
33
+ }
34
+ }
35
+ });
36
+ });
37
+ if (suggested.length) {
38
+ return suggested[0];
39
+ }
40
+ return false;
41
+ }
42
+ /**
43
+ * Generate an example code snippet for a given (suggested) operation. We'll show this to users
44
+ * post-codegeneration so they can see how to use the SDK we created for them.
45
+ *
46
+ * We're intentionally using `httpsnippet-client-api` and not `@readme/oas-to-snippet` here,
47
+ * which would handle HAR and snippet generation, because don't need the entire `oas-to-snippet`
48
+ * and `@readme/httpsnippet` libraries for what we're doing here.
49
+ *
50
+ * All we want to do is generate a very simple code example for `api` snippets and as we're
51
+ * controlling which kinds of endpoints we're generating these for the HAR dataset we're working
52
+ * with is a mostly fully known object.
53
+ *
54
+ */
55
+ export async function buildCodeSnippetForOperation(oas, operation, opts) {
56
+ const core = new APICore();
57
+ core.setSpec(oas);
58
+ // If this endpoint has authentication on it then we should try to flesh out some placeholder
59
+ // values in the `.auth()` SDK method for them so they can see how to use auth.
60
+ let auth = {};
61
+ const hasAuth = !!operation.getSecurity()?.length;
62
+ if (hasAuth) {
63
+ operation.getSecurityWithTypes().forEach(schemes => {
64
+ if (!schemes)
65
+ return;
66
+ schemes.filter(Boolean).forEach(scheme => {
67
+ if (!scheme)
68
+ return;
69
+ // eslint-disable-next-line no-underscore-dangle
70
+ const schemeName = scheme.security._key;
71
+ if (scheme?.type === 'Basic') {
72
+ auth[schemeName] = { user: 'username', pass: 'password' };
73
+ }
74
+ else {
75
+ auth[schemeName] = 'token';
76
+ }
77
+ });
78
+ });
79
+ auth = oas.getAuth(auth);
80
+ }
81
+ const har = core.getHARForRequest(operation, {}, auth)?.log?.entries?.[0]?.request;
82
+ if (!har) {
83
+ return false;
84
+ }
85
+ const snippet = apiSnippetPlugin.client.convert({
86
+ ...har,
87
+ cookiesObj: har.cookies.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {}),
88
+ fullUrl: har.url,
89
+ headersObj: har.headers.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {}),
90
+ postData: {
91
+ mimeType: 'application/json',
92
+ text: '',
93
+ },
94
+ queryObj: har.queryString.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {}),
95
+ url: har.url,
96
+ // These aren't used in `httpsnippet-client-api` so we don't need to bother hooking them up.
97
+ allHeaders: {},
98
+ uriObj: {},
99
+ }, {
100
+ api: {
101
+ definition: oas.getDefinition(),
102
+ identifier: opts.identifier,
103
+ registryURI: opts.identifier,
104
+ },
105
+ });
106
+ return snippet;
107
+ }
108
+ //# sourceMappingURL=suggestedOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestedOperations.js","sourceRoot":"","sources":["../../src/lib/suggestedOperations.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAQ;IAC5C,MAAM,SAAS,GAAgB,EAAE,CAAC;IAElC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACtC,8FAA8F;YAC9F,wCAAwC;YACxC,IAAI,SAAS,YAAY,OAAO,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,IAAI,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBAC7C,MAAM,qBAAqB,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBAChE,MAAM,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,EAAE,CAAC;gBAElE,4DAA4D;gBAC5D,IAAI,CAAC,qBAAqB,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBACtD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAQ,EAAE,SAAoB,EAAE,IAA4B;IAC7G,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAElB,6FAA6F;IAC7F,+EAA+E;IAC/E,IAAI,IAAI,GAAe,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC;IAClD,IAAI,OAAO,EAAE,CAAC;QACZ,SAAS,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjD,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvC,IAAI,CAAC,MAAM;oBAAE,OAAO;gBAEpB,gDAAgD;gBAChD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAe,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACnF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAC7C;QACE,GAAG,GAAG;QACN,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACzF,OAAO,EAAE,GAAG,CAAC,GAAG;QAChB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACzF,QAAQ,EAAE;YACR,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,EAAE;SACT;QACD,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3F,GAAG,EAAE,GAAG,CAAC,GAAG;QAEZ,4FAA4F;QAC5F,UAAU,EAAE,EAAW;QACvB,MAAM,EAAE,EAAW;KACpB,EACD;QACE,GAAG,EAAE;YACH,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B;KACF,CACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { FromSchema } from '@readme/api-core/lib';
1
+ import type { FromSchema } from '@readme/api-core/types';
2
2
  declare const lockfileApiSchema: {
3
3
  readonly type: "object";
4
4
  readonly required: readonly ["createdAt", "identifier", "installerVersion", "integrity"];
@@ -1 +1 @@
1
- {"version":3,"file":"lockfileSchema.d.ts","sourceRoot":"","sources":["../src/lockfileSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,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"}
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
@@ -1,2 +1,4 @@
1
+ import type { Options as OraOptions } from 'ora';
1
2
  export default function logger(log: string, error?: boolean): void;
3
+ export declare function oraOptions(): OraOptions;
2
4
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,QAM1D"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,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"}
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,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;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"}
@@ -1,3 +1,3 @@
1
1
  export declare const PACKAGE_NAME = "api";
2
- export declare const PACKAGE_VERSION = "7.0.0-beta.1";
2
+ export declare const PACKAGE_VERSION = "7.0.0-beta.10";
3
3
  //# sourceMappingURL=packageInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,eAAe,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // This file is automatically updated by the build script.
2
2
  export const PACKAGE_NAME = 'api';
3
- export const PACKAGE_VERSION = '7.0.0-beta.1';
3
+ export const PACKAGE_VERSION = '7.0.0-beta.10';
4
4
  //# sourceMappingURL=packageInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
package/dist/storage.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { SupportedLanguage } from './codegen/factory.js';
2
2
  import type { Lockfile } from './lockfileSchema.js';
3
- import type { OASDocument } from 'oas/rmoas.types';
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;
7
- static lockfile: false | Lockfile;
7
+ static lockfile: Lockfile | false;
8
8
  fetcher: Fetcher;
9
9
  /**
10
10
  * This is the original source that the file came from (relative/absolute file path, URL, ReadMe
@@ -33,6 +33,8 @@ export default class Storage {
33
33
  * Reset the state of the entire storage system.
34
34
  *
35
35
  * This will completely destroy the contents of the `.api/` directory!
36
+ *
37
+ * @internal
36
38
  */
37
39
  static reset(): Promise<void>;
38
40
  static getDefaultLockfile(): Lockfile;
@@ -40,7 +42,6 @@ export default class Storage {
40
42
  static getLockfile(): {
41
43
  $schema?: string | undefined;
42
44
  apis: {
43
- language?: "js" | undefined;
44
45
  private?: boolean | undefined;
45
46
  source?: string | undefined;
46
47
  updatedAt?: string | undefined;
@@ -48,6 +49,7 @@ export default class Storage {
48
49
  identifier: string;
49
50
  installerVersion: string;
50
51
  integrity: string;
52
+ language: "js";
51
53
  }[];
52
54
  };
53
55
  static isIdentifierValid(identifier: string, prefixWithAPINamespace?: boolean): boolean;
@@ -55,7 +57,6 @@ export default class Storage {
55
57
  identifier?: string;
56
58
  source?: string;
57
59
  }): false | {
58
- language?: "js" | undefined;
59
60
  private?: boolean | undefined;
60
61
  source?: string | undefined;
61
62
  updatedAt?: string | undefined;
@@ -63,6 +64,7 @@ export default class Storage {
63
64
  identifier: string;
64
65
  installerVersion: string;
65
66
  integrity: string;
67
+ language: "js";
66
68
  };
67
69
  setLanguage(language?: SupportedLanguage): void;
68
70
  setIdentifier(identifier: string): void;
@@ -75,7 +77,6 @@ export default class Storage {
75
77
  *
76
78
  */
77
79
  getFromLockfile(): {
78
- language?: "js" | undefined;
79
80
  private?: boolean | undefined;
80
81
  source?: string | undefined;
81
82
  updatedAt?: string | undefined;
@@ -83,13 +84,13 @@ export default class Storage {
83
84
  identifier: string;
84
85
  installerVersion: string;
85
86
  integrity: string;
87
+ language: "js";
86
88
  } | undefined;
87
89
  /**
88
90
  * Retrieve the lockfile record, if it exists, for a given identifier.
89
91
  *
90
92
  */
91
93
  static getFromLockfile(identifier: string): {
92
- language?: "js" | undefined;
93
94
  private?: boolean | undefined;
94
95
  source?: string | undefined;
95
96
  updatedAt?: string | undefined;
@@ -97,6 +98,7 @@ export default class Storage {
97
98
  identifier: string;
98
99
  installerVersion: string;
99
100
  integrity: string;
101
+ language: "js";
100
102
  } | undefined;
101
103
  getSDKLanguage(): "js";
102
104
  getPackageName(): string | undefined;
@@ -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,iBAAiB,CAAC;AAUnD,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;;;;OAIG;WACU,KAAK;IAWlB,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"}
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,QAAQ,GAAG,KAAK,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;;;;;;;;;;;;;IAsBlB,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;IAWhB,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"}
package/dist/storage.js CHANGED
@@ -64,14 +64,22 @@ export default class Storage {
64
64
  * Reset the state of the entire storage system.
65
65
  *
66
66
  * This will completely destroy the contents of the `.api/` directory!
67
+ *
68
+ * @internal
67
69
  */
68
70
  static async reset() {
71
+ const noop = () => {
72
+ // If any of these file and directory removals fail we don't need to throw any errors because
73
+ // this method is only used internally in unit tests.
74
+ };
69
75
  if (Storage.getLockfilePath()) {
70
- await fs.promises.writeFile(Storage.getLockfilePath(), JSON.stringify(Storage.getDefaultLockfile(), null, 2));
76
+ await fs.promises
77
+ .writeFile(Storage.getLockfilePath(), JSON.stringify(Storage.getDefaultLockfile(), null, 2))
78
+ .catch(noop);
71
79
  }
72
80
  if (Storage.getAPIsDir()) {
73
- await fs.promises.rm(Storage.getAPIsDir(), { recursive: true });
74
- await fs.promises.mkdir(Storage.getAPIsDir(), { recursive: true });
81
+ await fs.promises.rm(Storage.getAPIsDir(), { recursive: true }).catch(noop);
82
+ await fs.promises.mkdir(Storage.getAPIsDir(), { recursive: true }).catch(noop);
75
83
  }
76
84
  }
77
85
  static getDefaultLockfile() {
@@ -94,7 +102,15 @@ export default class Storage {
94
102
  }
95
103
  if (fs.existsSync(Storage.getLockfilePath())) {
96
104
  const file = fs.readFileSync(Storage.getLockfilePath(), 'utf8');
97
- Storage.lockfile = JSON.parse(file);
105
+ try {
106
+ Storage.lockfile = JSON.parse(file);
107
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
108
+ }
109
+ catch (err) {
110
+ // If we can't parse the lock file for whatever reason then it's probably corrupted so we
111
+ // should reset it to the default.
112
+ Storage.lockfile = Storage.getDefaultLockfile();
113
+ }
98
114
  }
99
115
  else {
100
116
  Storage.lockfile = Storage.getDefaultLockfile();
@@ -190,8 +206,14 @@ export default class Storage {
190
206
  return path.join(this.getIdentifierStorageDir(), 'openapi.json');
191
207
  }
192
208
  getAPIDefinition() {
193
- const file = fs.readFileSync(this.getAPIDefinitionPath(), 'utf8');
194
- return JSON.parse(file);
209
+ const filePath = this.getAPIDefinitionPath();
210
+ const file = fs.readFileSync(filePath, 'utf8');
211
+ try {
212
+ return JSON.parse(file);
213
+ }
214
+ catch (err) {
215
+ throw new Error(`Sorry we were unable to parse JSON in ${filePath}. Reason: ${err.message}`);
216
+ }
195
217
  }
196
218
  saveSourceFiles(files) {
197
219
  if (!this.isInLockfile()) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
@@ -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
+ };
@@ -0,0 +1,2 @@
1
+ declare function _exports(input: unknown): never;
2
+ export = _exports;
package/package.json CHANGED
@@ -1,22 +1,25 @@
1
1
  {
2
2
  "name": "api",
3
- "version": "7.0.0-beta.1",
3
+ "version": "7.0.0-beta.10",
4
4
  "description": "Magical SDK generation from an OpenAPI definition 🪄",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "api": "bin/api.js"
8
8
  },
9
+ "main": "legacy-require-handler.cjs",
9
10
  "scripts": {
10
11
  "attw": "attw --pack --format table-flipped",
11
12
  "build": "tsc",
12
- "build:versionedfiles": "NODE_OPTIONS=--no-warnings node --loader ts-node/esm bin/buildVersionedFiles.ts",
13
- "debug:bin": "NODE_OPTIONS=--no-warnings node --loader ts-node/esm src/bin.ts",
13
+ "build:legacy-handler": "tsc legacy-require-handler.cjs --checkJs --declaration --emitDeclarationOnly",
14
+ "build:versioned-files": "tsx bin/buildVersionedFiles.ts",
15
+ "debug:bin": "tsx src/bin.ts",
14
16
  "lint:types": "tsc --noEmit",
15
- "prebuild": "rm -rf dist/ && npm run build:versionedfiles",
17
+ "prebuild": "rm -rf dist/ && npm run build:versioned-files",
18
+ "postbuild": "npm run build:legacy-handler",
16
19
  "prepack": "npm run build",
17
20
  "test": "vitest run --coverage",
18
21
  "test:smoke": "vitest --config=vitest-smoketest.config.ts",
19
- "version": "npm run build:versionedfiles && git add schema.json src/packageInfo.ts"
22
+ "version": "npm run build:versioned-files && git add schema.json src/packageInfo.ts"
20
23
  },
21
24
  "repository": {
22
25
  "type": "git",
@@ -34,6 +37,7 @@
34
37
  },
35
38
  "files": [
36
39
  "dist",
40
+ "legacy-require-handler.**",
37
41
  "schema.json"
38
42
  ],
39
43
  "keywords": [
@@ -43,50 +47,53 @@
43
47
  "swagger"
44
48
  ],
45
49
  "dependencies": {
46
- "@readme/api-core": "^7.0.0-beta.1",
50
+ "@readme/api-core": "^7.0.0-beta.10",
47
51
  "@readme/openapi-parser": "^2.4.0",
48
52
  "chalk": "^5.3.0",
49
- "commander": "^11.1.0",
53
+ "ci-info": "^4.0.0",
54
+ "commander": "^12.1.0",
55
+ "emphasize": "^7.0.0",
50
56
  "execa": "^8.0.1",
51
- "figures": "^5.0.0",
57
+ "figures": "^6.0.1",
58
+ "httpsnippet-client-api": "^7.0.0-beta.9",
52
59
  "js-yaml": "^4.1.0",
53
- "lodash.camelcase": "^4.3.0",
54
- "lodash.deburr": "^4.1.0",
55
- "lodash.setwith": "^4.3.2",
56
- "lodash.startcase": "^4.4.0",
57
- "oas": "^23.0.0",
58
- "ora": "^7.0.1",
60
+ "license": "^1.0.3",
61
+ "lodash-es": "^4.17.21",
62
+ "oas": "^25.0.1",
63
+ "ora": "^8.0.1",
64
+ "preferred-pm": "^4.0.0",
59
65
  "prompts": "^2.4.2",
60
66
  "semver": "^7.3.8",
61
- "ssri": "^10.0.1",
62
- "ts-morph": "^20.0.0",
67
+ "ssri": "^12.0.0",
68
+ "ts-morph": "^23.0.0",
69
+ "update-notifier": "^7.0.0",
63
70
  "uslug": "^1.0.4",
64
- "validate-npm-package-name": "^5.0.0"
71
+ "validate-npm-package-name": "^6.0.0"
65
72
  },
66
73
  "devDependencies": {
67
- "@api/test-utils": "^7.0.0-beta.1",
68
- "@readme/oas-examples": "^5.12.0",
69
- "@types/js-yaml": "^4.0.7",
70
- "@types/lodash.camelcase": "^4.3.7",
71
- "@types/lodash.deburr": "^4.1.7",
72
- "@types/lodash.setwith": "^4.3.7",
73
- "@types/lodash.startcase": "^4.4.7",
74
- "@types/prompts": "^2.4.6",
75
- "@types/semver": "^7.5.1",
76
- "@types/ssri": "^7.1.1",
77
- "@types/uslug": "^1.0.2",
78
- "@types/validate-npm-package-name": "^4.0.0",
79
- "@vitest/coverage-v8": "^0.34.4",
74
+ "@api/test-utils": "^7.0.0-beta.10",
75
+ "@readme/oas-examples": "^5.12.1",
76
+ "@types/js-yaml": "^4.0.9",
77
+ "@types/lodash-es": "^4.17.12",
78
+ "@types/prompts": "^2.4.9",
79
+ "@types/semver": "^7.5.6",
80
+ "@types/ssri": "^7.1.5",
81
+ "@types/update-notifier": "^6.0.8",
82
+ "@types/uslug": "^1.0.4",
83
+ "@types/validate-npm-package-name": "^4.0.2",
84
+ "@vitest/coverage-v8": "^2.1.3",
80
85
  "ajv": "^8.12.0",
81
- "ajv-formats": "^2.1.1",
82
- "fetch-mock": "^9.11.0",
86
+ "ajv-formats": "^3.0.1",
87
+ "fetch-mock": "^11.1.3",
83
88
  "oas-normalize": "^11.0.1",
84
- "tsup": "^7.2.0",
85
- "type-fest": "^4.4.0",
89
+ "openapi-types": "^12.1.3",
90
+ "tsup": "^8.0.1",
91
+ "tsx": "^4.19.1",
92
+ "type-fest": "^4.9.0",
86
93
  "typescript": "^5.2.2",
87
94
  "unique-temp-dir": "^1.0.0",
88
- "vitest": "^0.34.5"
95
+ "vitest": "^2.1.3"
89
96
  },
90
97
  "prettier": "@readme/eslint-config/prettier",
91
- "gitHead": "e31539d88b5af53ed7be05495329de1c2a70c93f"
98
+ "gitHead": "4a34d5d4642a94928bd4c299d8c45c6b64ee6f20"
92
99
  }