@fern-api/generator-cli 0.0.13-eaaf17704 → 0.0.15-33b0c02f4

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 +85 -93
  2. package/package.json +4 -3
package/dist/cli.cjs CHANGED
@@ -5162,9 +5162,9 @@ var require_ms = __commonJS({
5162
5162
  }
5163
5163
  });
5164
5164
 
5165
- // ../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/common.js
5165
+ // ../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/common.js
5166
5166
  var require_common = __commonJS({
5167
- "../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/common.js"(exports2, module2) {
5167
+ "../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/common.js"(exports2, module2) {
5168
5168
  "use strict";
5169
5169
  function setup(env2) {
5170
5170
  createDebug.debug = createDebug;
@@ -5326,9 +5326,9 @@ var require_common = __commonJS({
5326
5326
  }
5327
5327
  });
5328
5328
 
5329
- // ../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/browser.js
5329
+ // ../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/browser.js
5330
5330
  var require_browser = __commonJS({
5331
- "../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/browser.js"(exports2, module2) {
5331
+ "../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/browser.js"(exports2, module2) {
5332
5332
  "use strict";
5333
5333
  exports2.formatArgs = formatArgs;
5334
5334
  exports2.save = save;
@@ -5496,43 +5496,35 @@ var require_browser = __commonJS({
5496
5496
  }
5497
5497
  });
5498
5498
 
5499
- // ../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js
5499
+ // ../../node_modules/.pnpm/has-flag@3.0.0/node_modules/has-flag/index.js
5500
5500
  var require_has_flag = __commonJS({
5501
- "../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js"(exports2, module2) {
5501
+ "../../node_modules/.pnpm/has-flag@3.0.0/node_modules/has-flag/index.js"(exports2, module2) {
5502
5502
  "use strict";
5503
- module2.exports = (flag, argv = process.argv) => {
5503
+ module2.exports = (flag, argv) => {
5504
+ argv = argv || process.argv;
5504
5505
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
5505
- const position = argv.indexOf(prefix + flag);
5506
- const terminatorPosition = argv.indexOf("--");
5507
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
5506
+ const pos = argv.indexOf(prefix + flag);
5507
+ const terminatorPos = argv.indexOf("--");
5508
+ return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
5508
5509
  };
5509
5510
  }
5510
5511
  });
5511
5512
 
5512
- // ../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js
5513
+ // ../../node_modules/.pnpm/supports-color@5.5.0/node_modules/supports-color/index.js
5513
5514
  var require_supports_color = __commonJS({
5514
- "../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js"(exports2, module2) {
5515
+ "../../node_modules/.pnpm/supports-color@5.5.0/node_modules/supports-color/index.js"(exports2, module2) {
5515
5516
  "use strict";
5516
5517
  var os = require("os");
5517
- var tty = require("tty");
5518
5518
  var hasFlag = require_has_flag();
5519
- var { env: env2 } = process;
5520
- var flagForceColor;
5521
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
5522
- flagForceColor = 0;
5519
+ var env2 = process.env;
5520
+ var forceColor;
5521
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
5522
+ forceColor = false;
5523
5523
  } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
5524
- flagForceColor = 1;
5524
+ forceColor = true;
5525
5525
  }
5526
- function envForceColor() {
5527
- if ("FORCE_COLOR" in env2) {
5528
- if (env2.FORCE_COLOR === "true") {
5529
- return 1;
5530
- }
5531
- if (env2.FORCE_COLOR === "false") {
5532
- return 0;
5533
- }
5534
- return env2.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env2.FORCE_COLOR, 10), 3);
5535
- }
5526
+ if ("FORCE_COLOR" in env2) {
5527
+ forceColor = env2.FORCE_COLOR.length === 0 || parseInt(env2.FORCE_COLOR, 10) !== 0;
5536
5528
  }
5537
5529
  function translateLevel(level) {
5538
5530
  if (level === 0) {
@@ -5545,39 +5537,29 @@ var require_supports_color = __commonJS({
5545
5537
  has16m: level >= 3
5546
5538
  };
5547
5539
  }
5548
- function supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
5549
- const noFlagForceColor = envForceColor();
5550
- if (noFlagForceColor !== void 0) {
5551
- flagForceColor = noFlagForceColor;
5552
- }
5553
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
5554
- if (forceColor === 0) {
5540
+ function supportsColor(stream) {
5541
+ if (forceColor === false) {
5555
5542
  return 0;
5556
5543
  }
5557
- if (sniffFlags) {
5558
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
5559
- return 3;
5560
- }
5561
- if (hasFlag("color=256")) {
5562
- return 2;
5563
- }
5544
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
5545
+ return 3;
5564
5546
  }
5565
- if (haveStream && !streamIsTTY && forceColor === void 0) {
5566
- return 0;
5547
+ if (hasFlag("color=256")) {
5548
+ return 2;
5567
5549
  }
5568
- const min = forceColor || 0;
5569
- if (env2.TERM === "dumb") {
5570
- return min;
5550
+ if (stream && !stream.isTTY && forceColor !== true) {
5551
+ return 0;
5571
5552
  }
5553
+ const min = forceColor ? 1 : 0;
5572
5554
  if (process.platform === "win32") {
5573
5555
  const osRelease = os.release().split(".");
5574
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
5556
+ if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
5575
5557
  return Number(osRelease[2]) >= 14931 ? 3 : 2;
5576
5558
  }
5577
5559
  return 1;
5578
5560
  }
5579
5561
  if ("CI" in env2) {
5580
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
5562
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") {
5581
5563
  return 1;
5582
5564
  }
5583
5565
  return min;
@@ -5589,7 +5571,7 @@ var require_supports_color = __commonJS({
5589
5571
  return 3;
5590
5572
  }
5591
5573
  if ("TERM_PROGRAM" in env2) {
5592
- const version = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
5574
+ const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
5593
5575
  switch (env2.TERM_PROGRAM) {
5594
5576
  case "iTerm.app":
5595
5577
  return version >= 3 ? 3 : 2;
@@ -5606,26 +5588,26 @@ var require_supports_color = __commonJS({
5606
5588
  if ("COLORTERM" in env2) {
5607
5589
  return 1;
5608
5590
  }
5591
+ if (env2.TERM === "dumb") {
5592
+ return min;
5593
+ }
5609
5594
  return min;
5610
5595
  }
5611
- function getSupportLevel(stream, options = {}) {
5612
- const level = supportsColor(stream, {
5613
- streamIsTTY: stream && stream.isTTY,
5614
- ...options
5615
- });
5596
+ function getSupportLevel(stream) {
5597
+ const level = supportsColor(stream);
5616
5598
  return translateLevel(level);
5617
5599
  }
5618
5600
  module2.exports = {
5619
5601
  supportsColor: getSupportLevel,
5620
- stdout: getSupportLevel({ isTTY: tty.isatty(1) }),
5621
- stderr: getSupportLevel({ isTTY: tty.isatty(2) })
5602
+ stdout: getSupportLevel(process.stdout),
5603
+ stderr: getSupportLevel(process.stderr)
5622
5604
  };
5623
5605
  }
5624
5606
  });
5625
5607
 
5626
- // ../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/node.js
5608
+ // ../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/node.js
5627
5609
  var require_node = __commonJS({
5628
- "../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/node.js"(exports2, module2) {
5610
+ "../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/node.js"(exports2, module2) {
5629
5611
  "use strict";
5630
5612
  var tty = require("tty");
5631
5613
  var util = require("util");
@@ -5798,9 +5780,9 @@ var require_node = __commonJS({
5798
5780
  }
5799
5781
  });
5800
5782
 
5801
- // ../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/index.js
5783
+ // ../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/index.js
5802
5784
  var require_src = __commonJS({
5803
- "../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/index.js"(exports2, module2) {
5785
+ "../../node_modules/.pnpm/debug@4.3.4_supports-color@5.5.0/node_modules/debug/src/index.js"(exports2, module2) {
5804
5786
  "use strict";
5805
5787
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
5806
5788
  module2.exports = require_browser();
@@ -5810,9 +5792,9 @@ var require_src = __commonJS({
5810
5792
  }
5811
5793
  });
5812
5794
 
5813
- // ../../node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@8.1.1/node_modules/@kwsites/file-exists/dist/src/index.js
5795
+ // ../../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/dist/src/index.js
5814
5796
  var require_src2 = __commonJS({
5815
- "../../node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@8.1.1/node_modules/@kwsites/file-exists/dist/src/index.js"(exports2) {
5797
+ "../../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/dist/src/index.js"(exports2) {
5816
5798
  "use strict";
5817
5799
  var __importDefault = exports2 && exports2.__importDefault || function(mod) {
5818
5800
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -5854,9 +5836,9 @@ var require_src2 = __commonJS({
5854
5836
  }
5855
5837
  });
5856
5838
 
5857
- // ../../node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@8.1.1/node_modules/@kwsites/file-exists/dist/index.js
5839
+ // ../../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/dist/index.js
5858
5840
  var require_dist = __commonJS({
5859
- "../../node_modules/.pnpm/@kwsites+file-exists@1.1.1_supports-color@8.1.1/node_modules/@kwsites/file-exists/dist/index.js"(exports2) {
5841
+ "../../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/dist/index.js"(exports2) {
5860
5842
  "use strict";
5861
5843
  function __export3(m) {
5862
5844
  for (var p in m)
@@ -7543,7 +7525,7 @@ async function loadReferenceConfig({
7543
7525
  return JSON.parse(rawContents);
7544
7526
  }
7545
7527
 
7546
- // ../../node_modules/.pnpm/simple-git@3.24.0_supports-color@8.1.1/node_modules/simple-git/dist/esm/index.js
7528
+ // ../../node_modules/.pnpm/simple-git@3.24.0/node_modules/simple-git/dist/esm/index.js
7547
7529
  var import_file_exists = __toESM(require_dist(), 1);
7548
7530
  var import_debug = __toESM(require_src(), 1);
7549
7531
  var import_child_process = require("child_process");
@@ -12059,10 +12041,8 @@ var README_FILEPATH = "README.md";
12059
12041
 
12060
12042
  // ../../packages/commons/github/dist/ClonedRepository.js
12061
12043
  var ClonedRepository = class {
12062
- git;
12063
12044
  clonePath;
12064
- constructor({ git, clonePath }) {
12065
- this.git = git;
12045
+ constructor({ clonePath }) {
12066
12046
  this.clonePath = clonePath;
12067
12047
  }
12068
12048
  async getReadme() {
@@ -12136,7 +12116,6 @@ async function cloneRepository({ githubRepository, installationToken }) {
12136
12116
  const git = esm_default2(clonePath);
12137
12117
  await git.clone(cloneUrl, ".");
12138
12118
  return new ClonedRepository({
12139
- git,
12140
12119
  clonePath
12141
12120
  });
12142
12121
  }
@@ -13041,11 +13020,12 @@ var BlockList = class {
13041
13020
 
13042
13021
  // src/readme/ReadmeGenerator.ts
13043
13022
  var ReadmeGenerator = class {
13044
- ADVANCED_FEATURES = [
13023
+ ADVANCED_FEATURE_ID = "ADVANCED";
13024
+ ADVANCED_FEATURES = /* @__PURE__ */ new Set([
13045
13025
  api_exports.StructuredFeatureId.Retries,
13046
13026
  api_exports.StructuredFeatureId.Timeouts,
13047
13027
  api_exports.StructuredFeatureId.CustomClient
13048
- ];
13028
+ ]);
13049
13029
  readmeParser;
13050
13030
  readmeConfig;
13051
13031
  originalReadme;
@@ -13084,8 +13064,8 @@ var ReadmeGenerator = class {
13084
13064
  if (this.readmeConfig.language != null && this.readmeConfig.language.publishInfo != null) {
13085
13065
  blocks.push(this.generateInstallation({ language: this.readmeConfig.language }));
13086
13066
  }
13087
- const coreFeatures = this.readmeConfig.features?.filter((feat) => !this.ADVANCED_FEATURES.includes(feat.id)) ?? [];
13088
- const advancedFeatures = this.readmeConfig.features?.filter((feat) => this.ADVANCED_FEATURES.includes(feat.id)) ?? [];
13067
+ const coreFeatures = this.readmeConfig.features?.filter((feat) => !this.isAdvanced(feat)) ?? [];
13068
+ const advancedFeatures = this.readmeConfig.features?.filter((feat) => this.isAdvanced(feat)) ?? [];
13089
13069
  for (const feature of coreFeatures) {
13090
13070
  if (this.shouldSkipFeature({ feature })) {
13091
13071
  continue;
@@ -13096,42 +13076,54 @@ var ReadmeGenerator = class {
13096
13076
  })
13097
13077
  );
13098
13078
  }
13099
- blocks.push(...this.generateNestedFeatureBlocks({ features: advancedFeatures, sectionTitle: "Advanced" }));
13079
+ const advancedFeatureBlock = this.generateNestedFeatureBlock({
13080
+ featureId: this.ADVANCED_FEATURE_ID,
13081
+ features: advancedFeatures
13082
+ });
13083
+ if (advancedFeatureBlock != null) {
13084
+ blocks.push(advancedFeatureBlock);
13085
+ }
13100
13086
  blocks.push(this.generateContributing());
13101
13087
  return blocks;
13102
13088
  }
13103
- generateNestedFeatureBlocks({
13104
- features,
13105
- sectionTitle
13089
+ isAdvanced(feat) {
13090
+ if (this.ADVANCED_FEATURES.has(feat.id)) {
13091
+ return true;
13092
+ }
13093
+ return feat.advanced ?? false;
13094
+ }
13095
+ generateNestedFeatureBlock({
13096
+ featureId,
13097
+ features
13106
13098
  }) {
13107
- if (!this.hasUnskippedFeatures({ features })) {
13108
- return [];
13099
+ if (!this.shouldGenerateFeatures({ features })) {
13100
+ return void 0;
13109
13101
  }
13110
- const blocks = [];
13111
13102
  const writer = new StringWriter();
13112
- writer.writeLine(`## ${sectionTitle}`);
13103
+ writer.writeLine(`## ${featureIDToTitle(featureId)}`);
13113
13104
  writer.writeLine();
13114
13105
  for (const feature of features) {
13115
13106
  if (this.shouldSkipFeature({ feature })) {
13116
13107
  continue;
13117
13108
  }
13118
- blocks.push(
13119
- this.generateFeatureBlock({
13120
- feature,
13121
- heading: "h3",
13122
- maybeWriter: writer
13123
- })
13124
- );
13109
+ this.generateFeatureBlock({
13110
+ feature,
13111
+ heading: "###",
13112
+ maybeWriter: writer
13113
+ });
13125
13114
  }
13126
- return blocks;
13115
+ return new Block({
13116
+ id: featureId,
13117
+ content: writer.toString()
13118
+ });
13127
13119
  }
13128
13120
  generateFeatureBlock({
13129
13121
  feature,
13130
- heading = "h2",
13122
+ heading = "##",
13131
13123
  maybeWriter
13132
13124
  }) {
13133
13125
  const writer = maybeWriter ?? new StringWriter();
13134
- writer.writeLine(`${heading === "h2" ? "##" : "###"} ${featureIDToTitle(feature.id)}`);
13126
+ writer.writeLine(`${heading} ${featureIDToTitle(feature.id)}`);
13135
13127
  writer.writeLine();
13136
13128
  if (feature.description != null) {
13137
13129
  writer.writeLine(feature.description);
@@ -13487,7 +13479,7 @@ On the other hand, contributions to the README are always very welcome!
13487
13479
  shouldSkipFeature({ feature }) {
13488
13480
  return !feature.snippetsAreOptional && (feature.snippets == null || feature.snippets.length === 0);
13489
13481
  }
13490
- hasUnskippedFeatures({ features }) {
13482
+ shouldGenerateFeatures({ features }) {
13491
13483
  return features.some((feature) => !this.shouldSkipFeature({ feature }));
13492
13484
  }
13493
13485
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fern-api/generator-cli",
3
- "version": "0.0.13-eaaf17704",
3
+ "version": "0.0.15-33b0c02f4",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -18,8 +18,8 @@
18
18
  "lint:eslint:fix": "pnpm lint:eslint --fix",
19
19
  "lint:style": "stylelint 'src/**/*.scss' --allow-empty-input --max-warnings 0",
20
20
  "lint:style:fix": "pnpm lint:style --fix",
21
- "format": "prettier --write --ignore-unknown --ignore-path ../../../shared/.prettierignore \"**\"",
22
- "format:check": "prettier --check --ignore-unknown --ignore-path ../../../shared/.prettierignore \"**\"",
21
+ "format": "prettier --write --ignore-unknown --ignore-path ../../shared/.prettierignore \"**\"",
22
+ "format:check": "prettier --check --ignore-unknown --ignore-path ../../shared/.prettierignore \"**\"",
23
23
  "organize-imports": "organize-imports-cli tsconfig.json",
24
24
  "depcheck": "depcheck"
25
25
  },
@@ -38,6 +38,7 @@
38
38
  "lodash-es": "^4.17.12",
39
39
  "organize-imports-cli": "^0.10.0",
40
40
  "prettier": "^3.3.2",
41
+ "tmp-promise": "^3.0.3",
41
42
  "tsup": "^8.0.2",
42
43
  "typescript": "4.9.5",
43
44
  "vitest": "^1.5.0",