api 7.0.0-alpha.5 → 7.0.0-beta.0

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/bin/api.js CHANGED
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env NODE_OPTIONS=--no-warnings node
2
2
  import '../dist/bin.js';
@@ -17,8 +17,9 @@ export default abstract class CodeGenerator {
17
17
  identifier: string;
18
18
  userAgent: string;
19
19
  requiredPackages: Record<string, {
20
+ dependencyType: 'production' | 'development';
20
21
  reason: string;
21
- url: string;
22
+ url?: string;
22
23
  version: string;
23
24
  }>;
24
25
  constructor(spec: Oas, specPath: string, identifier: string);
@@ -1 +1 @@
1
- {"version":3,"file":"codegenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAa;IACzC,IAAI,EAAE,GAAG,CAAC;IAEV,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;IAElB,gBAAgB,EAAG,MAAM,CACvB,MAAM,EACN;QACE,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CACF,CAAC;gBAEU,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA4B3D,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpD,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,mBAAmB;CAGpB"}
1
+ {"version":3,"file":"codegenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAa;IACzC,IAAI,EAAE,GAAG,CAAC;IAEV,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;IAElB,gBAAgB,EAAG,MAAM,CACvB,MAAM,EACN;QACE,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CACF,CAAC;gBAEU,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA4B3D,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpD,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,mBAAmB;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegenerator.js","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAelE,MAAM,CAAC,OAAO,OAAgB,aAAa;IACzC,IAAI,CAAM;IAEV,QAAQ,CAAS;IAEjB,UAAU,CAAS;IAEnB,SAAS,CAAS;IAElB,gBAAgB,CAOd;IAEF,YAAY,IAAS,EAAE,QAAgB,EAAE,UAAkB;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,6FAA6F;QAC7F,4FAA4F;QAC5F,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,eAAe,GAAG,CAAC;QAEtF;;;;;;;;;WASG;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACnD,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;SACH;IACH,CAAC;IAQD,mBAAmB;QACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"codegenerator.js","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAelE,MAAM,CAAC,OAAO,OAAgB,aAAa;IACzC,IAAI,CAAM;IAEV,QAAQ,CAAS;IAEjB,UAAU,CAAS;IAEnB,SAAS,CAAS;IAElB,gBAAgB,CAQd;IAEF,YAAY,IAAS,EAAE,QAAgB,EAAE,UAAkB;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,6FAA6F;QAC7F,4FAA4F;QAC5F,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,eAAe,GAAG,CAAC;QAEtF;;;;;;;;;WASG;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACnD,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;SACH;IACH,CAAC;IAQD,mBAAmB;QACjB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,UAAU,CAAC;AASlB,OAAO,EAAmB,OAAO,EAAoD,MAAM,UAAU,CAAC;AAGtG,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAiCnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;;IACpD,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B,GAAG,EAAG,gBAAgB,CAAC;IAEvB,OAAO,EAAE,MAAM,CACb,MAAM,EAEJ;QACE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,4BAA4B,UAAS;gBAEzB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA8CrD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3E;;;OAGG;IAEG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3E;;;OAGG;IACG,QAAQ;;;IAqDd;;;OAGG;IACH,OAAO,CAAC,eAAe;IA4JvB;;;OAGG;IACH,cAAc;IAmBd;;;OAGG;IACH,iBAAiB;IAiEjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyDzB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAevB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuM/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAiDzC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAiExC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,UAAU,CAAC;AAUlB,OAAO,EAAmB,OAAO,EAAoD,MAAM,UAAU,CAAC;AAGtG,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAiCnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;;IACpD,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B,GAAG,EAAG,gBAAgB,CAAC;IAEvB,OAAO,EAAE,MAAM,CACb,MAAM,EAEJ;QACE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,4BAA4B,UAAS;gBAEzB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAiDrD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3E;;;OAGG;IAEG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3E;;;OAGG;IACG,QAAQ;;;IAqDd;;;OAGG;IACH,OAAO,CAAC,eAAe;IAuJvB;;;OAGG;IACH,cAAc;IAgBd;;;OAGG;IACH,iBAAiB;IAwEjB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAevB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuM/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAiDzC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAiExC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
@@ -1,5 +1,6 @@
1
1
  import path from 'node:path';
2
- import execa from 'execa';
2
+ import corePkg from '@readme/api-core/package.json' assert { type: 'json' };
3
+ import { execa } from 'execa';
3
4
  import setWith from 'lodash.setwith';
4
5
  import semver from 'semver';
5
6
  import { IndentationText, Project, QuoteKind, ScriptTarget, VariableDeclarationKind } from 'ts-morph';
@@ -30,6 +31,7 @@ export default class TSGenerator extends CodeGenerator {
30
31
  super(spec, specPath, identifier);
31
32
  this.requiredPackages = {
32
33
  '@readme/api-core': {
34
+ dependencyType: 'production',
33
35
  reason: "The core magic of your codegen'd SDK and is what is used for making requests.",
34
36
  url: 'https://npm.im/api',
35
37
  version:
@@ -38,18 +40,20 @@ export default class TSGenerator extends CodeGenerator {
38
40
  // (setting 'dev')" workspace error message because we're creating a funky circular
39
41
  // dependency.
40
42
  process.env.NODE_ENV === 'test'
41
- ? `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}`
42
- : '^7.0.0',
43
+ ? // eslint-disable-next-line unicorn/prefer-module
44
+ `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}`
45
+ : corePkg.version,
43
46
  },
44
- 'json-schema-to-ts': {
45
- reason: 'Required for TypeScript type handling.',
46
- url: 'https://npm.im/json-schema-to-ts',
47
- version: '^2.9.2',
47
+ tsup: {
48
+ dependencyType: 'development',
49
+ reason: "Used for compiling your codegen'd SDK into code that can be used in JS environments.",
50
+ url: 'https://tsup.egoist.dev/',
51
+ version: '^7.2.0',
48
52
  },
49
- oas: {
50
- reason: 'Used within `@readme/api-core` and is also loaded for TypeScript types.',
51
- url: 'https://npm.im/oas',
52
- version: '^23.0.0',
53
+ typescript: {
54
+ dependencyType: 'development',
55
+ reason: 'Required for `tsup`.',
56
+ version: '^5.2.2',
53
57
  },
54
58
  };
55
59
  this.project = new Project({
@@ -187,22 +191,17 @@ export default class TSGenerator extends CodeGenerator {
187
191
  defaultImport: 'type { ConfigOptions, FetchResponse, HTTPMethodRange }',
188
192
  moduleSpecifier: '@readme/api-core',
189
193
  },
190
- { defaultImport: 'Oas', moduleSpecifier: 'oas' },
191
194
  { defaultImport: 'APICore', moduleSpecifier: '@readme/api-core' },
192
195
  { defaultImport: 'definition', moduleSpecifier: this.specPath },
193
196
  ]);
194
197
  // @todo add TOS, License, info.* to a docblock at the top of the SDK.
195
198
  this.sdk = sourceFile.addClass({
196
199
  name: 'SDK',
197
- properties: [
198
- { name: 'spec', type: 'Oas' },
199
- { name: 'core', type: 'APICore' },
200
- ],
200
+ properties: [{ name: 'core', type: 'APICore' }],
201
201
  });
202
202
  this.sdk.addConstructor({
203
203
  statements: writer => {
204
- writer.writeLine('this.spec = Oas.init(definition);');
205
- writer.write('this.core = new APICore(this.spec, ').quote(this.userAgent).write(');');
204
+ writer.write('this.core = new APICore(definition, ').quote(this.userAgent).write(');');
206
205
  return writer;
207
206
  },
208
207
  });
@@ -321,13 +320,10 @@ sdk.server('https://eu.api.example.com/v14');`)),
321
320
  const sourceFile = this.project.createSourceFile('tsconfig.json', '');
322
321
  const config = {
323
322
  compilerOptions: {
324
- checkJs: true,
325
- esModuleInterop: true,
326
323
  module: 'NodeNext',
327
324
  resolveJsonModule: true,
328
325
  },
329
326
  include: ['./src/**/*'],
330
- exclude: ['dist'],
331
327
  };
332
328
  sourceFile.addStatements(JSON.stringify(config, null, 2));
333
329
  return sourceFile;
@@ -356,8 +352,6 @@ sdk.server('https://eu.api.example.com/v14');`)),
356
352
  // they're available to use.
357
353
  hasTypes ? './src/types.ts' : '',
358
354
  ].filter(Boolean),
359
- // TODO: figure this out
360
- // external: ['@readme/api-core'],
361
355
  format: ['esm', 'cjs'],
362
356
  minify: false,
363
357
  shims: true,
@@ -365,7 +359,10 @@ sdk.server('https://eu.api.example.com/v14');`)),
365
359
  splitting: true,
366
360
  };
367
361
  const dependencies = Object.entries(this.requiredPackages)
368
- .map(([dep, { version }]) => ({ [dep]: version }))
362
+ .map(([dep, { dependencyType, version }]) => (dependencyType === 'production' ? { [dep]: version } : {}))
363
+ .reduce((prev, next) => Object.assign(prev, next));
364
+ const devDependencies = Object.entries(this.requiredPackages)
365
+ .map(([dep, { dependencyType, version }]) => (dependencyType === 'development' ? { [dep]: version } : {}))
369
366
  .reduce((prev, next) => Object.assign(prev, next));
370
367
  const pkg = {
371
368
  name: `@api/${this.identifier}`,
@@ -387,7 +384,12 @@ sdk.server('https://eu.api.example.com/v14');`)),
387
384
  }
388
385
  : {}),
389
386
  },
387
+ files: ['dist'],
388
+ scripts: {
389
+ prepare: 'tsup',
390
+ },
390
391
  dependencies,
392
+ devDependencies,
391
393
  tsup: tsupOptions,
392
394
  };
393
395
  sourceFile.addStatements(JSON.stringify(pkg, null, 2));
@@ -411,9 +413,12 @@ sdk.server('https://eu.api.example.com/v14');`)),
411
413
  moduleSpecifier: `./schemas/${schemaName}`,
412
414
  });
413
415
  let str = JSON.stringify(schema);
414
- const referencedSchemas = str.match(REF_PLACEHOLDER_REGEX)?.map(s => s.replace(REF_PLACEHOLDER_REGEX, '$1'));
416
+ let referencedSchemas = str.match(REF_PLACEHOLDER_REGEX)?.map(s => s.replace(REF_PLACEHOLDER_REGEX, '$1'));
415
417
  if (referencedSchemas) {
416
418
  referencedSchemas.sort();
419
+ // Remove any duplicates so we don't add the same import multiple times into this schema
420
+ // file.
421
+ referencedSchemas = Array.from(new Set(referencedSchemas));
417
422
  referencedSchemas.forEach(ref => {
418
423
  // Because this schema is referenced from another file we need to create an `import`
419
424
  // declaration for it.
@@ -455,7 +460,7 @@ sdk.server('https://eu.api.example.com/v14');`)),
455
460
  createTypesFile(sourceDirectory) {
456
461
  const sourceFile = sourceDirectory.createSourceFile('types.ts', '');
457
462
  sourceFile.addImportDeclarations([
458
- { defaultImport: 'type { FromSchema }', moduleSpecifier: 'json-schema-to-ts' },
463
+ { defaultImport: 'type { FromSchema }', moduleSpecifier: '@readme/api-core/lib' },
459
464
  { defaultImport: '* as schemas', moduleSpecifier: './schemas' },
460
465
  ]);
461
466
  Array.from(new Map(Array.from(this.types.entries()).sort())).forEach(([typeName, typeExpression]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAY5C,QAAA,MAAM,GAAG,SAAgB,CAAC;AAuK1B,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C,QAAA,MAAM,GAAG,SAAgB,CAAC;AAsL1B,eAAe,GAAG,CAAC"}
@@ -2,6 +2,7 @@ import { Command, Option } from 'commander';
2
2
  import figures from 'figures';
3
3
  import Oas from 'oas';
4
4
  import ora from 'ora';
5
+ import uslug from 'uslug';
5
6
  import codegenFactory, { SupportedLanguages } from '../codegen/factory.js';
6
7
  import Fetcher from '../fetcher.js';
7
8
  import promptTerminal from '../lib/prompt.js';
@@ -37,6 +38,25 @@ cmd
37
38
  // @todo
38
39
  // logger(`It looks like you already have this API installed. Would you like to update it?`);
39
40
  }
41
+ let spinner = ora('Fetching your API definition').start();
42
+ const storage = new Storage(uri);
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
+ });
40
60
  let identifier;
41
61
  if (options.identifier) {
42
62
  // `Storage.isIdentifierValid` will throw an exception if an identifier is invalid.
@@ -51,7 +71,8 @@ cmd
51
71
  ({ value: identifier } = await promptTerminal({
52
72
  type: 'text',
53
73
  name: 'value',
54
- message: 'What would you like to identify this API as? This will be how you import the SDK. (e.g. entering `petstore` would result in `@api/petstore`)',
74
+ initial: oas.api?.info?.title ? uslug(oas.api.info.title, { lower: true }) : undefined,
75
+ message: 'What would you like to identify this API as? This will be how you use the SDK. (e.g. entering `petstore` would result in `@api/petstore`)',
55
76
  validate: value => {
56
77
  if (!value) {
57
78
  return false;
@@ -69,21 +90,10 @@ cmd
69
90
  logger('You must tell us what you would like to identify this API as in order to install it.', true);
70
91
  process.exit(1);
71
92
  }
72
- let spinner = ora('Fetching your API').start();
73
- const storage = new Storage(uri, identifier);
74
- const oas = await storage
75
- .load()
76
- .then(res => {
77
- spinner.succeed(spinner.text);
78
- return res;
79
- })
80
- .then(Oas.init)
81
- .catch(err => {
82
- // @todo cleanup installed files
83
- spinner.fail(spinner.text);
84
- logger(err.message, true);
85
- process.exit(1);
86
- });
93
+ // Now that we've got an identifier we can save their spec and generate the directory structure
94
+ // for their SDK.
95
+ storage.setIdentifier(identifier);
96
+ await storage.save(oas.api);
87
97
  // @todo look for a prettier config and if we find one ask them if we should use it
88
98
  spinner = ora('Generating your SDK').start();
89
99
  const generator = codegenFactory(language, oas, '../openapi.json', identifier);
@@ -114,7 +124,11 @@ cmd
114
124
  if (generator.hasRequiredPackages()) {
115
125
  logger(`${figures.warning} This generator requires some packages to be installed alongside it:`);
116
126
  Object.entries(generator.requiredPackages).forEach(([pkg, pkgInfo]) => {
117
- logger(` ${figures.pointerSmall} ${pkg}: ${pkgInfo.reason} ${pkgInfo.url}`);
127
+ let msg = ` ${figures.pointerSmall} ${pkg}: ${pkgInfo.reason}`;
128
+ if (pkgInfo.url) {
129
+ msg += ` ${pkgInfo.url}`;
130
+ }
131
+ logger(msg);
118
132
  });
119
133
  if (!options.yes) {
120
134
  await promptTerminal({
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,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;AAEtB,OAAO,cAAc,EAAE,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,0DAA0D;AAC1D,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,uCAAuC,CAAC;KACpD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,+BAA+B,EAAE,sCAAsC,CAAC;KAC/E,SAAS,CACR,IAAI,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CACpH;KACA,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC,CAAC;KACvF,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,OAA6D,EAAE,EAAE;IAC3F,IAAI,QAA4B,CAAC;IACjC,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,QAAQ,GAAG,OAAO,CAAC,IAA0B,CAAC;KAC/C;SAAM;QACL,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC;YAC1C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,CAAC;YAChE,OAAO,EAAE,CAAC;SACX,CAAC,CAAC,CAAC;KACL;IAED,yEAAyE;IACzE,2FAA2F;IAC3F,8DAA8D;IAE9D,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QACzC,QAAQ;QACR,6FAA6F;KAC9F;IAED,IAAI,UAAU,CAAC;IACf,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,mFAAmF;QACnF,IAAI,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACjD,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SACjC;KACF;SAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;QACzC,UAAU,GAAG,OAAO,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC;KAC5D;SAAM;QACL,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC;YAC5C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EACL,8IAA8I;YAChJ,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAChB,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,KAAK,CAAC;iBACd;gBAED,IAAI;oBACF,OAAO,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC/C;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,GAAG,CAAC,OAAO,CAAC;iBACpB;YACH,CAAC;SACF,CAAC,CAAC,CAAC;KACL;IAED,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,CAAC,sFAAsF,EAAE,IAAI,CAAC,CAAC;QACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,IAAI,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,MAAM,OAAO;SACtB,IAAI,EAAE;SACN,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,gCAAgC;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,mFAAmF;IACnF,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,MAAM,SAAS;SAC9B,QAAQ,EAAE;SACV,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,gCAAgC;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,GAAG,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,MAAM,OAAO;SACV,eAAe,CAAC,SAAS,CAAC;SAC1B,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,gCAAgC;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,sEAAsE,CAAC,CAAC;QACjG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;YACpE,MAAM,CAAC,KAAK,OAAO,CAAC,YAAY,IAAI,GAAG,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,MAAM,cAAc,CAAC;gBACnB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACpB,IAAI,CAAC,KAAK,EAAE;oBACV,gCAAgC;oBAChC,MAAM,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI;YACF,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B;QAAC,OAAO,GAAG,EAAE;YACZ,gCAAgC;YAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IAED,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5C,IAAI;QACF,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC/B;IAAC,OAAO,GAAG,EAAE;QACZ,gCAAgC;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC,CAAC;KACD,WAAW,CACV,OAAO,EACP;;;;gCAI4B,CAC7B,CAAC;AAEJ,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
package/dist/fetcher.d.ts CHANGED
@@ -2,6 +2,8 @@ import type { OASDocument } from 'oas/rmoas.types';
2
2
  export default class Fetcher {
3
3
  uri: string | OASDocument;
4
4
  /**
5
+ * @note This regex also exists in `httpsnippet-client-api`.
6
+ *
5
7
  * @example @petstore/v1.0#n6kvf10vakpemvplx
6
8
  * @example @petstore#n6kvf10vakpemvplx
7
9
  */
@@ -9,6 +11,9 @@ export default class Fetcher {
9
11
  constructor(uri: string | OASDocument);
10
12
  static isAPIRegistryUUID(uri: string): boolean;
11
13
  static isGitHubBlobURL(uri: string): boolean;
14
+ /**
15
+ * @note This function also exists in `httpsnippet-client-api`.
16
+ */
12
17
  static getProjectPrefixFromRegistryUUID(uri: string): string | undefined;
13
18
  load(): Promise<(import("openapi-types").OpenAPIV3.Document<{}> & Record<string, unknown>) | (Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
14
19
  info: import("openapi-types").OpenAPIV3_1.InfoObject;
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;IAE1B;;;OAGG;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,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"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,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"}
package/dist/fetcher.js CHANGED
@@ -5,6 +5,8 @@ import yaml from 'js-yaml';
5
5
  export default class Fetcher {
6
6
  uri;
7
7
  /**
8
+ * @note This regex also exists in `httpsnippet-client-api`.
9
+ *
8
10
  * @example @petstore/v1.0#n6kvf10vakpemvplx
9
11
  * @example @petstore#n6kvf10vakpemvplx
10
12
  */
@@ -39,6 +41,9 @@ export default class Fetcher {
39
41
  static isGitHubBlobURL(uri) {
40
42
  return /\/\/github.com\/[-_a-zA-Z0-9]+\/[-_a-zA-Z0-9]+\/blob\/(.*).(yaml|json|yml)/.test(uri);
41
43
  }
44
+ /**
45
+ * @note This function also exists in `httpsnippet-client-api`.
46
+ */
42
47
  static getProjectPrefixFromRegistryUUID(uri) {
43
48
  const matches = uri.match(Fetcher.registryUUIDRegex);
44
49
  if (!matches) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const PACKAGE_NAME = "api";
2
- export declare const PACKAGE_VERSION = "7.0.0-alpha.5";
2
+ export declare const PACKAGE_VERSION = "7.0.0-beta.0";
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,kBAAkB,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,iBAAiB,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-alpha.5';
3
+ export const PACKAGE_VERSION = '7.0.0-beta.0';
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,eAAe,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,cAAc,CAAC"}
package/dist/storage.d.ts CHANGED
@@ -40,7 +40,7 @@ export default class Storage {
40
40
  getIdentifierStorageDir(): string;
41
41
  getAPIDefinition(): any;
42
42
  saveSourceFiles(files: Record<string, string>): Promise<unknown>;
43
- load(): Promise<OASDocument>;
43
+ load(shouldSave?: boolean): Promise<OASDocument>;
44
44
  /**
45
45
  * @example <caption>Storage directory structure</caption>
46
46
  * .api/
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,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;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAG,MAAM,CAAC;IAEpB,OAAO,EAAE,OAAO,CAAC;gBAEL,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAc/C,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;IAOrC,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,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,eAAe;IAKf,uBAAuB;IAQvB,gBAAgB;IAMhB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA4BvC,IAAI;IAIV;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,CAAC,IAAI,EAAE,WAAW;CA0CvB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,WAAW,EAAE,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC;CAChB;AAED,UAAU,WAAW;IACnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,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;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAG,MAAM,CAAC;IAEpB,OAAO,EAAE,OAAO,CAAC;gBAEL,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAc/C,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;IAOrC,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,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,eAAe;IAKf,uBAAuB;IAQvB,gBAAgB;IAMhB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA4BvC,IAAI,CAAC,UAAU,GAAE,OAAc;IAUrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,CAAC,IAAI,EAAE,WAAW;CA0CvB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,WAAW,EAAE,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC;CAChB;AAED,UAAU,WAAW;IACnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/dist/storage.js CHANGED
@@ -164,8 +164,13 @@ export default class Storage {
164
164
  resolve(savedSource);
165
165
  });
166
166
  }
167
- async load() {
168
- return this.fetcher.load().then(async (spec) => this.save(spec));
167
+ async load(shouldSave = true) {
168
+ return this.fetcher.load().then(async (spec) => {
169
+ if (shouldSave) {
170
+ return this.save(spec);
171
+ }
172
+ return spec;
173
+ });
169
174
  }
170
175
  /**
171
176
  * @example <caption>Storage directory structure</caption>
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "api",
3
- "version": "7.0.0-alpha.5",
3
+ "version": "7.0.0-beta.0",
4
4
  "description": "Magical SDK generation from an OpenAPI definition 🪄",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,7 +9,7 @@
9
9
  "scripts": {
10
10
  "attw": "attw --pack --format table-flipped",
11
11
  "build": "tsc",
12
- "debug:bin": "node --loader ts-node/esm src/bin.ts",
12
+ "debug:bin": "NODE_OPTIONS=--no-warnings node --loader ts-node/esm src/bin.ts",
13
13
  "lint:types": "tsc --noEmit",
14
14
  "prebuild": "rm -rf dist/; npm run version",
15
15
  "prepack": "npm run build",
@@ -38,47 +38,48 @@
38
38
  "swagger"
39
39
  ],
40
40
  "dependencies": {
41
+ "@readme/api-core": "^7.0.0-beta.0",
41
42
  "@readme/openapi-parser": "^2.4.0",
42
- "chalk": "^4.1.2",
43
- "commander": "^11.0.0",
44
- "execa": "^5.1.1",
45
- "figures": "^3.2.0",
43
+ "chalk": "^5.3.0",
44
+ "commander": "^11.1.0",
45
+ "execa": "^8.0.1",
46
+ "figures": "^5.0.0",
46
47
  "js-yaml": "^4.1.0",
47
- "json-schema-to-ts": "^2.9.2",
48
48
  "lodash.camelcase": "^4.3.0",
49
49
  "lodash.deburr": "^4.1.0",
50
50
  "lodash.setwith": "^4.3.2",
51
51
  "lodash.startcase": "^4.4.0",
52
52
  "oas": "^23.0.0",
53
- "ora": "^5.4.1",
53
+ "ora": "^7.0.1",
54
54
  "prompts": "^2.4.2",
55
55
  "semver": "^7.3.8",
56
56
  "ssri": "^10.0.1",
57
57
  "ts-morph": "^20.0.0",
58
- "tsup": "^7.2.0",
58
+ "uslug": "^1.0.4",
59
59
  "validate-npm-package-name": "^5.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@api/test-utils": "^7.0.0-alpha.5",
63
- "@readme/api-core": "^7.0.0-alpha.5",
62
+ "@api/test-utils": "^7.0.0-beta.0",
64
63
  "@readme/oas-examples": "^5.12.0",
65
- "@types/js-yaml": "^4.0.5",
64
+ "@types/js-yaml": "^4.0.7",
66
65
  "@types/lodash.camelcase": "^4.3.7",
67
66
  "@types/lodash.deburr": "^4.1.7",
68
67
  "@types/lodash.setwith": "^4.3.7",
69
68
  "@types/lodash.startcase": "^4.4.7",
70
- "@types/prompts": "^2.4.4",
69
+ "@types/prompts": "^2.4.6",
71
70
  "@types/semver": "^7.5.1",
72
71
  "@types/ssri": "^7.1.1",
72
+ "@types/uslug": "^1.0.2",
73
73
  "@types/validate-npm-package-name": "^4.0.0",
74
74
  "@vitest/coverage-v8": "^0.34.4",
75
75
  "fetch-mock": "^9.11.0",
76
76
  "oas-normalize": "^11.0.1",
77
- "type-fest": "^4.3.1",
77
+ "tsup": "^7.2.0",
78
+ "type-fest": "^4.4.0",
78
79
  "typescript": "^5.2.2",
79
80
  "unique-temp-dir": "^1.0.0",
80
81
  "vitest": "^0.34.5"
81
82
  },
82
83
  "prettier": "@readme/eslint-config/prettier",
83
- "gitHead": "b1e705dddedd223f360f1dfe620ae721f54af88b"
84
+ "gitHead": "6ea3f3468343cea16536dda9460d8f0c65fa35c8"
84
85
  }
@@ -28,8 +28,9 @@ export default abstract class CodeGenerator {
28
28
  requiredPackages!: Record<
29
29
  string,
30
30
  {
31
+ dependencyType: 'production' | 'development';
31
32
  reason: string;
32
- url: string;
33
+ url?: string;
33
34
  version: string;
34
35
  }
35
36
  >;
@@ -17,7 +17,8 @@ import type { JsonObject, PackageJson, TsConfigJson } from 'type-fest';
17
17
 
18
18
  import path from 'node:path';
19
19
 
20
- import execa from 'execa';
20
+ import corePkg from '@readme/api-core/package.json' assert { type: 'json' };
21
+ import { execa } from 'execa';
21
22
  import setWith from 'lodash.setwith';
22
23
  import semver from 'semver';
23
24
  import { IndentationText, Project, QuoteKind, ScriptTarget, VariableDeclarationKind } from 'ts-morph';
@@ -82,6 +83,7 @@ export default class TSGenerator extends CodeGenerator {
82
83
 
83
84
  this.requiredPackages = {
84
85
  '@readme/api-core': {
86
+ dependencyType: 'production',
85
87
  reason: "The core magic of your codegen'd SDK and is what is used for making requests.",
86
88
  url: 'https://npm.im/api',
87
89
  version:
@@ -90,18 +92,20 @@ export default class TSGenerator extends CodeGenerator {
90
92
  // (setting 'dev')" workspace error message because we're creating a funky circular
91
93
  // dependency.
92
94
  process.env.NODE_ENV === 'test'
93
- ? `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}`
94
- : '^7.0.0',
95
+ ? // eslint-disable-next-line unicorn/prefer-module
96
+ `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}`
97
+ : corePkg.version,
95
98
  },
96
- 'json-schema-to-ts': {
97
- reason: 'Required for TypeScript type handling.',
98
- url: 'https://npm.im/json-schema-to-ts',
99
- version: '^2.9.2',
99
+ tsup: {
100
+ dependencyType: 'development',
101
+ reason: "Used for compiling your codegen'd SDK into code that can be used in JS environments.",
102
+ url: 'https://tsup.egoist.dev/',
103
+ version: '^7.2.0',
100
104
  },
101
- oas: {
102
- reason: 'Used within `@readme/api-core` and is also loaded for TypeScript types.',
103
- url: 'https://npm.im/oas',
104
- version: '^23.0.0',
105
+ typescript: {
106
+ dependencyType: 'development',
107
+ reason: 'Required for `tsup`.',
108
+ version: '^5.2.2',
105
109
  },
106
110
  };
107
111
 
@@ -260,7 +264,6 @@ export default class TSGenerator extends CodeGenerator {
260
264
  defaultImport: 'type { ConfigOptions, FetchResponse, HTTPMethodRange }',
261
265
  moduleSpecifier: '@readme/api-core',
262
266
  },
263
- { defaultImport: 'Oas', moduleSpecifier: 'oas' },
264
267
  { defaultImport: 'APICore', moduleSpecifier: '@readme/api-core' },
265
268
  { defaultImport: 'definition', moduleSpecifier: this.specPath },
266
269
  ]);
@@ -268,16 +271,12 @@ export default class TSGenerator extends CodeGenerator {
268
271
  // @todo add TOS, License, info.* to a docblock at the top of the SDK.
269
272
  this.sdk = sourceFile.addClass({
270
273
  name: 'SDK',
271
- properties: [
272
- { name: 'spec', type: 'Oas' },
273
- { name: 'core', type: 'APICore' },
274
- ],
274
+ properties: [{ name: 'core', type: 'APICore' }],
275
275
  });
276
276
 
277
277
  this.sdk.addConstructor({
278
278
  statements: writer => {
279
- writer.writeLine('this.spec = Oas.init(definition);');
280
- writer.write('this.core = new APICore(this.spec, ').quote(this.userAgent).write(');');
279
+ writer.write('this.core = new APICore(definition, ').quote(this.userAgent).write(');');
281
280
  return writer;
282
281
  },
283
282
  });
@@ -412,13 +411,10 @@ sdk.server('https://eu.api.example.com/v14');`),
412
411
 
413
412
  const config: TsConfigJson = {
414
413
  compilerOptions: {
415
- checkJs: true,
416
- esModuleInterop: true,
417
414
  module: 'NodeNext',
418
415
  resolveJsonModule: true,
419
416
  },
420
417
  include: ['./src/**/*'],
421
- exclude: ['dist'],
422
418
  };
423
419
 
424
420
  sourceFile.addStatements(JSON.stringify(config, null, 2));
@@ -453,8 +449,6 @@ sdk.server('https://eu.api.example.com/v14');`),
453
449
  // they're available to use.
454
450
  hasTypes ? './src/types.ts' : '',
455
451
  ].filter(Boolean),
456
- // TODO: figure this out
457
- // external: ['@readme/api-core'],
458
452
  format: ['esm', 'cjs'],
459
453
  minify: false,
460
454
  shims: true,
@@ -463,7 +457,11 @@ sdk.server('https://eu.api.example.com/v14');`),
463
457
  };
464
458
 
465
459
  const dependencies = Object.entries(this.requiredPackages)
466
- .map(([dep, { version }]) => ({ [dep]: version }))
460
+ .map(([dep, { dependencyType, version }]) => (dependencyType === 'production' ? { [dep]: version } : {}))
461
+ .reduce((prev, next) => Object.assign(prev, next));
462
+
463
+ const devDependencies = Object.entries(this.requiredPackages)
464
+ .map(([dep, { dependencyType, version }]) => (dependencyType === 'development' ? { [dep]: version } : {}))
467
465
  .reduce((prev, next) => Object.assign(prev, next));
468
466
 
469
467
  const pkg: PackageJson = {
@@ -486,7 +484,12 @@ sdk.server('https://eu.api.example.com/v14');`),
486
484
  }
487
485
  : {}),
488
486
  },
487
+ files: ['dist'],
488
+ scripts: {
489
+ prepare: 'tsup',
490
+ },
489
491
  dependencies,
492
+ devDependencies,
490
493
  tsup: tsupOptions as JsonObject,
491
494
  };
492
495
 
@@ -517,9 +520,14 @@ sdk.server('https://eu.api.example.com/v14');`),
517
520
  });
518
521
 
519
522
  let str = JSON.stringify(schema);
520
- const referencedSchemas = str.match(REF_PLACEHOLDER_REGEX)?.map(s => s.replace(REF_PLACEHOLDER_REGEX, '$1'));
523
+ let referencedSchemas = str.match(REF_PLACEHOLDER_REGEX)?.map(s => s.replace(REF_PLACEHOLDER_REGEX, '$1'));
521
524
  if (referencedSchemas) {
522
525
  referencedSchemas.sort();
526
+
527
+ // Remove any duplicates so we don't add the same import multiple times into this schema
528
+ // file.
529
+ referencedSchemas = Array.from(new Set(referencedSchemas));
530
+
523
531
  referencedSchemas.forEach(ref => {
524
532
  // Because this schema is referenced from another file we need to create an `import`
525
533
  // declaration for it.
@@ -568,7 +576,7 @@ sdk.server('https://eu.api.example.com/v14');`),
568
576
  const sourceFile = sourceDirectory.createSourceFile('types.ts', '');
569
577
 
570
578
  sourceFile.addImportDeclarations([
571
- { defaultImport: 'type { FromSchema }', moduleSpecifier: 'json-schema-to-ts' },
579
+ { defaultImport: 'type { FromSchema }', moduleSpecifier: '@readme/api-core/lib' },
572
580
  { defaultImport: '* as schemas', moduleSpecifier: './schemas' },
573
581
  ]);
574
582
 
@@ -2,6 +2,7 @@ import { Command, Option } from 'commander';
2
2
  import figures from 'figures';
3
3
  import Oas from 'oas';
4
4
  import ora from 'ora';
5
+ import uslug from 'uslug';
5
6
 
6
7
  import codegenFactory, { SupportedLanguages } from '../codegen/factory.js';
7
8
  import Fetcher from '../fetcher.js';
@@ -43,6 +44,27 @@ cmd
43
44
  // logger(`It looks like you already have this API installed. Would you like to update it?`);
44
45
  }
45
46
 
47
+ let spinner = ora('Fetching your API definition').start();
48
+ const storage = new Storage(uri);
49
+
50
+ const oas = await storage
51
+ .load(false)
52
+ .then(res => {
53
+ spinner.succeed(spinner.text);
54
+ return res;
55
+ })
56
+ .then(Oas.init)
57
+ .then(async spec => {
58
+ await spec.dereference({ preserveRefAsJSONSchemaTitle: true });
59
+ return spec;
60
+ })
61
+ .catch(err => {
62
+ // @todo cleanup installed files
63
+ spinner.fail(spinner.text);
64
+ logger(err.message, true);
65
+ process.exit(1);
66
+ });
67
+
46
68
  let identifier;
47
69
  if (options.identifier) {
48
70
  // `Storage.isIdentifierValid` will throw an exception if an identifier is invalid.
@@ -55,8 +77,9 @@ cmd
55
77
  ({ value: identifier } = await promptTerminal({
56
78
  type: 'text',
57
79
  name: 'value',
80
+ initial: oas.api?.info?.title ? uslug(oas.api.info.title, { lower: true }) : undefined,
58
81
  message:
59
- 'What would you like to identify this API as? This will be how you import the SDK. (e.g. entering `petstore` would result in `@api/petstore`)',
82
+ 'What would you like to identify this API as? This will be how you use the SDK. (e.g. entering `petstore` would result in `@api/petstore`)',
60
83
  validate: value => {
61
84
  if (!value) {
62
85
  return false;
@@ -76,22 +99,10 @@ cmd
76
99
  process.exit(1);
77
100
  }
78
101
 
79
- let spinner = ora('Fetching your API').start();
80
- const storage = new Storage(uri, identifier);
81
-
82
- const oas = await storage
83
- .load()
84
- .then(res => {
85
- spinner.succeed(spinner.text);
86
- return res;
87
- })
88
- .then(Oas.init)
89
- .catch(err => {
90
- // @todo cleanup installed files
91
- spinner.fail(spinner.text);
92
- logger(err.message, true);
93
- process.exit(1);
94
- });
102
+ // Now that we've got an identifier we can save their spec and generate the directory structure
103
+ // for their SDK.
104
+ storage.setIdentifier(identifier);
105
+ await storage.save(oas.api);
95
106
 
96
107
  // @todo look for a prettier config and if we find one ask them if we should use it
97
108
  spinner = ora('Generating your SDK').start();
@@ -125,7 +136,12 @@ cmd
125
136
  if (generator.hasRequiredPackages()) {
126
137
  logger(`${figures.warning} This generator requires some packages to be installed alongside it:`);
127
138
  Object.entries(generator.requiredPackages).forEach(([pkg, pkgInfo]) => {
128
- logger(` ${figures.pointerSmall} ${pkg}: ${pkgInfo.reason} ${pkgInfo.url}`);
139
+ let msg = ` ${figures.pointerSmall} ${pkg}: ${pkgInfo.reason}`;
140
+ if (pkgInfo.url) {
141
+ msg += ` ${pkgInfo.url}`;
142
+ }
143
+
144
+ logger(msg);
129
145
  });
130
146
 
131
147
  if (!options.yes) {
package/src/fetcher.ts CHANGED
@@ -10,6 +10,8 @@ export default class Fetcher {
10
10
  uri: string | OASDocument;
11
11
 
12
12
  /**
13
+ * @note This regex also exists in `httpsnippet-client-api`.
14
+ *
13
15
  * @example @petstore/v1.0#n6kvf10vakpemvplx
14
16
  * @example @petstore#n6kvf10vakpemvplx
15
17
  */
@@ -45,6 +47,9 @@ export default class Fetcher {
45
47
  return /\/\/github.com\/[-_a-zA-Z0-9]+\/[-_a-zA-Z0-9]+\/blob\/(.*).(yaml|json|yml)/.test(uri);
46
48
  }
47
49
 
50
+ /**
51
+ * @note This function also exists in `httpsnippet-client-api`.
52
+ */
48
53
  static getProjectPrefixFromRegistryUUID(uri: string) {
49
54
  const matches = uri.match(Fetcher.registryUUIDRegex);
50
55
  if (!matches) {
@@ -1,3 +1,3 @@
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-alpha.5';
3
+ export const PACKAGE_VERSION = '7.0.0-beta.0';
package/src/storage.ts CHANGED
@@ -212,8 +212,14 @@ export default class Storage {
212
212
  });
213
213
  }
214
214
 
215
- async load() {
216
- return this.fetcher.load().then(async spec => this.save(spec));
215
+ async load(shouldSave: boolean = true) {
216
+ return this.fetcher.load().then(async spec => {
217
+ if (shouldSave) {
218
+ return this.save(spec);
219
+ }
220
+
221
+ return spec;
222
+ });
217
223
  }
218
224
 
219
225
  /**
package/tsconfig.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "esModuleInterop": true,
5
4
  "lib": ["DOM", "DOM.Iterable", "ES2023"],
6
- "outDir": "dist/"
5
+ "module": "NodeNext",
6
+ "outDir": "dist/",
7
+ "resolveJsonModule": true
7
8
  },
8
9
  "include": ["./src/**/*"]
9
10
  }