@fern-api/fern-api-dev 5.75.3 → 5.75.4
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 +61 -9
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -691149,7 +691149,7 @@ var AccessTokenPosthogManager = class {
|
|
|
691149
691149
|
properties: {
|
|
691150
691150
|
...event,
|
|
691151
691151
|
...event.properties,
|
|
691152
|
-
version: "5.75.
|
|
691152
|
+
version: "5.75.4",
|
|
691153
691153
|
usingAccessToken: true,
|
|
691154
691154
|
...getRunIdProperties()
|
|
691155
691155
|
}
|
|
@@ -691215,7 +691215,7 @@ var UserPosthogManager = class {
|
|
|
691215
691215
|
distinctId: this.userId ?? await this.getPersistedDistinctId(),
|
|
691216
691216
|
event: "CLI",
|
|
691217
691217
|
properties: {
|
|
691218
|
-
version: "5.75.
|
|
691218
|
+
version: "5.75.4",
|
|
691219
691219
|
...event,
|
|
691220
691220
|
...event.properties,
|
|
691221
691221
|
usingAccessToken: false,
|
|
@@ -866515,7 +866515,9 @@ var ValidMarkdownRule = {
|
|
|
866515
866515
|
const message = markdownParseResult.message != null ? `Markdown failed to parse: ${markdownParseResult.message}` : "Markdown failed to parse";
|
|
866516
866516
|
return [
|
|
866517
866517
|
{
|
|
866518
|
-
|
|
866518
|
+
// Surfaced as a warning (not an error) so re-enabling this rule does not
|
|
866519
|
+
// suddenly break existing `fern check` runs on repos with latent MDX issues.
|
|
866520
|
+
severity: "warning",
|
|
866519
866521
|
message
|
|
866520
866522
|
}
|
|
866521
866523
|
];
|
|
@@ -868492,6 +868494,8 @@ var allRules = [
|
|
|
868492
868494
|
// Check non-component references (will skip v2 files)
|
|
868493
868495
|
ValidLocalReferencesRule,
|
|
868494
868496
|
// Validate that local references actually exist
|
|
868497
|
+
ValidMarkdownRule,
|
|
868498
|
+
// Compile each page's MDX and surface syntax errors (e.g. unclosed components)
|
|
868495
868499
|
NavigationConflicts,
|
|
868496
868500
|
ValidateVersionFileRule,
|
|
868497
868501
|
ValidateProductFileRule,
|
|
@@ -872316,7 +872320,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
|
|
|
872316
872320
|
var LOGS_FOLDER_NAME = "logs";
|
|
872317
872321
|
var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
|
|
872318
872322
|
function getCliSource() {
|
|
872319
|
-
const version7 = "5.75.
|
|
872323
|
+
const version7 = "5.75.4";
|
|
872320
872324
|
return `cli@${version7}`;
|
|
872321
872325
|
}
|
|
872322
872326
|
var DebugLogger = class {
|
|
@@ -904905,7 +904909,7 @@ var LegacyDocsPublisher = class {
|
|
|
904905
904909
|
previewId,
|
|
904906
904910
|
disableTemplates: void 0,
|
|
904907
904911
|
skipUpload,
|
|
904908
|
-
cliVersion: "5.75.
|
|
904912
|
+
cliVersion: "5.75.4",
|
|
904909
904913
|
loginCommand: "fern auth login"
|
|
904910
904914
|
});
|
|
904911
904915
|
if (taskContext.getResult() === TaskResult.Failure) {
|
|
@@ -929238,6 +929242,9 @@ var DynamicTypeInstantiationMapper = class {
|
|
|
929238
929242
|
return this.convertLiteralToOptionalPrimitive(named.typeReference.value);
|
|
929239
929243
|
}
|
|
929240
929244
|
}
|
|
929245
|
+
if (inner2.type === "literal") {
|
|
929246
|
+
return this.convertLiteralToOptionalPrimitive(inner2.value);
|
|
929247
|
+
}
|
|
929241
929248
|
return go_exports.TypeInstantiation.optional(this.convert({ typeReference: inner2, value: args.value, as: args.as }));
|
|
929242
929249
|
}
|
|
929243
929250
|
case "optional": {
|
|
@@ -929262,6 +929269,9 @@ var DynamicTypeInstantiationMapper = class {
|
|
|
929262
929269
|
return this.convertLiteralToOptionalPrimitive(named.typeReference.value);
|
|
929263
929270
|
}
|
|
929264
929271
|
}
|
|
929272
|
+
if (inner2.type === "literal") {
|
|
929273
|
+
return this.convertLiteralToOptionalPrimitive(inner2.value);
|
|
929274
|
+
}
|
|
929265
929275
|
return go_exports.TypeInstantiation.optional(this.convert({ typeReference: inner2, value: args.value, as: args.as }));
|
|
929266
929276
|
}
|
|
929267
929277
|
case "primitive":
|
|
@@ -941726,6 +941736,10 @@ var EndpointSnippetGenerator5 = class {
|
|
|
941726
941736
|
assertNever(named);
|
|
941727
941737
|
}
|
|
941728
941738
|
}
|
|
941739
|
+
// Whether a type resolves to a literal, treating optional/nullable literals AS literals.
|
|
941740
|
+
// Used for request-body properties and path parameters, which omit ALL literals (required
|
|
941741
|
+
// and optional alike) from the generated method call because they are set internally.
|
|
941742
|
+
// Contrast with resolvesToNonOptionalLiteralType below, which keeps optional literals.
|
|
941729
941743
|
resolvesToLiteralType(typeReference2) {
|
|
941730
941744
|
switch (typeReference2.type) {
|
|
941731
941745
|
case "literal":
|
|
@@ -941753,6 +941767,44 @@ var EndpointSnippetGenerator5 = class {
|
|
|
941753
941767
|
assertNever(typeReference2);
|
|
941754
941768
|
}
|
|
941755
941769
|
}
|
|
941770
|
+
// Whether a type resolves to a REQUIRED literal, i.e. a literal NOT wrapped in optional/nullable.
|
|
941771
|
+
// Used to filter query parameters and headers: a required literal (e.g. response_type="code") is
|
|
941772
|
+
// hardcoded inside the generated method and omitted from its signature, so passing it as a keyword
|
|
941773
|
+
// argument raises TypeError. An optional literal, by contrast, stays in the signature, so it must
|
|
941774
|
+
// remain a valid keyword argument and is kept.
|
|
941775
|
+
//
|
|
941776
|
+
// This deliberately differs from resolvesToLiteralType above in the optional/nullable cases: here
|
|
941777
|
+
// they return false (keep the parameter) instead of recursing. The asymmetry is intentional and is
|
|
941778
|
+
// validated by the literal fixture's wire tests. Note the two cannot be collapsed into a single
|
|
941779
|
+
// guard like `t.type !== "optional" && resolvesToLiteralType(t)`: a named alias whose target is
|
|
941780
|
+
// optional<literal> has top-level type "named", so such a guard would misclassify it as a required
|
|
941781
|
+
// literal and wrongly drop it, whereas recursing through the alias here correctly returns false.
|
|
941782
|
+
resolvesToNonOptionalLiteralType(typeReference2) {
|
|
941783
|
+
switch (typeReference2.type) {
|
|
941784
|
+
case "literal":
|
|
941785
|
+
return true;
|
|
941786
|
+
case "named": {
|
|
941787
|
+
const named = this.context.resolveNamedType({ typeId: typeReference2.value });
|
|
941788
|
+
if (named == null) {
|
|
941789
|
+
return false;
|
|
941790
|
+
}
|
|
941791
|
+
if (named.type === "alias") {
|
|
941792
|
+
return this.resolvesToNonOptionalLiteralType(named.typeReference);
|
|
941793
|
+
}
|
|
941794
|
+
return false;
|
|
941795
|
+
}
|
|
941796
|
+
case "optional":
|
|
941797
|
+
case "nullable":
|
|
941798
|
+
case "list":
|
|
941799
|
+
case "map":
|
|
941800
|
+
case "set":
|
|
941801
|
+
case "primitive":
|
|
941802
|
+
case "unknown":
|
|
941803
|
+
return false;
|
|
941804
|
+
default:
|
|
941805
|
+
assertNever(typeReference2);
|
|
941806
|
+
}
|
|
941807
|
+
}
|
|
941756
941808
|
getBodyRequestArgsForBytes({ body, value: value2 }) {
|
|
941757
941809
|
const typeInstantiation = this.getBytesBodyRequestTypeInstantiation({ value: value2 });
|
|
941758
941810
|
if (python_exports.TypeInstantiation.isNop(typeInstantiation)) {
|
|
@@ -941866,7 +941918,7 @@ var EndpointSnippetGenerator5 = class {
|
|
|
941866
941918
|
parameters: request7.queryParameters ?? [],
|
|
941867
941919
|
values: snippet.queryParameters ?? {}
|
|
941868
941920
|
});
|
|
941869
|
-
const queryParameterFields = queryParameters.map((queryParameter) => ({
|
|
941921
|
+
const queryParameterFields = queryParameters.filter((queryParameter) => !this.resolvesToNonOptionalLiteralType(queryParameter.typeReference)).map((queryParameter) => ({
|
|
941870
941922
|
name: this.context.getPropertyName(queryParameter.name.name),
|
|
941871
941923
|
value: this.context.dynamicTypeLiteralMapper.convert(queryParameter)
|
|
941872
941924
|
}));
|
|
@@ -941876,7 +941928,7 @@ var EndpointSnippetGenerator5 = class {
|
|
|
941876
941928
|
parameters: request7.headers ?? [],
|
|
941877
941929
|
values: snippet.headers ?? {}
|
|
941878
941930
|
});
|
|
941879
|
-
const headerFields = headers2.map((header) => ({
|
|
941931
|
+
const headerFields = headers2.filter((header) => !this.resolvesToNonOptionalLiteralType(header.typeReference)).map((header) => ({
|
|
941880
941932
|
name: this.context.getPropertyName(header.name.name),
|
|
941881
941933
|
value: this.context.dynamicTypeLiteralMapper.convert(header)
|
|
941882
941934
|
}));
|
|
@@ -971692,7 +971744,7 @@ function getAutomationContextFromEnv() {
|
|
|
971692
971744
|
config_branch: process.env.FERN_CONFIG_BRANCH,
|
|
971693
971745
|
config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
|
|
971694
971746
|
trigger: process.env.GITHUB_EVENT_NAME,
|
|
971695
|
-
cli_version: "5.75.
|
|
971747
|
+
cli_version: "5.75.4"
|
|
971696
971748
|
};
|
|
971697
971749
|
}
|
|
971698
971750
|
function isAutomationMode() {
|
|
@@ -972524,7 +972576,7 @@ var CliContext = class _CliContext {
|
|
|
972524
972576
|
if (false) {
|
|
972525
972577
|
this.logger.error("CLI_VERSION is not defined");
|
|
972526
972578
|
}
|
|
972527
|
-
return "5.75.
|
|
972579
|
+
return "5.75.4";
|
|
972528
972580
|
}
|
|
972529
972581
|
getCliName() {
|
|
972530
972582
|
if (false) {
|
package/package.json
CHANGED