@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.
- package/cli.cjs +228 -167
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 (
|
|
920297
|
-
|
|
920298
|
-
|
|
920299
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
939556
|
-
|
|
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