@fern-api/generator-cli 0.0.31 → 0.0.32

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 (2) hide show
  1. package/dist/cli.cjs +309 -242
  2. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -34,7 +34,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
34
34
  var require_build = __commonJS({
35
35
  "../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/build/index.cjs"(exports2, module2) {
36
36
  "use strict";
37
- var fs2 = require("fs");
37
+ var fs3 = require("fs");
38
38
  var util = require("util");
39
39
  var path4 = require("path");
40
40
  var shim2;
@@ -198,14 +198,14 @@ var require_build = __commonJS({
198
198
  }
199
199
  var nodePlatformShim = {
200
200
  fs: {
201
- readFileSync: fs2.readFileSync,
202
- writeFile: fs2.writeFile
201
+ readFileSync: fs3.readFileSync,
202
+ writeFile: fs3.writeFile
203
203
  },
204
204
  format: util.format,
205
205
  resolve: path4.resolve,
206
206
  exists: (file) => {
207
207
  try {
208
- return fs2.statSync(file).isFile();
208
+ return fs3.statSync(file).isFile();
209
209
  } catch (err) {
210
210
  return false;
211
211
  }
@@ -224,7 +224,7 @@ var require_build2 = __commonJS({
224
224
  "use strict";
225
225
  var util = require("util");
226
226
  var path4 = require("path");
227
- var fs2 = require("fs");
227
+ var fs3 = require("fs");
228
228
  function camelCase3(str) {
229
229
  const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();
230
230
  if (!isCamelCase) {
@@ -1173,7 +1173,7 @@ var require_build2 = __commonJS({
1173
1173
  if (typeof require !== "undefined") {
1174
1174
  return require(path5);
1175
1175
  } else if (path5.match(/\.json$/)) {
1176
- return JSON.parse(fs2.readFileSync(path5, "utf8"));
1176
+ return JSON.parse(fs3.readFileSync(path5, "utf8"));
1177
1177
  } else {
1178
1178
  throw Error("only .json config files are supported in ESM");
1179
1179
  }
@@ -2881,7 +2881,7 @@ var require_get_caller_file = __commonJS({
2881
2881
  var require_require_directory = __commonJS({
2882
2882
  "../../node_modules/.pnpm/require-directory@2.1.1/node_modules/require-directory/index.js"(exports2, module2) {
2883
2883
  "use strict";
2884
- var fs2 = require("fs");
2884
+ var fs3 = require("fs");
2885
2885
  var join = require("path").join;
2886
2886
  var resolve7 = require("path").resolve;
2887
2887
  var dirname3 = require("path").dirname;
@@ -2918,9 +2918,9 @@ var require_require_directory = __commonJS({
2918
2918
  }
2919
2919
  }
2920
2920
  path4 = !path4 ? dirname3(m.filename) : resolve7(dirname3(m.filename), path4);
2921
- fs2.readdirSync(path4).forEach(function(filename) {
2921
+ fs3.readdirSync(path4).forEach(function(filename) {
2922
2922
  var joined = join(path4, filename), files, key, obj;
2923
- if (fs2.statSync(joined).isDirectory() && options.recurse) {
2923
+ if (fs3.statSync(joined).isDirectory() && options.recurse) {
2924
2924
  files = requireDirectory(m, joined, options);
2925
2925
  if (Object.keys(files).length) {
2926
2926
  retval[options.rename(filename, joined, filename)] = files;
@@ -4562,11 +4562,11 @@ ${t5.join("\n")}` : "";
4562
4562
  var require_tmp = __commonJS({
4563
4563
  "../../node_modules/.pnpm/tmp@0.2.3/node_modules/tmp/lib/tmp.js"(exports2, module2) {
4564
4564
  "use strict";
4565
- var fs2 = require("fs");
4565
+ var fs3 = require("fs");
4566
4566
  var os = require("os");
4567
4567
  var path4 = require("path");
4568
4568
  var crypto = require("crypto");
4569
- var _c2 = { fs: fs2.constants, os: os.constants };
4569
+ var _c2 = { fs: fs3.constants, os: os.constants };
4570
4570
  var RANDOM_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
4571
4571
  var TEMPLATE_PATTERN = /XXXXXX/;
4572
4572
  var DEFAULT_TRIES = 3;
@@ -4578,13 +4578,13 @@ var require_tmp = __commonJS({
4578
4578
  var FILE_MODE = 384;
4579
4579
  var EXIT = "exit";
4580
4580
  var _removeObjects = [];
4581
- var FN_RMDIR_SYNC = fs2.rmdirSync.bind(fs2);
4581
+ var FN_RMDIR_SYNC = fs3.rmdirSync.bind(fs3);
4582
4582
  var _gracefulCleanup = false;
4583
4583
  function rimraf(dirPath, callback) {
4584
- return fs2.rm(dirPath, { recursive: true }, callback);
4584
+ return fs3.rm(dirPath, { recursive: true }, callback);
4585
4585
  }
4586
4586
  function FN_RIMRAF_SYNC(dirPath) {
4587
- return fs2.rmSync(dirPath, { recursive: true });
4587
+ return fs3.rmSync(dirPath, { recursive: true });
4588
4588
  }
4589
4589
  function tmpName(options, callback) {
4590
4590
  const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
@@ -4597,7 +4597,7 @@ var require_tmp = __commonJS({
4597
4597
  (function _getUniqueName() {
4598
4598
  try {
4599
4599
  const name = _generateTmpName(opts);
4600
- fs2.stat(name, function(err) {
4600
+ fs3.stat(name, function(err) {
4601
4601
  if (!err) {
4602
4602
  if (tries-- > 0) return _getUniqueName();
4603
4603
  return cb(new Error("Could not get a unique tmp filename, max tries reached " + name));
@@ -4616,7 +4616,7 @@ var require_tmp = __commonJS({
4616
4616
  do {
4617
4617
  const name = _generateTmpName(opts);
4618
4618
  try {
4619
- fs2.statSync(name);
4619
+ fs3.statSync(name);
4620
4620
  } catch (e) {
4621
4621
  return name;
4622
4622
  }
@@ -4627,10 +4627,10 @@ var require_tmp = __commonJS({
4627
4627
  const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
4628
4628
  tmpName(opts, function _tmpNameCreated(err, name) {
4629
4629
  if (err) return cb(err);
4630
- fs2.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err2, fd) {
4630
+ fs3.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err2, fd) {
4631
4631
  if (err2) return cb(err2);
4632
4632
  if (opts.discardDescriptor) {
4633
- return fs2.close(fd, function _discardCallback(possibleErr) {
4633
+ return fs3.close(fd, function _discardCallback(possibleErr) {
4634
4634
  return cb(possibleErr, name, void 0, _prepareTmpFileRemoveCallback(name, -1, opts, false));
4635
4635
  });
4636
4636
  } else {
@@ -4644,9 +4644,9 @@ var require_tmp = __commonJS({
4644
4644
  const args = _parseArguments(options), opts = args[0];
4645
4645
  const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor;
4646
4646
  const name = tmpNameSync(opts);
4647
- var fd = fs2.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
4647
+ var fd = fs3.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
4648
4648
  if (opts.discardDescriptor) {
4649
- fs2.closeSync(fd);
4649
+ fs3.closeSync(fd);
4650
4650
  fd = void 0;
4651
4651
  }
4652
4652
  return {
@@ -4659,7 +4659,7 @@ var require_tmp = __commonJS({
4659
4659
  const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
4660
4660
  tmpName(opts, function _tmpNameCreated(err, name) {
4661
4661
  if (err) return cb(err);
4662
- fs2.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err2) {
4662
+ fs3.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err2) {
4663
4663
  if (err2) return cb(err2);
4664
4664
  cb(null, name, _prepareTmpDirRemoveCallback(name, opts, false));
4665
4665
  });
@@ -4668,7 +4668,7 @@ var require_tmp = __commonJS({
4668
4668
  function dirSync(options) {
4669
4669
  const args = _parseArguments(options), opts = args[0];
4670
4670
  const name = tmpNameSync(opts);
4671
- fs2.mkdirSync(name, opts.mode || DIR_MODE);
4671
+ fs3.mkdirSync(name, opts.mode || DIR_MODE);
4672
4672
  return {
4673
4673
  name,
4674
4674
  removeCallback: _prepareTmpDirRemoveCallback(name, opts, true)
@@ -4682,20 +4682,20 @@ var require_tmp = __commonJS({
4682
4682
  next();
4683
4683
  };
4684
4684
  if (0 <= fdPath[0])
4685
- fs2.close(fdPath[0], function() {
4686
- fs2.unlink(fdPath[1], _handler);
4685
+ fs3.close(fdPath[0], function() {
4686
+ fs3.unlink(fdPath[1], _handler);
4687
4687
  });
4688
- else fs2.unlink(fdPath[1], _handler);
4688
+ else fs3.unlink(fdPath[1], _handler);
4689
4689
  }
4690
4690
  function _removeFileSync(fdPath) {
4691
4691
  let rethrownException = null;
4692
4692
  try {
4693
- if (0 <= fdPath[0]) fs2.closeSync(fdPath[0]);
4693
+ if (0 <= fdPath[0]) fs3.closeSync(fdPath[0]);
4694
4694
  } catch (e) {
4695
4695
  if (!_isEBADF(e) && !_isENOENT(e)) throw e;
4696
4696
  } finally {
4697
4697
  try {
4698
- fs2.unlinkSync(fdPath[1]);
4698
+ fs3.unlinkSync(fdPath[1]);
4699
4699
  } catch (e) {
4700
4700
  if (!_isENOENT(e)) rethrownException = e;
4701
4701
  }
@@ -4711,7 +4711,7 @@ var require_tmp = __commonJS({
4711
4711
  return sync ? removeCallbackSync : removeCallback;
4712
4712
  }
4713
4713
  function _prepareTmpDirRemoveCallback(name, opts, sync) {
4714
- const removeFunction = opts.unsafeCleanup ? rimraf : fs2.rmdir.bind(fs2);
4714
+ const removeFunction = opts.unsafeCleanup ? rimraf : fs3.rmdir.bind(fs3);
4715
4715
  const removeFunctionSync = opts.unsafeCleanup ? FN_RIMRAF_SYNC : FN_RMDIR_SYNC;
4716
4716
  const removeCallbackSync = _prepareRemoveCallback(removeFunctionSync, name, sync);
4717
4717
  const removeCallback = _prepareRemoveCallback(removeFunction, name, sync, removeCallbackSync);
@@ -6417,7 +6417,7 @@ var require_dist2 = __commonJS({
6417
6417
  });
6418
6418
 
6419
6419
  // src/cli.ts
6420
- var import_fs5 = __toESM(require("fs"), 1);
6420
+ var import_fs6 = __toESM(require("fs"), 1);
6421
6421
  var import_promises6 = require("fs/promises");
6422
6422
  var import_path7 = __toESM(require("path"), 1);
6423
6423
 
@@ -13047,17 +13047,18 @@ var Language = {
13047
13047
  };
13048
13048
 
13049
13049
  // src/utils/Writer.ts
13050
+ var import_fs5 = __toESM(require("fs"), 1);
13050
13051
  var Writer = class {
13051
- writeCodeBlock(language, content) {
13052
- this.writeLine("```" + language);
13053
- this.write(content);
13054
- this.writeLine("```");
13052
+ async writeCodeBlock(language, content) {
13053
+ await this.writeLine(`\`\`\`${language}`);
13054
+ await this.write(content);
13055
+ await this.writeLine("```");
13055
13056
  }
13056
- writeLine(content) {
13057
+ async writeLine(content) {
13057
13058
  if (content === void 0) {
13058
- this.write("\n");
13059
+ await this.write("\n");
13059
13060
  } else {
13060
- this.write(`${content}
13061
+ await this.write(`${content}
13061
13062
  `);
13062
13063
  }
13063
13064
  }
@@ -13068,11 +13069,57 @@ var StreamWriter = class extends Writer {
13068
13069
  this.stream = stream;
13069
13070
  this.stream = stream;
13070
13071
  }
13071
- write(content) {
13072
- this.stream.write(content);
13072
+ async write(content) {
13073
+ return new Promise((resolve7, reject) => {
13074
+ const handleError = (err) => {
13075
+ this.stream.removeListener("error", handleError);
13076
+ reject(err);
13077
+ };
13078
+ if (this.stream instanceof import_fs5.default.WriteStream) {
13079
+ const canWrite = this.stream.write(
13080
+ content,
13081
+ (error) => {
13082
+ this.stream.removeListener("error", handleError);
13083
+ if (error) {
13084
+ reject(error);
13085
+ } else {
13086
+ resolve7();
13087
+ }
13088
+ }
13089
+ );
13090
+ this.stream.once("error", handleError);
13091
+ if (!canWrite) {
13092
+ this.stream.once("drain", resolve7);
13093
+ }
13094
+ } else {
13095
+ const canWrite = this.stream.write(content);
13096
+ this.stream.once("error", handleError);
13097
+ if (!canWrite) {
13098
+ this.stream.once("drain", () => {
13099
+ this.stream.removeListener("error", handleError);
13100
+ resolve7();
13101
+ });
13102
+ } else {
13103
+ this.stream.removeListener("error", handleError);
13104
+ resolve7();
13105
+ }
13106
+ }
13107
+ });
13073
13108
  }
13074
13109
  end() {
13075
- this.stream.end();
13110
+ return new Promise((resolve7, reject) => {
13111
+ if (this.stream instanceof import_fs5.default.WriteStream) {
13112
+ this.stream.end(() => {
13113
+ resolve7();
13114
+ });
13115
+ this.stream.once("error", reject);
13116
+ this.stream.once("finish", resolve7);
13117
+ } else {
13118
+ this.stream.write("", () => {
13119
+ resolve7();
13120
+ });
13121
+ }
13122
+ });
13076
13123
  }
13077
13124
  };
13078
13125
  var StringWriter = class extends Writer {
@@ -13081,10 +13128,10 @@ var StringWriter = class extends Writer {
13081
13128
  super();
13082
13129
  this.content = "";
13083
13130
  }
13084
- write(content) {
13131
+ async write(content) {
13085
13132
  this.content += content;
13086
13133
  }
13087
- end() {
13134
+ async end() {
13088
13135
  return;
13089
13136
  }
13090
13137
  toString() {
@@ -13100,10 +13147,10 @@ var Block = class {
13100
13147
  this.id = id;
13101
13148
  this.content = content;
13102
13149
  }
13103
- write(writer) {
13104
- writer.write(this.content);
13150
+ async write(writer) {
13151
+ await writer.write(this.content);
13105
13152
  if (!this.content.endsWith("\n")) {
13106
- writer.writeLine();
13153
+ await writer.writeLine();
13107
13154
  }
13108
13155
  }
13109
13156
  };
@@ -13198,42 +13245,41 @@ var ReadmeGenerator = class {
13198
13245
  async generateReadme({
13199
13246
  output
13200
13247
  }) {
13201
- const blocks = this.generateBlocks();
13248
+ const blocks = await this.generateBlocks();
13202
13249
  const writer = new StreamWriter(output);
13203
- this.writeHeader({ writer });
13204
- this.writeBlocks({
13250
+ await this.writeHeader({ writer });
13251
+ await this.writeBlocks({
13205
13252
  writer,
13206
13253
  blocks: await this.mergeBlocks({ blocks })
13207
13254
  });
13208
- writer.end();
13209
- return;
13255
+ await writer.end();
13210
13256
  }
13211
- generateBlocks() {
13257
+ async generateBlocks() {
13212
13258
  const blocks = [];
13213
13259
  if (this.readmeConfig.apiReferenceLink != null) {
13214
13260
  blocks.push(
13215
- this.generateDocumentation({
13261
+ await this.generateDocumentation({
13216
13262
  docsLink: this.readmeConfig.apiReferenceLink
13217
13263
  })
13218
13264
  );
13219
13265
  }
13220
13266
  if (this.readmeConfig.requirements != null) {
13221
13267
  blocks.push(
13222
- this.generateRequirements({
13268
+ await this.generateRequirements({
13223
13269
  requirements: this.readmeConfig.requirements
13224
13270
  })
13225
13271
  );
13226
13272
  }
13227
13273
  if (this.readmeConfig.language?.publishInfo != null) {
13228
13274
  blocks.push(
13229
- this.generateInstallation({
13275
+ await this.generateInstallation({
13230
13276
  language: this.readmeConfig.language
13231
13277
  })
13232
13278
  );
13233
13279
  }
13234
13280
  if (this.readmeConfig.referenceMarkdownPath != null) {
13235
13281
  blocks.push(
13236
- this.generateReference({
13282
+ await this.generateReference({
13237
13283
  referenceFile: this.readmeConfig.referenceMarkdownPath
13238
13284
  })
13239
13285
  );
@@ -13245,12 +13291,12 @@ var ReadmeGenerator = class {
13245
13291
  continue;
13246
13292
  }
13247
13293
  blocks.push(
13248
- this.generateFeatureBlock({
13294
+ await this.generateFeatureBlock({
13249
13295
  feature
13250
13296
  })
13251
13297
  );
13252
13298
  }
13253
- const advancedFeatureBlock = this.generateNestedFeatureBlock({
13299
+ const advancedFeatureBlock = await this.generateNestedFeatureBlock({
13254
13300
  featureId: this.ADVANCED_FEATURE_ID,
13255
13301
  features: advancedFeatures
13256
13302
  });
@@ -13266,7 +13312,7 @@ var ReadmeGenerator = class {
13266
13312
  }
13267
13313
  return feat.advanced ?? false;
13268
13314
  }
13269
- generateNestedFeatureBlock({
13315
+ async generateNestedFeatureBlock({
13270
13316
  featureId,
13271
13317
  features
13272
13318
  }) {
@@ -13274,13 +13320,13 @@ var ReadmeGenerator = class {
13274
13320
  return void 0;
13275
13321
  }
13276
13322
  const writer = new StringWriter();
13277
- writer.writeLine(`## ${featureIDToTitle(featureId)}`);
13278
- writer.writeLine();
13323
+ await writer.writeLine(`## ${featureIDToTitle(featureId)}`);
13324
+ await writer.writeLine();
13279
13325
  for (const feature of features) {
13280
13326
  if (this.shouldSkipFeature({ feature })) {
13281
13327
  continue;
13282
13328
  }
13283
- this.generateFeatureBlock({
13329
+ await this.generateFeatureBlock({
13284
13330
  feature,
13285
13331
  heading: "###",
13286
13332
  maybeWriter: writer
@@ -13291,27 +13337,27 @@ var ReadmeGenerator = class {
13291
13337
  content: writer.toString()
13292
13338
  });
13293
13339
  }
13294
- generateFeatureBlock({
13340
+ async generateFeatureBlock({
13295
13341
  feature,
13296
13342
  heading = "##",
13297
13343
  maybeWriter
13298
13344
  }) {
13299
13345
  const writer = maybeWriter ?? new StringWriter();
13300
- writer.writeLine(`${heading} ${featureIDToTitle(feature.id)}`);
13301
- writer.writeLine();
13346
+ await writer.writeLine(`${heading} ${featureIDToTitle(feature.id)}`);
13347
+ await writer.writeLine();
13302
13348
  if (feature.description != null) {
13303
- writer.writeLine(feature.description);
13349
+ await writer.writeLine(feature.description);
13304
13350
  }
13305
- feature.snippets?.forEach((snippet, index) => {
13351
+ for (const [index, snippet] of feature.snippets?.entries() ?? []) {
13306
13352
  if (index > 0) {
13307
- writer.writeLine();
13353
+ await writer.writeLine();
13308
13354
  }
13309
- writer.writeCodeBlock(this.readmeConfig.language.type, snippet);
13310
- });
13355
+ await writer.writeCodeBlock(this.readmeConfig.language.type, snippet);
13356
+ }
13311
13357
  if (feature.addendum != null) {
13312
- writer.writeLine(feature.addendum);
13358
+ await writer.writeLine(feature.addendum);
13313
13359
  }
13314
- writer.writeLine();
13360
+ await writer.writeLine();
13315
13361
  return new Block({
13316
13362
  id: feature.id,
13317
13363
  content: writer.toString()
@@ -13344,150 +13390,152 @@ var ReadmeGenerator = class {
13344
13390
  }
13345
13391
  return void 0;
13346
13392
  }
13347
- writeBlocks({
13393
+ async writeBlocks({
13348
13394
  writer,
13349
13395
  blocks
13350
13396
  }) {
13351
13397
  for (const block of blocks) {
13352
- block.write(writer);
13398
+ await block.write(writer);
13353
13399
  }
13354
13400
  }
13355
- writeHeader({ writer }) {
13356
- writer.writeLine(
13401
+ async writeHeader({ writer }) {
13402
+ await writer.writeLine(
13357
13403
  `# ${this.organizationPascalCase} ${this.languageTitle} Library`
13358
13404
  );
13359
- writer.writeLine();
13405
+ await writer.writeLine();
13360
13406
  if (this.readmeConfig.bannerLink != null) {
13361
- this.writeBanner({
13407
+ await this.writeBanner({
13362
13408
  writer,
13363
13409
  bannerLink: this.readmeConfig.bannerLink
13364
13410
  });
13365
13411
  }
13366
- this.writeFernShield({ writer });
13412
+ await this.writeFernShield({ writer });
13367
13413
  if (this.readmeConfig.language != null) {
13368
- this.writeShield({
13414
+ await this.writeShield({
13369
13415
  writer,
13370
13416
  language: this.readmeConfig.language
13371
13417
  });
13372
13418
  }
13373
- writer.writeLine();
13374
- this.writeIntroudction({ writer });
13419
+ await writer.writeLine();
13420
+ await this.writeIntro({ writer });
13375
13421
  }
13376
- writeBanner({
13422
+ async writeBanner({
13377
13423
  writer,
13378
13424
  bannerLink
13379
13425
  }) {
13380
- writer.writeLine(`![](${bannerLink})`);
13381
- writer.writeLine();
13426
+ await writer.writeLine(`![](${bannerLink})`);
13427
+ await writer.writeLine();
13382
13428
  }
13383
- writeFernShield({ writer }) {
13429
+ async writeFernShield({ writer }) {
13384
13430
  const repoSource = this.readmeConfig.remote?.repoUrl ?? `${this.organizationPascalCase}/${this.languageTitle}`;
13385
- writer.writeLine(
13431
+ await writer.writeLine(
13386
13432
  `[![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=${encodeURIComponent(repoSource)})`
13387
13433
  );
13388
13434
  }
13389
- writeIntroudction({ writer }) {
13390
- writer.writeLine(
13435
+ async writeIntro({ writer }) {
13436
+ await writer.writeLine(
13391
13437
  this.readmeConfig.introduction != null ? this.readmeConfig.introduction : `The ${this.organizationPascalCase} ${this.languageTitle} library provides convenient access to the ${this.organizationPascalCase} API from ${this.languageTitle}.`
13392
13438
  );
13393
- writer.writeLine();
13439
+ await writer.writeLine();
13394
13440
  }
13395
- generateDocumentation({ docsLink }) {
13441
+ async generateDocumentation({
13442
+ docsLink
13443
+ }) {
13396
13444
  const writer = new StringWriter();
13397
- writer.writeLine("## Documentation");
13398
- writer.writeLine();
13399
- writer.writeLine(
13445
+ await writer.writeLine("## Documentation");
13446
+ await writer.writeLine();
13447
+ await writer.writeLine(
13400
13448
  `API reference documentation is available [here](${docsLink}).`
13401
13449
  );
13402
- writer.writeLine();
13450
+ await writer.writeLine();
13403
13451
  return new Block({
13404
13452
  id: "DOCUMENTATION",
13405
13453
  content: writer.toString()
13406
13454
  });
13407
13455
  }
13408
- generateReference({
13456
+ async generateReference({
13409
13457
  referenceFile
13410
13458
  }) {
13411
13459
  const writer = new StringWriter();
13412
- writer.writeLine("## Reference");
13413
- writer.writeLine();
13414
- writer.writeLine(
13460
+ await writer.writeLine("## Reference");
13461
+ await writer.writeLine();
13462
+ await writer.writeLine(
13415
13463
  `A full reference for this library is available [here](${this.readmeConfig.remote?.repoUrl != null ? `${this.readmeConfig.remote.repoUrl}/blob/HEAD/${referenceFile}` : referenceFile}).`
13416
13464
  );
13417
- writer.writeLine();
13465
+ await writer.writeLine();
13418
13466
  return new Block({
13419
13467
  id: "REFERENCE",
13420
13468
  content: writer.toString()
13421
13469
  });
13422
13470
  }
13423
- generateRequirements({
13471
+ async generateRequirements({
13424
13472
  requirements
13425
13473
  }) {
13426
13474
  const writer = new StringWriter();
13427
- writer.writeLine("## Requirements");
13428
- writer.writeLine();
13475
+ await writer.writeLine("## Requirements");
13476
+ await writer.writeLine();
13429
13477
  if (requirements.length === 1) {
13430
- writer.writeLine(`This SDK requires ${requirements[0]}.`);
13478
+ await writer.writeLine(`This SDK requires ${requirements[0]}.`);
13431
13479
  } else {
13432
- writer.writeLine("This SDK requires:");
13480
+ await writer.writeLine("This SDK requires:");
13433
13481
  for (const requirement of requirements) {
13434
- writer.writeLine(`- ${requirement}`);
13482
+ await writer.writeLine(`- ${requirement}`);
13435
13483
  }
13436
13484
  }
13437
- writer.writeLine();
13485
+ await writer.writeLine();
13438
13486
  return new Block({
13439
13487
  id: "REQUIREMENTS",
13440
13488
  content: writer.toString()
13441
13489
  });
13442
13490
  }
13443
- generateInstallation({
13491
+ async generateInstallation({
13444
13492
  language
13445
13493
  }) {
13446
13494
  if (language.publishInfo == null) {
13447
13495
  throw new Error("publish information is required for installation block");
13448
13496
  }
13449
13497
  const writer = new StringWriter();
13450
- writer.writeLine("## Installation");
13451
- writer.writeLine();
13498
+ await writer.writeLine("## Installation");
13499
+ await writer.writeLine();
13452
13500
  switch (language.type) {
13453
13501
  case "typescript":
13454
- this.writeInstallationForNPM({
13502
+ await this.writeInstallationForNPM({
13455
13503
  writer,
13456
13504
  npm: language.publishInfo
13457
13505
  });
13458
13506
  break;
13459
13507
  case "python":
13460
- this.writeInstallationForPyPi({
13508
+ await this.writeInstallationForPyPi({
13461
13509
  writer,
13462
13510
  pypi: language.publishInfo
13463
13511
  });
13464
13512
  break;
13465
13513
  case "java":
13466
- this.writeInstallationForMaven({
13514
+ await this.writeInstallationForMaven({
13467
13515
  writer,
13468
13516
  maven: language.publishInfo
13469
13517
  });
13470
13518
  break;
13471
13519
  case "go":
13472
- this.writeInstallationForGo({
13520
+ await this.writeInstallationForGo({
13473
13521
  writer,
13474
13522
  go: language.publishInfo
13475
13523
  });
13476
13524
  break;
13477
13525
  case "ruby":
13478
- this.writeInstallationForRubyGems({
13526
+ await this.writeInstallationForRubyGems({
13479
13527
  writer,
13480
13528
  rubyGems: language.publishInfo
13481
13529
  });
13482
13530
  break;
13483
13531
  case "csharp":
13484
- this.writeInstallationForNuget({
13532
+ await this.writeInstallationForNuget({
13485
13533
  writer,
13486
13534
  nuget: language.publishInfo
13487
13535
  });
13488
13536
  break;
13489
13537
  case "php":
13490
- this.writeInstallationForComposer({
13538
+ await this.writeInstallationForComposer({
13491
13539
  writer,
13492
13540
  composer: language.publishInfo
13493
13541
  });
@@ -13500,93 +13548,95 @@ var ReadmeGenerator = class {
13500
13548
  content: writer.toString()
13501
13549
  });
13502
13550
  }
13503
- writeInstallationForNPM({
13551
+ async writeInstallationForNPM({
13504
13552
  writer,
13505
13553
  npm
13506
13554
  }) {
13507
- writer.writeLine("```sh");
13508
- writer.writeLine(`npm i -s ${npm.packageName}`);
13509
- writer.writeLine("```");
13510
- writer.writeLine();
13555
+ await writer.writeLine("```sh");
13556
+ await writer.writeLine(`npm i -s ${npm.packageName}`);
13557
+ await writer.writeLine("```");
13558
+ await writer.writeLine();
13511
13559
  }
13512
- writeInstallationForPyPi({
13560
+ async writeInstallationForPyPi({
13513
13561
  writer,
13514
13562
  pypi
13515
13563
  }) {
13516
- writer.writeLine("```sh");
13517
- writer.writeLine(`pip install ${pypi.packageName}`);
13518
- writer.writeLine("```");
13519
- writer.writeLine();
13564
+ await writer.writeLine("```sh");
13565
+ await writer.writeLine(`pip install ${pypi.packageName}`);
13566
+ await writer.writeLine("```");
13567
+ await writer.writeLine();
13520
13568
  }
13521
- writeInstallationForMaven({
13569
+ async writeInstallationForMaven({
13522
13570
  writer,
13523
13571
  maven
13524
13572
  }) {
13525
- writer.writeLine("### Gradle");
13526
- writer.writeLine();
13527
- writer.writeLine("Add the dependency in your `build.gradle` file:");
13528
- writer.writeLine();
13529
- writer.writeLine("```groovy");
13530
- writer.writeLine("dependencies {");
13531
- writer.writeLine(` implementation '${maven.group}:${maven.artifact}'`);
13532
- writer.writeLine("}");
13533
- writer.writeLine("```");
13534
- writer.writeLine();
13535
- writer.writeLine("### Maven");
13536
- writer.writeLine();
13537
- writer.writeLine("Add the dependency in your `pom.xml` file:");
13538
- writer.writeLine();
13539
- writer.writeLine("```xml");
13540
- writer.writeLine("<dependency>");
13541
- writer.writeLine(` <groupId>${maven.group}</groupId>`);
13542
- writer.writeLine(` <artifactId>${maven.artifact}</artifactId>`);
13543
- writer.writeLine(` <version>${maven.version}</version>`);
13544
- writer.writeLine("</dependency>");
13545
- writer.writeLine("```");
13546
- writer.writeLine();
13547
- }
13548
- writeInstallationForGo({
13573
+ await writer.writeLine("### Gradle");
13574
+ await writer.writeLine();
13575
+ await writer.writeLine("Add the dependency in your `build.gradle` file:");
13576
+ await writer.writeLine();
13577
+ await writer.writeLine("```groovy");
13578
+ await writer.writeLine("dependencies {");
13579
+ await writer.writeLine(
13580
+ ` implementation '${maven.group}:${maven.artifact}'`
13581
+ );
13582
+ await writer.writeLine("}");
13583
+ await writer.writeLine("```");
13584
+ await writer.writeLine();
13585
+ await writer.writeLine("### Maven");
13586
+ await writer.writeLine();
13587
+ await writer.writeLine("Add the dependency in your `pom.xml` file:");
13588
+ await writer.writeLine();
13589
+ await writer.writeLine("```xml");
13590
+ await writer.writeLine("<dependency>");
13591
+ await writer.writeLine(` <groupId>${maven.group}</groupId>`);
13592
+ await writer.writeLine(` <artifactId>${maven.artifact}</artifactId>`);
13593
+ await writer.writeLine(` <version>${maven.version}</version>`);
13594
+ await writer.writeLine("</dependency>");
13595
+ await writer.writeLine("```");
13596
+ await writer.writeLine();
13597
+ }
13598
+ async writeInstallationForGo({
13549
13599
  writer,
13550
13600
  go
13551
13601
  }) {
13552
- writer.writeLine("```sh");
13553
- writer.write(`go get github.com/${go.owner}/${go.repo}`);
13602
+ await writer.writeLine("```sh");
13603
+ await writer.write(`go get github.com/${go.owner}/${go.repo}`);
13554
13604
  const majorVersion = getMajorVersion(go.version);
13555
13605
  if (!majorVersion.startsWith("0") && !majorVersion.startsWith("1")) {
13556
- writer.write(`/v${majorVersion}`);
13606
+ await writer.write(`/v${majorVersion}`);
13557
13607
  }
13558
- writer.writeLine();
13559
- writer.writeLine("```");
13560
- writer.writeLine();
13608
+ await writer.writeLine();
13609
+ await writer.writeLine("```");
13610
+ await writer.writeLine();
13561
13611
  }
13562
- writeInstallationForRubyGems({
13612
+ async writeInstallationForRubyGems({
13563
13613
  writer,
13564
13614
  rubyGems
13565
13615
  }) {
13566
- writer.writeLine("```sh");
13567
- writer.writeLine(`gem install ${rubyGems.packageName}`);
13568
- writer.writeLine("```");
13569
- writer.writeLine();
13616
+ await writer.writeLine("```sh");
13617
+ await writer.writeLine(`gem install ${rubyGems.packageName}`);
13618
+ await writer.writeLine("```");
13619
+ await writer.writeLine();
13570
13620
  }
13571
- writeInstallationForNuget({
13621
+ async writeInstallationForNuget({
13572
13622
  writer,
13573
13623
  nuget
13574
13624
  }) {
13575
- writer.writeLine("```sh");
13576
- writer.writeLine(`dotnet add package ${nuget.packageName}`);
13577
- writer.writeLine("```");
13578
- writer.writeLine();
13625
+ await writer.writeLine("```sh");
13626
+ await writer.writeLine(`dotnet add package ${nuget.packageName}`);
13627
+ await writer.writeLine("```");
13628
+ await writer.writeLine();
13579
13629
  }
13580
- writeInstallationForComposer({
13630
+ async writeInstallationForComposer({
13581
13631
  writer,
13582
13632
  composer
13583
13633
  }) {
13584
- writer.writeLine("```sh");
13585
- writer.writeLine(`composer require ${composer.packageName}`);
13586
- writer.writeLine("```");
13587
- writer.writeLine();
13634
+ await writer.writeLine("```sh");
13635
+ await writer.writeLine(`composer require ${composer.packageName}`);
13636
+ await writer.writeLine("```");
13637
+ await writer.writeLine();
13588
13638
  }
13589
- writeShield({
13639
+ async writeShield({
13590
13640
  writer,
13591
13641
  language
13592
13642
  }) {
@@ -13596,7 +13646,7 @@ var ReadmeGenerator = class {
13596
13646
  if (npm == null) {
13597
13647
  return;
13598
13648
  }
13599
- this.writeShieldForNPM({
13649
+ await this.writeShieldForNPM({
13600
13650
  writer,
13601
13651
  npm
13602
13652
  });
@@ -13607,7 +13657,7 @@ var ReadmeGenerator = class {
13607
13657
  if (pypi == null) {
13608
13658
  return;
13609
13659
  }
13610
- this.writeShieldForPyPi({
13660
+ await this.writeShieldForPyPi({
13611
13661
  writer,
13612
13662
  pypi
13613
13663
  });
@@ -13618,7 +13668,7 @@ var ReadmeGenerator = class {
13618
13668
  if (maven == null) {
13619
13669
  return;
13620
13670
  }
13621
- this.writeShieldForMaven({
13671
+ await this.writeShieldForMaven({
13622
13672
  writer,
13623
13673
  maven
13624
13674
  });
@@ -13629,7 +13679,7 @@ var ReadmeGenerator = class {
13629
13679
  if (go == null) {
13630
13680
  return;
13631
13681
  }
13632
- this.writeShieldForGo({
13682
+ await this.writeShieldForGo({
13633
13683
  writer,
13634
13684
  go
13635
13685
  });
@@ -13640,7 +13690,7 @@ var ReadmeGenerator = class {
13640
13690
  if (rubyGems == null) {
13641
13691
  return;
13642
13692
  }
13643
- this.writeShieldForRubyGems({
13693
+ await this.writeShieldForRubyGems({
13644
13694
  writer,
13645
13695
  rubyGems
13646
13696
  });
@@ -13651,7 +13701,7 @@ var ReadmeGenerator = class {
13651
13701
  if (nuget == null) {
13652
13702
  return;
13653
13703
  }
13654
- this.writeShieldForNuget({
13704
+ await this.writeShieldForNuget({
13655
13705
  writer,
13656
13706
  nuget
13657
13707
  });
@@ -13662,7 +13712,7 @@ var ReadmeGenerator = class {
13662
13712
  if (composer == null) {
13663
13713
  return;
13664
13714
  }
13665
- this.writeShieldForComposer({
13715
+ await this.writeShieldForComposer({
13666
13716
  writer,
13667
13717
  composer
13668
13718
  });
@@ -13672,65 +13722,77 @@ var ReadmeGenerator = class {
13672
13722
  assertNever(language);
13673
13723
  }
13674
13724
  }
13675
- writeShieldForNPM({
13725
+ async writeShieldForNPM({
13676
13726
  writer,
13677
13727
  npm
13678
13728
  }) {
13679
- writer.write("[![npm shield]");
13680
- writer.write(`(https://img.shields.io/npm/v/${npm.packageName})]`);
13681
- writer.writeLine(`(https://www.npmjs.com/package/${npm.packageName})`);
13729
+ await writer.write("[![npm shield]");
13730
+ await writer.write(`(https://img.shields.io/npm/v/${npm.packageName})]`);
13731
+ await writer.writeLine(
13732
+ `(https://www.npmjs.com/package/${npm.packageName})`
13733
+ );
13682
13734
  }
13683
- writeShieldForPyPi({
13735
+ async writeShieldForPyPi({
13684
13736
  writer,
13685
13737
  pypi
13686
13738
  }) {
13687
- writer.write("[![pypi]");
13688
- writer.write(`(https://img.shields.io/pypi/v/${pypi.packageName})]`);
13689
- writer.writeLine(`(https://pypi.python.org/pypi/${pypi.packageName})`);
13739
+ await writer.write("[![pypi]");
13740
+ await writer.write(`(https://img.shields.io/pypi/v/${pypi.packageName})]`);
13741
+ await writer.writeLine(
13742
+ `(https://pypi.python.org/pypi/${pypi.packageName})`
13743
+ );
13690
13744
  }
13691
- writeShieldForMaven({
13745
+ async writeShieldForMaven({
13692
13746
  writer,
13693
13747
  maven
13694
13748
  }) {
13695
- writer.write("[![Maven Central]");
13696
- writer.write(
13749
+ await writer.write("[![Maven Central]");
13750
+ await writer.write(
13697
13751
  `(https://img.shields.io/maven-central/v/${maven.group}/${maven.artifact})]`
13698
13752
  );
13699
- writer.writeLine(
13753
+ await writer.writeLine(
13700
13754
  `(https://central.sonatype.com/artifact/${maven.group}/${maven.artifact})`
13701
13755
  );
13702
13756
  }
13703
- writeShieldForGo({
13757
+ async writeShieldForGo({
13704
13758
  writer,
13705
13759
  go
13706
13760
  }) {
13707
- writer.write("[![go shield]");
13708
- writer.write("(https://img.shields.io/badge/go-docs-blue)]");
13709
- writer.writeLine(`(https://pkg.go.dev/github.com/${go.owner}/${go.repo})`);
13761
+ await writer.write("[![go shield]");
13762
+ await writer.write("(https://img.shields.io/badge/go-docs-blue)]");
13763
+ await writer.writeLine(
13764
+ `(https://pkg.go.dev/github.com/${go.owner}/${go.repo})`
13765
+ );
13710
13766
  }
13711
- writeShieldForRubyGems({
13767
+ async writeShieldForRubyGems({
13712
13768
  writer,
13713
13769
  rubyGems
13714
13770
  }) {
13715
- writer.write("[![gems shield]");
13716
- writer.write(`(https://img.shields.io/gem/v/${rubyGems.packageName})]`);
13717
- writer.writeLine(`(https://rubygems.org/gems/${rubyGems.packageName})`);
13771
+ await writer.write("[![gems shield]");
13772
+ await writer.write(
13773
+ `(https://img.shields.io/gem/v/${rubyGems.packageName})]`
13774
+ );
13775
+ await writer.writeLine(
13776
+ `(https://rubygems.org/gems/${rubyGems.packageName})`
13777
+ );
13718
13778
  }
13719
- writeShieldForNuget({
13779
+ async writeShieldForNuget({
13720
13780
  writer,
13721
13781
  nuget
13722
13782
  }) {
13723
- writer.write("[![nuget shield]");
13724
- writer.write(`(https://img.shields.io/nuget/v/${nuget.packageName})]`);
13725
- writer.writeLine(`(https://nuget.org/packages/${nuget.packageName})`);
13783
+ await writer.write("[![nuget shield]");
13784
+ await writer.write(
13785
+ `(https://img.shields.io/nuget/v/${nuget.packageName})]`
13786
+ );
13787
+ await writer.writeLine(`(https://nuget.org/packages/${nuget.packageName})`);
13726
13788
  }
13727
- writeShieldForComposer({
13789
+ async writeShieldForComposer({
13728
13790
  writer,
13729
13791
  composer
13730
13792
  }) {
13731
- writer.write("[![php shield]");
13732
- writer.write("(https://img.shields.io/badge/php-packagist-pink)]");
13733
- writer.writeLine(
13793
+ await writer.write("[![php shield]");
13794
+ await writer.write("(https://img.shields.io/badge/php-packagist-pink)]");
13795
+ await writer.writeLine(
13734
13796
  `(https://packagist.org/packages/${composer.packageName})`
13735
13797
  );
13736
13798
  }
@@ -13790,7 +13852,7 @@ function getMajorVersion(version) {
13790
13852
  return version.split(".")[0] ?? "0";
13791
13853
  }
13792
13854
  function assertNever(x) {
13793
- throw new Error("unexpected value: " + JSON.stringify(x));
13855
+ throw new Error(`unexpected value: ${JSON.stringify(x)}`);
13794
13856
  }
13795
13857
 
13796
13858
  // src/readme/ReadmeParser.ts
@@ -13816,7 +13878,8 @@ var ReadmeParser = class {
13816
13878
  header += line;
13817
13879
  continue;
13818
13880
  }
13819
- currentBlock.content += line + "\n";
13881
+ currentBlock.content += `${line}
13882
+ `;
13820
13883
  }
13821
13884
  if (currentBlock) {
13822
13885
  blocks.push(currentBlock);
@@ -13846,73 +13909,77 @@ var ReferenceGenerator = class {
13846
13909
  }) {
13847
13910
  this.referenceConfig = referenceConfig;
13848
13911
  }
13849
- async generate({ output }) {
13912
+ async generate({
13913
+ output
13914
+ }) {
13850
13915
  const writer = new StreamWriter(output);
13851
- writer.writeLine("# Reference");
13916
+ await writer.writeLine("# Reference");
13852
13917
  if (this.referenceConfig.rootSection != null) {
13853
- this.writeRootSection({
13918
+ await this.writeRootSection({
13854
13919
  section: this.referenceConfig.rootSection,
13855
13920
  writer
13856
13921
  });
13857
13922
  }
13858
13923
  for (const section of this.referenceConfig.sections) {
13859
- this.writeSection({ section, writer });
13924
+ await this.writeSection({ section, writer });
13860
13925
  }
13861
- writer.end();
13926
+ await writer.end();
13862
13927
  }
13863
- writeRootSection({
13928
+ async writeRootSection({
13864
13929
  section,
13865
13930
  writer
13866
13931
  }) {
13867
13932
  if (section.description != null) {
13868
- writer.writeLine(section.description);
13933
+ await writer.writeLine(section.description);
13869
13934
  }
13870
13935
  for (const endpoint of section.endpoints) {
13871
- this.writeEndpoint({ endpoint, writer });
13936
+ await this.writeEndpoint({ endpoint, writer });
13872
13937
  }
13873
13938
  }
13874
- writeSection({
13939
+ async writeSection({
13875
13940
  section,
13876
13941
  writer
13877
13942
  }) {
13878
- writer.writeLine(`## ${section.title}`);
13943
+ await writer.writeLine(`## ${section.title}`);
13879
13944
  if (section.description != null) {
13880
- writer.writeLine(section.description);
13945
+ await writer.writeLine(section.description);
13881
13946
  }
13882
13947
  for (const endpoint of section.endpoints) {
13883
- this.writeEndpoint({ endpoint, writer });
13948
+ await this.writeEndpoint({ endpoint, writer });
13884
13949
  }
13885
13950
  }
13886
- writeEndpoint({
13951
+ async writeEndpoint({
13887
13952
  endpoint,
13888
13953
  writer
13889
13954
  }) {
13890
13955
  const stringWriter = new StringWriter();
13891
13956
  if (endpoint.description != null) {
13892
- stringWriter.writeLine(
13957
+ await stringWriter.writeLine(
13893
13958
  `#### \u{1F4DD} Description
13894
13959
 
13895
- ${this.writeIndentedBlock(this.writeIndentedBlock(endpoint.description))}
13960
+ ${this.generateIndentedBlock(this.generateIndentedBlock(endpoint.description))}
13896
13961
  `
13897
13962
  );
13898
13963
  }
13899
- stringWriter.writeLine(
13964
+ await stringWriter.writeLine(
13900
13965
  `#### \u{1F50C} Usage
13901
13966
 
13902
- ${this.writeIndentedBlock(
13903
- this.writeIndentedBlock(
13904
- "```" + this.referenceConfig.language.toLowerCase() + "\n" + endpoint.snippet + "\n```"
13967
+ ${this.generateIndentedBlock(
13968
+ this.generateIndentedBlock(
13969
+ `\`\`\`${this.referenceConfig.language.toLowerCase()}
13970
+ ${endpoint.snippet}
13971
+ \`\`\``
13905
13972
  )
13906
13973
  )}
13907
13974
  `
13908
13975
  );
13909
13976
  if (endpoint.parameters.length > 0) {
13910
- stringWriter.writeLine(
13977
+ await stringWriter.writeLine(
13911
13978
  `#### \u2699\uFE0F Parameters
13912
13979
 
13913
- ${this.writeIndentedBlock(
13980
+ ${this.generateIndentedBlock(
13914
13981
  endpoint.parameters.map(
13915
- (parameter) => this.writeIndentedBlock(this.writeParameter(parameter))
13982
+ (parameter) => this.generateIndentedBlock(this.generateParameter(parameter))
13916
13983
  ).join("\n\n")
13917
13984
  )}
13918
13985
  `
@@ -13922,19 +13989,19 @@ ${this.writeIndentedBlock(
13922
13989
  if (endpoint.title.returnValue != null) {
13923
13990
  linkedSnippet += ` -> ${this.wrapInLink(endpoint.title.returnValue.text, endpoint.title.returnValue.location)}`;
13924
13991
  }
13925
- writer.writeLine(
13992
+ await writer.writeLine(
13926
13993
  `<details><summary><code>${linkedSnippet}</code></summary>`
13927
13994
  );
13928
- writer.writeLine(this.writeIndentedBlock(stringWriter.toString()));
13929
- writer.writeLine("</details>\n");
13995
+ await writer.writeLine(this.generateIndentedBlock(stringWriter.toString()));
13996
+ await writer.writeLine("</details>\n");
13930
13997
  }
13931
- writeParameter(parameter) {
13998
+ generateParameter(parameter) {
13932
13999
  const desc = parameter.description?.match(/[^\r\n]+/g)?.length;
13933
14000
  const containsLineBreak = desc != null && desc > 1;
13934
14001
  return `**${parameter.name}:** \`${this.wrapInLink(parameter.type, parameter.location)}\` ${parameter.description != null ? (containsLineBreak ? "\n\n" : "\u2014 ") + parameter.description : ""}
13935
14002
  `;
13936
14003
  }
13937
- writeIndentedBlock(content) {
14004
+ generateIndentedBlock(content) {
13938
14005
  return `<dl>
13939
14006
  <dd>
13940
14007
 
@@ -13956,13 +14023,13 @@ void yargs_default(hideBin(process.argv)).scriptName(process.env.CLI_NAME ?? "ge
13956
14023
  "Generate a README.md using the provided configuration file.",
13957
14024
  (argv) => argv.option("config", {
13958
14025
  string: true,
13959
- requred: true
14026
+ required: true
13960
14027
  }).option("original-readme", {
13961
14028
  string: true,
13962
- requred: false
14029
+ required: false
13963
14030
  }).option("output", {
13964
14031
  string: true,
13965
- requred: false
14032
+ required: false
13966
14033
  }),
13967
14034
  async (argv) => {
13968
14035
  if (argv.config == null) {
@@ -13990,10 +14057,10 @@ void yargs_default(hideBin(process.argv)).scriptName(process.env.CLI_NAME ?? "ge
13990
14057
  "Generate an SDK reference (`reference.md`) using the provided configuration file.",
13991
14058
  (argv) => argv.option("config", {
13992
14059
  string: true,
13993
- requred: true
14060
+ required: true
13994
14061
  }).option("output", {
13995
14062
  string: true,
13996
- requred: false
14063
+ required: false
13997
14064
  }),
13998
14065
  async (argv) => {
13999
14066
  if (argv.config == null) {
@@ -14114,7 +14181,7 @@ async function createWriteStreamFromFile(filepath) {
14114
14181
  if (!await doesPathExist(filepath)) {
14115
14182
  await (0, import_promises6.mkdir)(import_path7.default.dirname(filepath), { recursive: true });
14116
14183
  }
14117
- return import_fs5.default.createWriteStream(filepath);
14184
+ return import_fs6.default.createWriteStream(filepath);
14118
14185
  }
14119
14186
  /*! Bundled license information:
14120
14187
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fern-api/generator-cli",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "type": "module",
5
5
  "main": "dist/cli.cjs",
6
6
  "source": "src/index.ts",