@fern-api/fern-api-dev 4.88.0-2-gac5aef39d7f → 4.88.0-3-g87b8f69d721

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/cli.cjs +228 -167
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -615211,7 +615211,7 @@ var AccessTokenPosthogManager = class {
615211
615211
  properties: {
615212
615212
  ...event,
615213
615213
  ...event.properties,
615214
- version: "4.88.0-2-gac5aef39d7f",
615214
+ version: "4.88.0-3-g87b8f69d721",
615215
615215
  usingAccessToken: true
615216
615216
  }
615217
615217
  });
@@ -615265,7 +615265,7 @@ var UserPosthogManager = class {
615265
615265
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
615266
615266
  event: "CLI",
615267
615267
  properties: {
615268
- version: "4.88.0-2-gac5aef39d7f",
615268
+ version: "4.88.0-3-g87b8f69d721",
615269
615269
  ...event,
615270
615270
  ...event.properties,
615271
615271
  usingAccessToken: false,
@@ -832787,7 +832787,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
832787
832787
  var LOGS_FOLDER_NAME = "logs";
832788
832788
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
832789
832789
  function getCliSource() {
832790
- const version7 = "4.88.0-2-gac5aef39d7f";
832790
+ const version7 = "4.88.0-3-g87b8f69d721";
832791
832791
  return `cli@${version7}`;
832792
832792
  }
832793
832793
  var DebugLogger = class {
@@ -844535,7 +844535,7 @@ var LegacyDocsPublisher = class {
844535
844535
  previewId,
844536
844536
  disableTemplates: void 0,
844537
844537
  skipUpload,
844538
- cliVersion: "4.88.0-2-gac5aef39d7f"
844538
+ cliVersion: "4.88.0-3-g87b8f69d721"
844539
844539
  });
844540
844540
  if (taskContext.getResult() === TaskResult.Failure) {
844541
844541
  return { success: false };
@@ -919923,7 +919923,7 @@ var CliContext = class _CliContext {
919923
919923
  if (false) {
919924
919924
  this.logger.error("CLI_VERSION is not defined");
919925
919925
  }
919926
- return "4.88.0-2-gac5aef39d7f";
919926
+ return "4.88.0-3-g87b8f69d721";
919927
919927
  }
919928
919928
  getCliName() {
919929
919929
  if (false) {
@@ -920222,6 +920222,22 @@ function wrapWorkspaceNameForPrefix(workspaceName) {
920222
920222
  // ../project-loader/lib/loadProject.js
920223
920223
  init_lib6();
920224
920224
  var import_promises129 = require("fs/promises");
920225
+
920226
+ // ../project-loader/lib/normalizeCommandLineApiWorkspace.js
920227
+ function normalizeCommandLineApiWorkspace(input3) {
920228
+ if (input3 == null) {
920229
+ return void 0;
920230
+ }
920231
+ if (!Array.isArray(input3)) {
920232
+ return [input3];
920233
+ }
920234
+ if (input3.length === 0) {
920235
+ return void 0;
920236
+ }
920237
+ return Array.from(new Set(input3));
920238
+ }
920239
+
920240
+ // ../project-loader/lib/loadProject.js
920225
920241
  async function loadProject({ context: context3, nameOverride, ...args }) {
920226
920242
  const fernDirectory = await getFernDirectory(nameOverride);
920227
920243
  if (fernDirectory == null) {
@@ -920283,6 +920299,7 @@ For more information:
920283
920299
  };
920284
920300
  }
920285
920301
  async function loadApis({ cliName, fernDirectory, context: context3, cliVersion, commandLineApiWorkspace, defaultToAllApiWorkspaces }) {
920302
+ const commandLineApiWorkspaceNames = normalizeCommandLineApiWorkspace(commandLineApiWorkspace);
920286
920303
  const apisDirectory = join8(fernDirectory, RelativeFilePath2.of(APIS_DIRECTORY));
920287
920304
  const apisDirectoryExists = await doesPathExist(apisDirectory);
920288
920305
  if (apisDirectoryExists) {
@@ -920293,11 +920310,10 @@ async function loadApis({ cliName, fernDirectory, context: context3, cliVersion,
920293
920310
  }
920294
920311
  return all9;
920295
920312
  }, []);
920296
- if (commandLineApiWorkspace != null) {
920297
- if (!apiWorkspaceDirectoryNames.includes(commandLineApiWorkspace)) {
920298
- return context3.failAndThrow("API does not exist: " + commandLineApiWorkspace, void 0, {
920299
- code: CliError.Code.ConfigError
920300
- });
920313
+ if (commandLineApiWorkspaceNames != null) {
920314
+ const missing = commandLineApiWorkspaceNames.filter((name2) => !apiWorkspaceDirectoryNames.includes(name2));
920315
+ if (missing.length > 0) {
920316
+ return context3.failAndThrow(missing.length === 1 ? "API does not exist: " + missing[0] : "APIs do not exist: " + missing.join(", "), void 0, { code: CliError.Code.ConfigError });
920301
920317
  }
920302
920318
  } else if (apiWorkspaceDirectoryNames.length === 0) {
920303
920319
  return context3.failAndThrow("No APIs found.", void 0, { code: CliError.Code.ConfigError });
@@ -920311,9 +920327,7 @@ async function loadApis({ cliName, fernDirectory, context: context3, cliVersion,
920311
920327
  return context3.failAndThrow(message, void 0, { code: CliError.Code.ConfigError });
920312
920328
  }
920313
920329
  const apiWorkspaces = [];
920314
- const filteredWorkspaces = commandLineApiWorkspace != null ? apiWorkspaceDirectoryNames.filter((api2) => {
920315
- return api2 === commandLineApiWorkspace;
920316
- }) : apiWorkspaceDirectoryNames;
920330
+ const filteredWorkspaces = commandLineApiWorkspaceNames != null ? apiWorkspaceDirectoryNames.filter((api2) => commandLineApiWorkspaceNames.includes(api2)) : apiWorkspaceDirectoryNames;
920317
920331
  await Promise.all(filteredWorkspaces.map(async (workspaceDirectoryName) => {
920318
920332
  const workspace2 = await loadAPIWorkspace({
920319
920333
  absolutePathToWorkspace: join8(apisDirectory, RelativeFilePath2.of(workspaceDirectoryName)),
@@ -921663,148 +921677,6 @@ function expandGroupFilter(groupNames, generatorsConfiguration) {
921663
921677
  // src/commands/generate/generateAPIWorkspace.ts
921664
921678
  init_lib6();
921665
921679
 
921666
- // src/commands/generate/resolveGroupAlias.ts
921667
- function resolveGroupAlias({
921668
- name: name2,
921669
- groupAliases,
921670
- availableGroupNames
921671
- }) {
921672
- const aliasTargets = groupAliases[name2];
921673
- if (aliasTargets != null) {
921674
- for (const target of aliasTargets) {
921675
- if (!availableGroupNames.includes(target)) {
921676
- return {
921677
- type: "alias-references-missing-group",
921678
- alias: name2,
921679
- missingGroupName: target,
921680
- availableGroupNames
921681
- };
921682
- }
921683
- }
921684
- return { type: "resolved", groupNames: aliasTargets };
921685
- }
921686
- if (availableGroupNames.includes(name2)) {
921687
- return { type: "resolved", groupNames: [name2] };
921688
- }
921689
- return {
921690
- type: "unknown",
921691
- name: name2,
921692
- availableGroupNames,
921693
- availableAliasNames: Object.keys(groupAliases)
921694
- };
921695
- }
921696
-
921697
- // src/commands/generate/resolveGroupNamesForGeneration.ts
921698
- function resolveGroupNamesForGeneration({
921699
- groupName,
921700
- generatorsConfiguration,
921701
- isAutomation
921702
- }) {
921703
- if (isAutomation && groupName == null) {
921704
- return {
921705
- type: "fan-out",
921706
- groupNames: generatorsConfiguration.groups.map((g8) => g8.groupName)
921707
- };
921708
- }
921709
- const effective = groupName ?? generatorsConfiguration.defaultGroup;
921710
- if (effective == null) {
921711
- return {
921712
- type: "missing-group",
921713
- availableGroupNames: generatorsConfiguration.groups.map((g8) => g8.groupName)
921714
- };
921715
- }
921716
- return {
921717
- type: "targeted",
921718
- groupName: effective,
921719
- fromDefaultGroup: groupName == null
921720
- };
921721
- }
921722
-
921723
- // src/commands/generate/resolveGroupsOrFail.ts
921724
- function resolveGroupsOrFail({
921725
- groupNames,
921726
- generatorsConfiguration,
921727
- isAutomation,
921728
- context: context3
921729
- }) {
921730
- if (groupNames == null || groupNames.length === 0) {
921731
- return resolveSingleGroupOrFail({
921732
- groupName: void 0,
921733
- generatorsConfiguration,
921734
- isAutomation,
921735
- context: context3
921736
- });
921737
- }
921738
- const resolved = [];
921739
- for (const groupName of groupNames) {
921740
- for (const name2 of resolveSingleGroupOrFail({
921741
- groupName,
921742
- generatorsConfiguration,
921743
- isAutomation,
921744
- context: context3
921745
- })) {
921746
- if (!resolved.includes(name2)) {
921747
- resolved.push(name2);
921748
- }
921749
- }
921750
- }
921751
- return resolved;
921752
- }
921753
- function resolveSingleGroupOrFail({
921754
- groupName,
921755
- generatorsConfiguration,
921756
- isAutomation,
921757
- context: context3
921758
- }) {
921759
- const resolution = resolveGroupNamesForGeneration({ groupName, generatorsConfiguration, isAutomation });
921760
- if (resolution.type === "fan-out") {
921761
- return resolution.groupNames;
921762
- }
921763
- if (resolution.type === "missing-group") {
921764
- const longestGroupName = Math.max(...resolution.availableGroupNames.map((name2) => name2.length));
921765
- const currentArgs = process.argv.slice(2).join(" ");
921766
- const suggestions = resolution.availableGroupNames.map((name2) => {
921767
- const suggestedCommand = `fern ${currentArgs} --${GROUP_CLI_OPTION} ${name2}`;
921768
- return ` \u203A ${source_default.bold(name2.padEnd(longestGroupName))} ${source_default.dim(suggestedCommand)}`;
921769
- }).join("\n");
921770
- context3.failAndThrow(
921771
- `No group specified. Use the --${GROUP_CLI_OPTION} option, or set "${DEFAULT_GROUP_GENERATORS_CONFIG_KEY}" in ${GENERATORS_CONFIGURATION_FILENAME}:
921772
- ${suggestions}`,
921773
- void 0,
921774
- { code: CliError.Code.NetworkError }
921775
- );
921776
- return [];
921777
- }
921778
- if (resolution.fromDefaultGroup) {
921779
- context3.logger.info(
921780
- source_default.dim(`Using default group '${resolution.groupName}' from ${GENERATORS_CONFIGURATION_FILENAME}`)
921781
- );
921782
- }
921783
- const aliasResult = resolveGroupAlias({
921784
- name: resolution.groupName,
921785
- groupAliases: generatorsConfiguration.groupAliases,
921786
- availableGroupNames: generatorsConfiguration.groups.map((g8) => g8.groupName)
921787
- });
921788
- if (aliasResult.type === "alias-references-missing-group") {
921789
- context3.failAndThrow(
921790
- `Group alias '${aliasResult.alias}' references non-existent group '${aliasResult.missingGroupName}'. Available groups: ${aliasResult.availableGroupNames.join(", ")}`,
921791
- void 0,
921792
- { code: CliError.Code.NetworkError }
921793
- );
921794
- return [];
921795
- }
921796
- if (aliasResult.type === "unknown") {
921797
- const aliasesSuffix = aliasResult.availableAliasNames.length > 0 ? `. Available aliases: ${aliasResult.availableAliasNames.join(", ")}` : "";
921798
- context3.failAndThrow(
921799
- `'${aliasResult.name}' is not a valid group or alias. Available groups: ${aliasResult.availableGroupNames.join(", ")}${aliasesSuffix}`,
921800
- void 0,
921801
- { code: CliError.Code.NetworkError }
921802
- );
921803
- return [];
921804
- }
921805
- return aliasResult.groupNames;
921806
- }
921807
-
921808
921680
  // src/commands/generate/describeSkipReason.ts
921809
921681
  function describeSkipReason(generator, rootAutorelease) {
921810
921682
  if (!generator.automation.generate) {
@@ -921879,7 +921751,7 @@ async function generateWorkspace({
921879
921751
  workspace,
921880
921752
  projectConfig,
921881
921753
  context: context3,
921882
- groupNames,
921754
+ resolvedGroupNames,
921883
921755
  generatorName,
921884
921756
  generatorIndex,
921885
921757
  version: version7,
@@ -921911,12 +921783,6 @@ async function generateWorkspace({
921911
921783
  context3.logger.warn(`This workspace has no groups specified in ${GENERATORS_CONFIGURATION_FILENAME}`);
921912
921784
  return;
921913
921785
  }
921914
- const resolvedGroupNames = resolveGroupsOrFail({
921915
- groupNames,
921916
- generatorsConfiguration: workspace.generatorsConfiguration,
921917
- isAutomation: automation != null,
921918
- context: context3
921919
- });
921920
921786
  const { ai: ai10, replay } = workspace.generatorsConfiguration;
921921
921787
  if (!useLocalDocker && !token) {
921922
921788
  return context3.failAndThrow("Please run fern login", void 0, { code: CliError.Code.AuthError });
@@ -922119,6 +921985,169 @@ function getLanguageFromGeneratorName3(generatorName) {
922119
921985
  return generatorName.replace(/[^a-zA-Z0-9]/g, "-").toLowerCase();
922120
921986
  }
922121
921987
 
921988
+ // src/commands/generate/resolveGroupAlias.ts
921989
+ function resolveGroupAlias({
921990
+ name: name2,
921991
+ groupAliases,
921992
+ availableGroupNames
921993
+ }) {
921994
+ const aliasTargets = groupAliases[name2];
921995
+ if (aliasTargets != null) {
921996
+ for (const target of aliasTargets) {
921997
+ if (!availableGroupNames.includes(target)) {
921998
+ return {
921999
+ type: "alias-references-missing-group",
922000
+ alias: name2,
922001
+ missingGroupName: target,
922002
+ availableGroupNames
922003
+ };
922004
+ }
922005
+ }
922006
+ return { type: "resolved", groupNames: aliasTargets };
922007
+ }
922008
+ if (availableGroupNames.includes(name2)) {
922009
+ return { type: "resolved", groupNames: [name2] };
922010
+ }
922011
+ return {
922012
+ type: "unknown",
922013
+ name: name2,
922014
+ availableGroupNames,
922015
+ availableAliasNames: Object.keys(groupAliases)
922016
+ };
922017
+ }
922018
+
922019
+ // src/commands/generate/resolveGroupNamesForGeneration.ts
922020
+ function resolveGroupNamesForGeneration({
922021
+ groupName,
922022
+ generatorsConfiguration,
922023
+ isAutomation
922024
+ }) {
922025
+ if (isAutomation && groupName == null) {
922026
+ return {
922027
+ type: "fan-out",
922028
+ groupNames: generatorsConfiguration.groups.map((g8) => g8.groupName)
922029
+ };
922030
+ }
922031
+ const effective = groupName ?? generatorsConfiguration.defaultGroup;
922032
+ if (effective == null) {
922033
+ return {
922034
+ type: "missing-group",
922035
+ availableGroupNames: generatorsConfiguration.groups.map((g8) => g8.groupName)
922036
+ };
922037
+ }
922038
+ return {
922039
+ type: "targeted",
922040
+ groupName: effective,
922041
+ fromDefaultGroup: groupName == null
922042
+ };
922043
+ }
922044
+
922045
+ // src/commands/generate/resolveGroupsOrFail.ts
922046
+ function resolveGroupsOrFail({
922047
+ groupNames,
922048
+ generatorsConfiguration,
922049
+ isAutomation,
922050
+ context: context3
922051
+ }) {
922052
+ if (groupNames == null || groupNames.length === 0) {
922053
+ return resolveSingleGroupOrFail({
922054
+ groupName: void 0,
922055
+ generatorsConfiguration,
922056
+ isAutomation,
922057
+ context: context3
922058
+ });
922059
+ }
922060
+ const resolved = [];
922061
+ for (const groupName of groupNames) {
922062
+ for (const name2 of resolveSingleGroupOrFail({
922063
+ groupName,
922064
+ generatorsConfiguration,
922065
+ isAutomation,
922066
+ context: context3
922067
+ })) {
922068
+ if (!resolved.includes(name2)) {
922069
+ resolved.push(name2);
922070
+ }
922071
+ }
922072
+ }
922073
+ return resolved;
922074
+ }
922075
+ function resolveSingleGroupOrFail({
922076
+ groupName,
922077
+ generatorsConfiguration,
922078
+ isAutomation,
922079
+ context: context3
922080
+ }) {
922081
+ const resolution = resolveGroupNamesForGeneration({ groupName, generatorsConfiguration, isAutomation });
922082
+ if (resolution.type === "fan-out") {
922083
+ return resolution.groupNames;
922084
+ }
922085
+ if (resolution.type === "missing-group") {
922086
+ const longestGroupName = Math.max(...resolution.availableGroupNames.map((name2) => name2.length));
922087
+ const currentArgs = process.argv.slice(2).join(" ");
922088
+ const suggestions = resolution.availableGroupNames.map((name2) => {
922089
+ const suggestedCommand = `fern ${currentArgs} --${GROUP_CLI_OPTION} ${name2}`;
922090
+ return ` \u203A ${source_default.bold(name2.padEnd(longestGroupName))} ${source_default.dim(suggestedCommand)}`;
922091
+ }).join("\n");
922092
+ context3.failAndThrow(
922093
+ `No group specified. Use the --${GROUP_CLI_OPTION} option, or set "${DEFAULT_GROUP_GENERATORS_CONFIG_KEY}" in ${GENERATORS_CONFIGURATION_FILENAME}:
922094
+ ${suggestions}`,
922095
+ void 0,
922096
+ { code: CliError.Code.NetworkError }
922097
+ );
922098
+ return [];
922099
+ }
922100
+ if (resolution.fromDefaultGroup) {
922101
+ context3.logger.info(
922102
+ source_default.dim(`Using default group '${resolution.groupName}' from ${GENERATORS_CONFIGURATION_FILENAME}`)
922103
+ );
922104
+ }
922105
+ const aliasResult = resolveGroupAlias({
922106
+ name: resolution.groupName,
922107
+ groupAliases: generatorsConfiguration.groupAliases,
922108
+ availableGroupNames: generatorsConfiguration.groups.map((g8) => g8.groupName)
922109
+ });
922110
+ if (aliasResult.type === "alias-references-missing-group") {
922111
+ context3.failAndThrow(
922112
+ `Group alias '${aliasResult.alias}' references non-existent group '${aliasResult.missingGroupName}'. Available groups: ${aliasResult.availableGroupNames.join(", ")}`,
922113
+ void 0,
922114
+ { code: CliError.Code.NetworkError }
922115
+ );
922116
+ return [];
922117
+ }
922118
+ if (aliasResult.type === "unknown") {
922119
+ const aliasesSuffix = aliasResult.availableAliasNames.length > 0 ? `. Available aliases: ${aliasResult.availableAliasNames.join(", ")}` : "";
922120
+ context3.failAndThrow(
922121
+ `'${aliasResult.name}' is not a valid group or alias. Available groups: ${aliasResult.availableGroupNames.join(", ")}${aliasesSuffix}`,
922122
+ void 0,
922123
+ { code: CliError.Code.NetworkError }
922124
+ );
922125
+ return [];
922126
+ }
922127
+ return aliasResult.groupNames;
922128
+ }
922129
+
922130
+ // src/commands/generate/resolveGroupsForWorkspace.ts
922131
+ function resolveGroupsForWorkspace({
922132
+ workspace,
922133
+ groupNames,
922134
+ isAutomation,
922135
+ context: context3
922136
+ }) {
922137
+ if (workspace.generatorsConfiguration == null) {
922138
+ return void 0;
922139
+ }
922140
+ if (workspace.generatorsConfiguration.groups.length === 0) {
922141
+ return void 0;
922142
+ }
922143
+ return resolveGroupsOrFail({
922144
+ groupNames,
922145
+ generatorsConfiguration: workspace.generatorsConfiguration,
922146
+ isAutomation,
922147
+ context: context3
922148
+ });
922149
+ }
922150
+
922122
922151
  // src/commands/generate/resolvePosthogCommandLabel.ts
922123
922152
  function resolvePosthogCommandLabel(automation) {
922124
922153
  return automation != null ? "fern automations generate" : "fern generate";
@@ -922200,8 +922229,15 @@ async function generateAPIWorkspaces({
922200
922229
  workspaces: buildPosthogWorkspaces({ project, groupNames, generatorName })
922201
922230
  }
922202
922231
  });
922232
+ const resolvedGroupNamesByWorkspace = await resolveGroupsForAllWorkspaces({
922233
+ project,
922234
+ groupNames,
922235
+ automation,
922236
+ cliContext
922237
+ });
922203
922238
  await Promise.all(
922204
922239
  project.apiWorkspaces.map(async (workspace) => {
922240
+ const resolvedGroupNames = resolvedGroupNamesByWorkspace.get(workspace);
922205
922241
  await cliContext.runTaskForWorkspace(workspace, async (context3) => {
922206
922242
  const absolutePathToPreview = preview ? outputDir != null ? AbsoluteFilePath2.of(resolve6(cwd(), outputDir)) : join8(workspace.absoluteFilePath, RelativeFilePath2.of(PREVIEW_DIRECTORY)) : void 0;
922207
922243
  if (absolutePathToPreview != null) {
@@ -922213,7 +922249,7 @@ async function generateAPIWorkspaces({
922213
922249
  projectConfig: project.config,
922214
922250
  context: context3,
922215
922251
  version: version7,
922216
- groupNames,
922252
+ resolvedGroupNames: resolvedGroupNames ?? [],
922217
922253
  generatorName,
922218
922254
  generatorIndex,
922219
922255
  shouldLogS3Url,
@@ -922240,6 +922276,30 @@ async function generateAPIWorkspaces({
922240
922276
  })
922241
922277
  );
922242
922278
  }
922279
+ async function resolveGroupsForAllWorkspaces({
922280
+ project,
922281
+ groupNames,
922282
+ automation,
922283
+ cliContext
922284
+ }) {
922285
+ const resolvedGroupNamesByWorkspace = /* @__PURE__ */ new Map();
922286
+ await Promise.all(
922287
+ project.apiWorkspaces.map(async (workspace) => {
922288
+ await cliContext.runTaskForWorkspace(workspace, async (context3) => {
922289
+ const resolved = resolveGroupsForWorkspace({
922290
+ workspace,
922291
+ groupNames,
922292
+ isAutomation: automation != null,
922293
+ context: context3
922294
+ });
922295
+ if (resolved != null) {
922296
+ resolvedGroupNamesByWorkspace.set(workspace, resolved);
922297
+ }
922298
+ });
922299
+ })
922300
+ );
922301
+ return resolvedGroupNamesByWorkspace;
922302
+ }
922243
922303
  async function confirmOutputDirectoriesForEligibleGenerators({
922244
922304
  project,
922245
922305
  groupNames,
@@ -939552,8 +939612,9 @@ function addGenerateCommand2(cli, cliContext) {
939552
939612
  ["generate"],
939553
939613
  "Generate all generators in the specified group",
939554
939614
  (yargs) => yargs.option("api", {
939555
- string: true,
939556
- description: "If multiple APIs, specify the name with --api <name>. Otherwise, just --api."
939615
+ type: "string",
939616
+ array: true,
939617
+ description: "If multiple APIs, specify the name with --api <name>. Pass --api multiple times to generate for several APIs at once."
939557
939618
  }).option("docs", {
939558
939619
  string: true,
939559
939620
  description: "If multiple docs sites, specify the name with --docs <name>. Otherwise just --docs."
@@ -939661,7 +939722,7 @@ function addGenerateCommand2(cli, cliContext) {
939661
939722
  description: "Skip opening a PR / pushing when the generated output has no diff from the base branch."
939662
939723
  }),
939663
939724
  async (argv) => {
939664
- if (argv.api != null && argv.docs != null) {
939725
+ if (argv.api != null && argv.api.length > 0 && argv.docs != null) {
939665
939726
  return cliContext.failWithoutThrowing(
939666
939727
  "Cannot specify both --api and --docs. Please choose one.",
939667
939728
  void 0,
@@ -939743,7 +939804,7 @@ function addGenerateCommand2(cli, cliContext) {
939743
939804
  }
939744
939805
  const correctedGeneratorFilter = argv.generator != null ? warnAndCorrectIncorrectDockerOrg(argv.generator, cliContext) : void 0;
939745
939806
  const { generatorName, generatorIndex } = parseGeneratorArg(correctedGeneratorFilter);
939746
- if (argv.api != null) {
939807
+ if (argv.api != null && argv.api.length > 0) {
939747
939808
  return await generateAPIWorkspaces({
939748
939809
  project: await loadProjectAndRegisterWorkspacesWithContext(cliContext, {
939749
939810
  commandLineApiWorkspace: argv.api,
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.88.0-2-gac5aef39d7f",
2
+ "version": "4.88.0-3-g87b8f69d721",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",