@fern-api/generator-cli 0.0.32 → 0.0.40

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 +128 -0
  2. package/package.json +2 -2
package/dist/cli.cjs CHANGED
@@ -12987,6 +12987,24 @@ var LanguageInfo = {
12987
12987
  }
12988
12988
  };
12989
12989
  },
12990
+ rust: (value) => {
12991
+ return {
12992
+ ...value,
12993
+ type: "rust",
12994
+ _visit: function(visitor) {
12995
+ return LanguageInfo._visit(this, visitor);
12996
+ }
12997
+ };
12998
+ },
12999
+ swift: (value) => {
13000
+ return {
13001
+ ...value,
13002
+ type: "swift",
13003
+ _visit: function(visitor) {
13004
+ return LanguageInfo._visit(this, visitor);
13005
+ }
13006
+ };
13007
+ },
12990
13008
  _visit: (value, visitor) => {
12991
13009
  switch (value.type) {
12992
13010
  case "typescript":
@@ -13003,6 +13021,10 @@ var LanguageInfo = {
13003
13021
  return visitor.csharp(value);
13004
13022
  case "php":
13005
13023
  return visitor.php(value);
13024
+ case "rust":
13025
+ return visitor.rust(value);
13026
+ case "swift":
13027
+ return visitor.swift(value);
13006
13028
  default:
13007
13029
  return visitor._other(value);
13008
13030
  }
@@ -13024,6 +13046,8 @@ var Language = {
13024
13046
  Csharp: "CSHARP",
13025
13047
  Typescript: "TYPESCRIPT",
13026
13048
  Php: "PHP",
13049
+ Rust: "RUST",
13050
+ Swift: "SWIFT",
13027
13051
  _visit: (value, visitor) => {
13028
13052
  switch (value) {
13029
13053
  case Language.Java:
@@ -13040,6 +13064,10 @@ var Language = {
13040
13064
  return visitor.typescript();
13041
13065
  case Language.Php:
13042
13066
  return visitor.php();
13067
+ case Language.Rust:
13068
+ return visitor.rust();
13069
+ case Language.Swift:
13070
+ return visitor.swift();
13043
13071
  default:
13044
13072
  return visitor._other();
13045
13073
  }
@@ -13540,6 +13568,18 @@ var ReadmeGenerator = class {
13540
13568
  composer: language.publishInfo
13541
13569
  });
13542
13570
  break;
13571
+ case "rust":
13572
+ await this.writeInstallationForCargo({
13573
+ writer,
13574
+ cargo: language.publishInfo
13575
+ });
13576
+ break;
13577
+ case "swift":
13578
+ await this.writeInstallationForSwiftPackageManager({
13579
+ writer,
13580
+ spm: language.publishInfo
13581
+ });
13582
+ break;
13543
13583
  default:
13544
13584
  assertNever(language);
13545
13585
  }
@@ -13636,6 +13676,48 @@ var ReadmeGenerator = class {
13636
13676
  await writer.writeLine("```");
13637
13677
  await writer.writeLine();
13638
13678
  }
13679
+ async writeInstallationForCargo({
13680
+ writer,
13681
+ cargo
13682
+ }) {
13683
+ await writer.writeLine("Add this to your `Cargo.toml`:");
13684
+ await writer.writeLine();
13685
+ await writer.writeLine("```toml");
13686
+ await writer.writeLine("[dependencies]");
13687
+ await writer.writeLine(
13688
+ `${this.getCrateNameFromPackageName(cargo.packageName)} = "${cargo.version}"`
13689
+ );
13690
+ await writer.writeLine("```");
13691
+ await writer.writeLine();
13692
+ await writer.writeLine("Or install via cargo:");
13693
+ await writer.writeLine();
13694
+ await writer.writeLine("```sh");
13695
+ await writer.writeLine(
13696
+ `cargo add ${this.getCrateNameFromPackageName(cargo.packageName)}`
13697
+ );
13698
+ await writer.writeLine("```");
13699
+ await writer.writeLine();
13700
+ }
13701
+ async writeInstallationForSwiftPackageManager({
13702
+ writer,
13703
+ spm
13704
+ }) {
13705
+ await writer.writeLine(
13706
+ "With Swift Package Manager (SPM), add the following to the top-level `dependencies` array within your `Package.swift` file:"
13707
+ );
13708
+ await writer.writeLine();
13709
+ await writer.writeLine("```swift");
13710
+ await writer.writeLine("dependencies: [");
13711
+ await writer.writeLine(
13712
+ ` .package(url: "${spm.gitUrl}", from: "${spm.minVersion}"),`
13713
+ );
13714
+ await writer.writeLine("]");
13715
+ await writer.writeLine("```");
13716
+ await writer.writeLine();
13717
+ }
13718
+ getCrateNameFromPackageName(packageName) {
13719
+ return packageName.includes("/") ? packageName.split("/").pop() ?? packageName : packageName;
13720
+ }
13639
13721
  async writeShield({
13640
13722
  writer,
13641
13723
  language
@@ -13718,6 +13800,28 @@ var ReadmeGenerator = class {
13718
13800
  });
13719
13801
  return;
13720
13802
  }
13803
+ case "rust": {
13804
+ const cargo = language.publishInfo;
13805
+ if (cargo == null) {
13806
+ return;
13807
+ }
13808
+ await this.writeShieldForCargo({
13809
+ writer,
13810
+ cargo
13811
+ });
13812
+ return;
13813
+ }
13814
+ case "swift": {
13815
+ const spm = language.publishInfo;
13816
+ if (spm == null) {
13817
+ return;
13818
+ }
13819
+ await this.writeShieldForSwiftPackageManager({
13820
+ writer,
13821
+ spm
13822
+ });
13823
+ return;
13824
+ }
13721
13825
  default:
13722
13826
  assertNever(language);
13723
13827
  }
@@ -13796,6 +13900,26 @@ var ReadmeGenerator = class {
13796
13900
  `(https://packagist.org/packages/${composer.packageName})`
13797
13901
  );
13798
13902
  }
13903
+ async writeShieldForCargo({
13904
+ writer,
13905
+ cargo
13906
+ }) {
13907
+ await writer.write("[![crates.io shield]");
13908
+ await writer.write(
13909
+ `(https://img.shields.io/crates/v/${this.getCrateNameFromPackageName(cargo.packageName)})]`
13910
+ );
13911
+ await writer.writeLine(
13912
+ `(https://crates.io/crates/${this.getCrateNameFromPackageName(cargo.packageName)})`
13913
+ );
13914
+ }
13915
+ async writeShieldForSwiftPackageManager({
13916
+ writer
13917
+ }) {
13918
+ await writer.write("[![SwiftPM compatible]");
13919
+ await writer.write(
13920
+ "(https://img.shields.io/badge/SwiftPM-compatible-orange.svg)]"
13921
+ );
13922
+ }
13799
13923
  generateContributing() {
13800
13924
  return new Block({
13801
13925
  id: "CONTRIBUTING",
@@ -13838,6 +13962,10 @@ function languageToTitle(language) {
13838
13962
  return "C#";
13839
13963
  case "php":
13840
13964
  return "PHP";
13965
+ case "rust":
13966
+ return "Rust";
13967
+ case "swift":
13968
+ return "Swift";
13841
13969
  default:
13842
13970
  assertNever(language);
13843
13971
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fern-api/generator-cli",
3
- "version": "0.0.32",
3
+ "version": "0.0.40",
4
4
  "type": "module",
5
5
  "main": "dist/cli.cjs",
6
6
  "source": "src/index.ts",
@@ -31,7 +31,7 @@
31
31
  "@fern-api/fs-utils": "0.15.0-rc63",
32
32
  "@fern-api/github": "workspace:*",
33
33
  "@types/jest": "^29.5.11",
34
- "@types/node": "^18.11.9",
34
+ "@types/node": "^22.0.0",
35
35
  "@types/yargs": "^17.0.32",
36
36
  "depcheck": "^1.4.7",
37
37
  "esbuild": "0.25.0",