@fern-api/generator-cli 0.0.14-cec22478b → 0.0.16-31fcc7b57

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 +74 -71
  2. package/package.json +6 -4
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");
@@ -12095,9 +12077,9 @@ function parseRepository(githubRepository) {
12095
12077
  githubRepository = githubRepository.slice(0, -4);
12096
12078
  }
12097
12079
  const parts = githubRepository.split("/");
12098
- if (parts.length === 2) {
12080
+ if (parts.length === 2 && parts[0] != null && parts[1] != null) {
12099
12081
  [owner, repo] = parts;
12100
- } else if (parts.length === 3 && parts[0] === DEFAULT_REMOTE) {
12082
+ } else if (parts.length === 3 && parts[0] === DEFAULT_REMOTE && parts[1] != null && parts[2] != null) {
12101
12083
  [, owner, repo] = parts;
12102
12084
  } else {
12103
12085
  throw new Error(`Failed to parse GitHub repostiory ${githubRepository}`);
@@ -13082,8 +13064,11 @@ var ReadmeGenerator = class {
13082
13064
  if (this.readmeConfig.language != null && this.readmeConfig.language.publishInfo != null) {
13083
13065
  blocks.push(this.generateInstallation({ language: this.readmeConfig.language }));
13084
13066
  }
13085
- const coreFeatures = this.readmeConfig.features?.filter((feat) => !this.ADVANCED_FEATURES.has(feat.id)) ?? [];
13086
- const advancedFeatures = this.readmeConfig.features?.filter((feat) => this.ADVANCED_FEATURES.has(feat.id)) ?? [];
13067
+ if (this.readmeConfig.referenceMarkdownPath != null) {
13068
+ blocks.push(this.generateReference({ referenceFile: this.readmeConfig.referenceMarkdownPath }));
13069
+ }
13070
+ const coreFeatures = this.readmeConfig.features?.filter((feat) => !this.isAdvanced(feat)) ?? [];
13071
+ const advancedFeatures = this.readmeConfig.features?.filter((feat) => this.isAdvanced(feat)) ?? [];
13087
13072
  for (const feature of coreFeatures) {
13088
13073
  if (this.shouldSkipFeature({ feature })) {
13089
13074
  continue;
@@ -13104,6 +13089,12 @@ var ReadmeGenerator = class {
13104
13089
  blocks.push(this.generateContributing());
13105
13090
  return blocks;
13106
13091
  }
13092
+ isAdvanced(feat) {
13093
+ if (this.ADVANCED_FEATURES.has(feat.id)) {
13094
+ return true;
13095
+ }
13096
+ return feat.advanced ?? false;
13097
+ }
13107
13098
  generateNestedFeatureBlock({
13108
13099
  featureId,
13109
13100
  features
@@ -13206,8 +13197,9 @@ var ReadmeGenerator = class {
13206
13197
  writer.writeLine();
13207
13198
  }
13208
13199
  writeFernShield({ writer }) {
13200
+ const repoSource = this.readmeConfig.remote?.repoUrl ?? `${this.organizationPascalCase}/${this.languageTitle}`;
13209
13201
  writer.writeLine(
13210
- "[![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)"
13202
+ `[![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)})`
13211
13203
  );
13212
13204
  }
13213
13205
  writeIntroudction({ writer }) {
@@ -13227,6 +13219,17 @@ var ReadmeGenerator = class {
13227
13219
  content: writer.toString()
13228
13220
  });
13229
13221
  }
13222
+ generateReference({ referenceFile }) {
13223
+ const writer = new StringWriter();
13224
+ writer.writeLine("## Reference");
13225
+ writer.writeLine();
13226
+ writer.writeLine(`A full reference for this library is available [here](${referenceFile}).`);
13227
+ writer.writeLine();
13228
+ return new Block({
13229
+ id: "REFERENCE",
13230
+ content: writer.toString()
13231
+ });
13232
+ }
13230
13233
  generateRequirements({ requirements }) {
13231
13234
  const writer = new StringWriter();
13232
13235
  writer.writeLine("## Requirements");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fern-api/generator-cli",
3
- "version": "0.0.14-cec22478b",
3
+ "version": "0.0.16-31fcc7b57",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -14,12 +14,13 @@
14
14
  "clean": "rm -rf ./dist && tsc --build --clean",
15
15
  "compile": "tsup ./src/cli.ts --format cjs && echo '#!/usr/bin/env node' | cat - dist/cli.cjs > dist/tmp && mv dist/tmp dist/cli.cjs",
16
16
  "test": "vitest --run --passWithNoTests --globals --disable-console-intercept",
17
+ "test:update": "vitest -u --run --passWithNoTests --globals --disable-console-intercept",
17
18
  "lint:eslint": "eslint --max-warnings 0 . --ignore-path=../../.eslintignore",
18
19
  "lint:eslint:fix": "pnpm lint:eslint --fix",
19
20
  "lint:style": "stylelint 'src/**/*.scss' --allow-empty-input --max-warnings 0",
20
21
  "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 \"**\"",
22
+ "format": "prettier --write --ignore-unknown --ignore-path ../../shared/.prettierignore \"**\"",
23
+ "format:check": "prettier --check --ignore-unknown --ignore-path ../../shared/.prettierignore \"**\"",
23
24
  "organize-imports": "organize-imports-cli tsconfig.json",
24
25
  "depcheck": "depcheck"
25
26
  },
@@ -32,12 +33,13 @@
32
33
  "@types/yargs": "^17.0.32",
33
34
  "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.15",
34
35
  "depcheck": "^1.4.3",
35
- "esbuild": "^0.15.7",
36
+ "esbuild": "0.20.2",
36
37
  "eslint": "^8.56.0",
37
38
  "execa": "^5.1.1",
38
39
  "lodash-es": "^4.17.12",
39
40
  "organize-imports-cli": "^0.10.0",
40
41
  "prettier": "^3.3.2",
42
+ "tmp-promise": "^3.0.3",
41
43
  "tsup": "^8.0.2",
42
44
  "typescript": "4.9.5",
43
45
  "vitest": "^1.5.0",