@fern-api/fern-api-dev 5.102.0 → 5.104.0
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 +343 -272
- package/package.json +1 -1
package/cli.cjs
CHANGED
|
@@ -90561,6 +90561,53 @@ var init_cloneRepository = __esm({
|
|
|
90561
90561
|
}
|
|
90562
90562
|
});
|
|
90563
90563
|
|
|
90564
|
+
// ../../commons/github/lib/cloneRepositoryAtRef.js
|
|
90565
|
+
async function cloneRepositoryAtRef({ repositoryUrl, ref: ref2 }) {
|
|
90566
|
+
if (!isGitAvailable()) {
|
|
90567
|
+
throw new Error("Git is not installed or not found in PATH. Cloning a git source requires git to be available. Please install git and ensure it is in your PATH.");
|
|
90568
|
+
}
|
|
90569
|
+
const tmpDir = await import_tmp_promise3.default.dir({ unsafeCleanup: true });
|
|
90570
|
+
const cloneArgs = ["--depth", "1", "--config", "core.symlinks=false"];
|
|
90571
|
+
try {
|
|
90572
|
+
if (ref2 != null && isCommitSha(ref2)) {
|
|
90573
|
+
await simpleGit().clone(repositoryUrl, tmpDir.path, [...cloneArgs, "--no-checkout"]);
|
|
90574
|
+
const repoGit = simpleGit(tmpDir.path);
|
|
90575
|
+
await repoGit.fetch("origin", ref2, { "--depth": "1" });
|
|
90576
|
+
await repoGit.checkout(ref2);
|
|
90577
|
+
} else {
|
|
90578
|
+
await simpleGit().clone(repositoryUrl, tmpDir.path, ref2 != null ? [...cloneArgs, "--branch", ref2] : cloneArgs);
|
|
90579
|
+
}
|
|
90580
|
+
} catch (error50) {
|
|
90581
|
+
const errorMessage = extractErrorMessage(error50);
|
|
90582
|
+
if (errorMessage.includes("Authentication failed") || errorMessage.includes("could not read Username") || errorMessage.includes("401") || errorMessage.includes("403")) {
|
|
90583
|
+
throw new Error(`Failed to clone ${repositoryUrl}: authentication failed. Ensure your git credentials are configured for that repository. The CLI uses your system's git credential configuration (credential helpers, SSH keys, GIT_ASKPASS). Original error: ${errorMessage}`);
|
|
90584
|
+
}
|
|
90585
|
+
if (errorMessage.toLowerCase().includes("repository not found") || errorMessage.includes("404")) {
|
|
90586
|
+
throw new Error(`Failed to clone ${repositoryUrl}: repository not found. Check that it exists and your credentials have access. Original error: ${errorMessage}`);
|
|
90587
|
+
}
|
|
90588
|
+
throw new Error(`Failed to clone ${repositoryUrl}${ref2 != null ? ` at ref '${ref2}'` : ""}. Original error: ${errorMessage}`);
|
|
90589
|
+
}
|
|
90590
|
+
return tmpDir.path;
|
|
90591
|
+
}
|
|
90592
|
+
function resolveRepositorySubpath({ repositoryRoot, subpath, description }) {
|
|
90593
|
+
const resolved = import_path19.default.resolve(repositoryRoot, subpath);
|
|
90594
|
+
if (resolved !== repositoryRoot && !resolved.startsWith(repositoryRoot + import_path19.default.sep)) {
|
|
90595
|
+
throw new Error(`Invalid ${description} '${subpath}': path must be relative to the repository root and cannot traverse outside it.`);
|
|
90596
|
+
}
|
|
90597
|
+
return resolved;
|
|
90598
|
+
}
|
|
90599
|
+
var import_path19, import_tmp_promise3;
|
|
90600
|
+
var init_cloneRepositoryAtRef = __esm({
|
|
90601
|
+
"../../commons/github/lib/cloneRepositoryAtRef.js"() {
|
|
90602
|
+
"use strict";
|
|
90603
|
+
init_lib4();
|
|
90604
|
+
import_path19 = __toESM(require("path"), 1);
|
|
90605
|
+
init_esm16();
|
|
90606
|
+
import_tmp_promise3 = __toESM(require_tmp_promise(), 1);
|
|
90607
|
+
import_tmp_promise3.default.setGracefulCleanup();
|
|
90608
|
+
}
|
|
90609
|
+
});
|
|
90610
|
+
|
|
90564
90611
|
// ../../commons/github/lib/createOrUpdatePullRequest.js
|
|
90565
90612
|
function parseRepository2(repository) {
|
|
90566
90613
|
const [owner, repo] = repository.split("/");
|
|
@@ -98956,6 +99003,7 @@ var lib_exports4 = {};
|
|
|
98956
99003
|
__export(lib_exports4, {
|
|
98957
99004
|
ClonedRepository: () => ClonedRepository,
|
|
98958
99005
|
cloneRepository: () => cloneRepository,
|
|
99006
|
+
cloneRepositoryAtRef: () => cloneRepositoryAtRef,
|
|
98959
99007
|
createOrUpdatePullRequest: () => createOrUpdatePullRequest,
|
|
98960
99008
|
deleteBranch: () => deleteBranch,
|
|
98961
99009
|
expandFernignorePatterns: () => expandFernignorePatterns,
|
|
@@ -98963,13 +99011,15 @@ __export(lib_exports4, {
|
|
|
98963
99011
|
getGithubApiBaseUrl: () => getGithubApiBaseUrl,
|
|
98964
99012
|
getLatestRelease: () => getLatestRelease,
|
|
98965
99013
|
getOrUpdateBranch: () => getOrUpdateBranch,
|
|
98966
|
-
parseRepository: () => parseRepository
|
|
99014
|
+
parseRepository: () => parseRepository,
|
|
99015
|
+
resolveRepositorySubpath: () => resolveRepositorySubpath
|
|
98967
99016
|
});
|
|
98968
99017
|
var init_lib11 = __esm({
|
|
98969
99018
|
"../../commons/github/lib/index.js"() {
|
|
98970
99019
|
"use strict";
|
|
98971
99020
|
init_ClonedRepository();
|
|
98972
99021
|
init_cloneRepository();
|
|
99022
|
+
init_cloneRepositoryAtRef();
|
|
98973
99023
|
init_createOrUpdatePullRequest();
|
|
98974
99024
|
init_deleteBranch();
|
|
98975
99025
|
init_expandFernignorePatterns();
|
|
@@ -130957,7 +131007,8 @@ var init_OpenApiSettingsSchema2 = __esm({
|
|
|
130957
131007
|
"infer-discriminated-union-base-properties": schemas_exports8.boolean().optional(),
|
|
130958
131008
|
"disambiguate-request-names": schemas_exports8.boolean().optional(),
|
|
130959
131009
|
"ignore-tags": schemas_exports8.boolean().optional(),
|
|
130960
|
-
"respect-parameter-content": schemas_exports8.boolean().optional()
|
|
131010
|
+
"respect-parameter-content": schemas_exports8.boolean().optional(),
|
|
131011
|
+
"respect-per-spec-base-path": schemas_exports8.boolean().optional()
|
|
130961
131012
|
}).extend(BaseApiSettingsSchema);
|
|
130962
131013
|
}
|
|
130963
131014
|
});
|
|
@@ -152823,7 +152874,8 @@ var init_options2 = __esm({
|
|
|
152823
152874
|
shouldInferDiscriminatedUnionBaseProperties: false,
|
|
152824
152875
|
disambiguateRequestNames: true,
|
|
152825
152876
|
ignoreTags: false,
|
|
152826
|
-
respectParameterContent: false
|
|
152877
|
+
respectParameterContent: false,
|
|
152878
|
+
respectPerSpecBasePath: false
|
|
152827
152879
|
};
|
|
152828
152880
|
}
|
|
152829
152881
|
});
|
|
@@ -158813,14 +158865,14 @@ function convertMultipartRequestToSchema(request7) {
|
|
|
158813
158865
|
maxProperties: void 0
|
|
158814
158866
|
});
|
|
158815
158867
|
}
|
|
158816
|
-
var fs,
|
|
158868
|
+
var fs, path20, ExampleEndpointFactory;
|
|
158817
158869
|
var init_ExampleEndpointFactory = __esm({
|
|
158818
158870
|
"../api-importers/openapi/openapi-ir-parser/lib/openapi/v3/converters/ExampleEndpointFactory.js"() {
|
|
158819
158871
|
"use strict";
|
|
158820
158872
|
init_lib4();
|
|
158821
158873
|
init_lib13();
|
|
158822
158874
|
fs = __toESM(require("fs"), 1);
|
|
158823
|
-
|
|
158875
|
+
path20 = __toESM(require("path"), 1);
|
|
158824
158876
|
init_ExampleTypeFactory();
|
|
158825
158877
|
init_convertSchemaToSchemaWithExample();
|
|
158826
158878
|
init_isSchemaRequired();
|
|
@@ -158861,15 +158913,15 @@ var init_ExampleEndpointFactory = __esm({
|
|
|
158861
158913
|
let logDir;
|
|
158862
158914
|
if (this.context.source.type === "openapi") {
|
|
158863
158915
|
const sourceFile = this.context.source.file;
|
|
158864
|
-
const sourceDir =
|
|
158916
|
+
const sourceDir = path20.dirname(sourceFile);
|
|
158865
158917
|
let currentDir = sourceDir;
|
|
158866
|
-
while (currentDir !==
|
|
158867
|
-
const fernDir =
|
|
158918
|
+
while (currentDir !== path20.dirname(currentDir)) {
|
|
158919
|
+
const fernDir = path20.join(currentDir, "fern");
|
|
158868
158920
|
if (fs.existsSync(fernDir) && fs.statSync(fernDir).isDirectory()) {
|
|
158869
158921
|
logDir = fernDir;
|
|
158870
158922
|
break;
|
|
158871
158923
|
}
|
|
158872
|
-
currentDir =
|
|
158924
|
+
currentDir = path20.dirname(currentDir);
|
|
158873
158925
|
}
|
|
158874
158926
|
if (!logDir) {
|
|
158875
158927
|
logDir = sourceDir;
|
|
@@ -158878,7 +158930,7 @@ var init_ExampleEndpointFactory = __esm({
|
|
|
158878
158930
|
logDir = process.cwd();
|
|
158879
158931
|
}
|
|
158880
158932
|
const resolvedLogDir = logDir ?? process.cwd();
|
|
158881
|
-
const logPath =
|
|
158933
|
+
const logPath = path20.join(resolvedLogDir, "schemas_missing_examples.txt");
|
|
158882
158934
|
const logContent = [
|
|
158883
158935
|
`# Schemas Missing Examples Report`,
|
|
158884
158936
|
`# Generated on: ${(/* @__PURE__ */ new Date()).toISOString()}`,
|
|
@@ -165595,7 +165647,7 @@ function maybeResolveCodeReference(code5, baseDir) {
|
|
|
165595
165647
|
return code5;
|
|
165596
165648
|
}
|
|
165597
165649
|
if (isCodeReference(code5)) {
|
|
165598
|
-
const resolvedPath = (0,
|
|
165650
|
+
const resolvedPath = (0, import_path20.resolve)(baseDir ?? process.cwd(), code5.$ref);
|
|
165599
165651
|
if ((0, import_fs12.existsSync)(resolvedPath)) {
|
|
165600
165652
|
try {
|
|
165601
165653
|
const fileContent = (0, import_fs12.readFileSync)(resolvedPath, "utf-8");
|
|
@@ -165629,7 +165681,7 @@ function resolveCodeSamples(codeSamples, baseDir) {
|
|
|
165629
165681
|
}
|
|
165630
165682
|
function getExamplesFromExtension(operationContext, operationObject, context3) {
|
|
165631
165683
|
const exampleEndpointCalls = getExtension(operationObject, FernOpenAPIExtension.EXAMPLES);
|
|
165632
|
-
const baseDir = context3.source.type === "openapi" ? (0,
|
|
165684
|
+
const baseDir = context3.source.type === "openapi" ? (0, import_path20.dirname)(context3.source.file) : void 0;
|
|
165633
165685
|
const resolvedExamples = (exampleEndpointCalls ?? []).map((example) => {
|
|
165634
165686
|
if (!isPlainObject4(example)) {
|
|
165635
165687
|
return example;
|
|
@@ -165677,7 +165729,7 @@ function getExamplesFromExtension(operationContext, operationObject, context3) {
|
|
|
165677
165729
|
}
|
|
165678
165730
|
return validatedExampleEndpointCalls.map(EndpointExample2.unknown);
|
|
165679
165731
|
}
|
|
165680
|
-
var import_fs12,
|
|
165732
|
+
var import_fs12, import_path20;
|
|
165681
165733
|
var init_getExamplesFromExtension = __esm({
|
|
165682
165734
|
"../api-importers/openapi/openapi-ir-parser/lib/openapi/v3/extensions/getExamplesFromExtension.js"() {
|
|
165683
165735
|
"use strict";
|
|
@@ -165685,7 +165737,7 @@ var init_getExamplesFromExtension = __esm({
|
|
|
165685
165737
|
init_lib10();
|
|
165686
165738
|
init_lib13();
|
|
165687
165739
|
import_fs12 = require("fs");
|
|
165688
|
-
|
|
165740
|
+
import_path20 = require("path");
|
|
165689
165741
|
init_getExtension();
|
|
165690
165742
|
init_RedoclyCodeSampleSchema();
|
|
165691
165743
|
init_extensions();
|
|
@@ -168635,6 +168687,7 @@ function generateIr({ openApi, taskContext, options: options2, source: source2,
|
|
|
168635
168687
|
taskContext.logger.warn(message);
|
|
168636
168688
|
}
|
|
168637
168689
|
}
|
|
168690
|
+
const plainBasePath = options2.respectPerSpecBasePath && fernBasePathParsed != null && fernBasePathParsed.pathParameters.length === 0 ? fernBasePathParsed.basePath : void 0;
|
|
168638
168691
|
Object.entries(openApi.paths ?? {}).forEach(([path122, pathItem]) => {
|
|
168639
168692
|
if (pathItem == null) {
|
|
168640
168693
|
return;
|
|
@@ -168647,16 +168700,16 @@ function generateIr({ openApi, taskContext, options: options2, source: source2,
|
|
|
168647
168700
|
}
|
|
168648
168701
|
switch (operation.type) {
|
|
168649
168702
|
case "async":
|
|
168650
|
-
endpointsWithExample.push(...operation.sync);
|
|
168651
|
-
endpointsWithExample.push(...operation.async);
|
|
168703
|
+
endpointsWithExample.push(...prependBasePathToEndpoints(operation.sync, plainBasePath));
|
|
168704
|
+
endpointsWithExample.push(...prependBasePathToEndpoints(operation.async, plainBasePath));
|
|
168652
168705
|
break;
|
|
168653
168706
|
case "http":
|
|
168654
|
-
endpointsWithExample.push(...operation.value);
|
|
168707
|
+
endpointsWithExample.push(...prependBasePathToEndpoints(operation.value, plainBasePath));
|
|
168655
168708
|
break;
|
|
168656
168709
|
case "streaming":
|
|
168657
|
-
endpointsWithExample.push(...operation.streaming);
|
|
168710
|
+
endpointsWithExample.push(...prependBasePathToEndpoints(operation.streaming, plainBasePath));
|
|
168658
168711
|
if (operation.nonStreaming) {
|
|
168659
|
-
endpointsWithExample.push(...operation.nonStreaming);
|
|
168712
|
+
endpointsWithExample.push(...prependBasePathToEndpoints(operation.nonStreaming, plainBasePath));
|
|
168660
168713
|
}
|
|
168661
168714
|
break;
|
|
168662
168715
|
case "webhook":
|
|
@@ -168864,17 +168917,8 @@ function generateIr({ openApi, taskContext, options: options2, source: source2,
|
|
|
168864
168917
|
document: openApi
|
|
168865
168918
|
}),
|
|
168866
168919
|
specVersion: openApi.info.version != null && openApi.info.version.length > 0 ? openApi.info.version : void 0,
|
|
168867
|
-
basePath: (
|
|
168868
|
-
|
|
168869
|
-
return parsed?.basePath;
|
|
168870
|
-
})(),
|
|
168871
|
-
basePathParameters: (() => {
|
|
168872
|
-
const parsed = getFernBasePath(openApi);
|
|
168873
|
-
if (parsed == null || parsed.pathParameters.length === 0) {
|
|
168874
|
-
return void 0;
|
|
168875
|
-
}
|
|
168876
|
-
return parsed.pathParameters;
|
|
168877
|
-
})(),
|
|
168920
|
+
basePath: fernBasePathParsed != null && (!options2.respectPerSpecBasePath || fernBasePathParsed.pathParameters.length > 0) ? fernBasePathParsed.basePath : void 0,
|
|
168921
|
+
basePathParameters: fernBasePathParsed != null && fernBasePathParsed.pathParameters.length > 0 ? fernBasePathParsed.pathParameters : void 0,
|
|
168878
168922
|
title: openApi.info.title ?? "",
|
|
168879
168923
|
description: openApi.info.description,
|
|
168880
168924
|
groups: Object.fromEntries(Object.entries(groupInfo ?? {}).map(([key2, value2]) => {
|
|
@@ -168962,6 +169006,26 @@ function maybeRemoveDiscriminantsFromSchemas(schemas, context3, source2) {
|
|
|
168962
169006
|
}
|
|
168963
169007
|
return result;
|
|
168964
169008
|
}
|
|
169009
|
+
function prependBasePath(path122, basePath) {
|
|
169010
|
+
if (basePath == null || basePath === "/") {
|
|
169011
|
+
return path122;
|
|
169012
|
+
}
|
|
169013
|
+
const normalizedBasePath = basePath.replace(/\/+$/, "");
|
|
169014
|
+
if (path122 === normalizedBasePath || path122.startsWith(`${normalizedBasePath}/`)) {
|
|
169015
|
+
return path122;
|
|
169016
|
+
}
|
|
169017
|
+
const normalizedPath = path122.replace(/^\/+/, "");
|
|
169018
|
+
return normalizedPath.length > 0 ? `${normalizedBasePath}/${normalizedPath}` : normalizedBasePath;
|
|
169019
|
+
}
|
|
169020
|
+
function prependBasePathToEndpoints(endpoints, basePath) {
|
|
169021
|
+
if (basePath == null || basePath === "/") {
|
|
169022
|
+
return endpoints;
|
|
169023
|
+
}
|
|
169024
|
+
return endpoints.map((endpoint3) => ({
|
|
169025
|
+
...endpoint3,
|
|
169026
|
+
path: prependBasePath(endpoint3.path, basePath)
|
|
169027
|
+
}));
|
|
169028
|
+
}
|
|
168965
169029
|
function getParentSchemaIdsWithNonUnionChildren(schemas, context3) {
|
|
168966
169030
|
const protectedParents = /* @__PURE__ */ new Set();
|
|
168967
169031
|
for (const [schemaId, schema] of Object.entries(schemas)) {
|
|
@@ -169141,7 +169205,7 @@ function parse8({ context: context3, documents, options: options2 }) {
|
|
|
169141
169205
|
source: source2,
|
|
169142
169206
|
namespace: document4.namespace
|
|
169143
169207
|
});
|
|
169144
|
-
ir3 = merge6(ir3, openapiIr, getParseOptions({ options: document4.settings, overrides: options2 }));
|
|
169208
|
+
ir3 = merge6(ir3, openapiIr, getParseOptions({ options: document4.settings, overrides: options2 }), context3);
|
|
169145
169209
|
documentIndex++;
|
|
169146
169210
|
break;
|
|
169147
169211
|
}
|
|
@@ -169338,7 +169402,17 @@ function extractApiNameFromServers(servers) {
|
|
|
169338
169402
|
function hasGroupedServers(servers) {
|
|
169339
169403
|
return servers.some((server) => server.type === "grouped");
|
|
169340
169404
|
}
|
|
169341
|
-
function
|
|
169405
|
+
function mergeBasePath(ir1, ir22, options2, context3) {
|
|
169406
|
+
if (options2?.respectPerSpecBasePath === true && ir1.basePath != null && ir22.basePath != null && ir1.basePath !== ir22.basePath) {
|
|
169407
|
+
context3.failWithoutThrowing(`Conflicting parameterized x-fern-base-path values: '${ir1.basePath}' and '${ir22.basePath}'.`);
|
|
169408
|
+
}
|
|
169409
|
+
return {
|
|
169410
|
+
basePath: ir1.basePath ?? ir22.basePath,
|
|
169411
|
+
basePathParameters: ir1.basePathParameters ?? ir22.basePathParameters
|
|
169412
|
+
};
|
|
169413
|
+
}
|
|
169414
|
+
function merge6(ir1, ir22, options2, context3) {
|
|
169415
|
+
const mergedBasePath = mergeBasePath(ir1, ir22, options2, context3);
|
|
169342
169416
|
const shouldGroupEnvironments = options2?.groupMultiApiEnvironments === true;
|
|
169343
169417
|
if (!shouldGroupEnvironments) {
|
|
169344
169418
|
return {
|
|
@@ -169346,8 +169420,8 @@ function merge6(ir1, ir22, options2) {
|
|
|
169346
169420
|
specVersion: ir1.specVersion ?? ir22.specVersion,
|
|
169347
169421
|
title: ir1.title ?? ir22.title,
|
|
169348
169422
|
description: ir1.description ?? ir22.description,
|
|
169349
|
-
basePath:
|
|
169350
|
-
basePathParameters:
|
|
169423
|
+
basePath: mergedBasePath.basePath,
|
|
169424
|
+
basePathParameters: mergedBasePath.basePathParameters,
|
|
169351
169425
|
servers: [...ir1.servers, ...ir22.servers],
|
|
169352
169426
|
websocketServers: [...ir1.websocketServers, ...ir22.websocketServers],
|
|
169353
169427
|
tags: {
|
|
@@ -169489,8 +169563,8 @@ function merge6(ir1, ir22, options2) {
|
|
|
169489
169563
|
specVersion: ir1.specVersion ?? ir22.specVersion,
|
|
169490
169564
|
title: ir1.title ?? ir22.title,
|
|
169491
169565
|
description: ir1.description ?? ir22.description,
|
|
169492
|
-
basePath:
|
|
169493
|
-
basePathParameters:
|
|
169566
|
+
basePath: mergedBasePath.basePath,
|
|
169567
|
+
basePathParameters: mergedBasePath.basePathParameters,
|
|
169494
169568
|
// Cast grouped servers to Server[] - buildEnvironments.ts handles the grouped structure
|
|
169495
169569
|
// biome-ignore lint/suspicious/noExplicitAny: Required to preserve grouped server metadata through type system
|
|
169496
169570
|
servers: mergedServers,
|
|
@@ -169544,8 +169618,8 @@ function merge6(ir1, ir22, options2) {
|
|
|
169544
169618
|
specVersion: ir1.specVersion ?? ir22.specVersion,
|
|
169545
169619
|
title: ir1.title ?? ir22.title,
|
|
169546
169620
|
description: ir1.description ?? ir22.description,
|
|
169547
|
-
basePath:
|
|
169548
|
-
basePathParameters:
|
|
169621
|
+
basePath: mergedBasePath.basePath,
|
|
169622
|
+
basePathParameters: mergedBasePath.basePathParameters,
|
|
169549
169623
|
servers: dedupeServers([...ir1.servers, ...ir22.servers]),
|
|
169550
169624
|
websocketServers: [...ir1.websocketServers, ...ir22.websocketServers],
|
|
169551
169625
|
tags: {
|
|
@@ -200021,7 +200095,8 @@ var init_getAPIDefinitionSettings = __esm({
|
|
|
200021
200095
|
shouldInferDiscriminatedUnionBaseProperties: "shouldInferDiscriminatedUnionBaseProperties",
|
|
200022
200096
|
disambiguateRequestNames: "disambiguateRequestNames",
|
|
200023
200097
|
ignoreTags: "ignoreTags",
|
|
200024
|
-
respectParameterContent: "respectParameterContent"
|
|
200098
|
+
respectParameterContent: "respectParameterContent",
|
|
200099
|
+
respectPerSpecBasePath: "respectPerSpecBasePath"
|
|
200025
200100
|
};
|
|
200026
200101
|
}
|
|
200027
200102
|
});
|
|
@@ -200252,7 +200327,7 @@ async function validateSchema({ schema, value: value2, context: context3, filepa
|
|
|
200252
200327
|
prefix: " - "
|
|
200253
200328
|
});
|
|
200254
200329
|
});
|
|
200255
|
-
const errorMessage = [`Failed to parse file: ${
|
|
200330
|
+
const errorMessage = [`Failed to parse file: ${import_path21.default.relative(process.cwd(), filepathBeingParsed)}`, ...issues].join("\n");
|
|
200256
200331
|
return context3.failAndThrow(errorMessage, void 0, { code: CliError.Code.ConfigError });
|
|
200257
200332
|
}
|
|
200258
200333
|
function joinZodPath(arr) {
|
|
@@ -200264,13 +200339,13 @@ function joinZodPath(arr) {
|
|
|
200264
200339
|
return acc + separator + value2;
|
|
200265
200340
|
}, "");
|
|
200266
200341
|
}
|
|
200267
|
-
var
|
|
200342
|
+
var import_path21;
|
|
200268
200343
|
var init_validateSchema = __esm({
|
|
200269
200344
|
"../configuration-loader/lib/commons/validateSchema.js"() {
|
|
200270
200345
|
"use strict";
|
|
200271
200346
|
init_lib4();
|
|
200272
200347
|
init_lib6();
|
|
200273
|
-
|
|
200348
|
+
import_path21 = __toESM(require("path"), 1);
|
|
200274
200349
|
}
|
|
200275
200350
|
});
|
|
200276
200351
|
|
|
@@ -200289,7 +200364,7 @@ async function convertDependenciesConfiguration({ absolutePathToWorkspace, rawDe
|
|
|
200289
200364
|
const dependencies = {};
|
|
200290
200365
|
for (const [coordinate, versionOrPath] of Object.entries(rawDependenciesConfiguration.dependencies)) {
|
|
200291
200366
|
if (isPath(versionOrPath)) {
|
|
200292
|
-
const pathToApi = AbsoluteFilePath2.of(
|
|
200367
|
+
const pathToApi = AbsoluteFilePath2.of(import_path22.default.join(absolutePathToWorkspace, versionOrPath));
|
|
200293
200368
|
if (await doesPathExist(pathToApi)) {
|
|
200294
200369
|
dependencies[coordinate] = {
|
|
200295
200370
|
type: "local",
|
|
@@ -200330,13 +200405,13 @@ async function convertDependenciesConfiguration({ absolutePathToWorkspace, rawDe
|
|
|
200330
200405
|
function isPath(value2) {
|
|
200331
200406
|
return RELATIVE_PATH_UP_ONE_DIRECTORY_PATTERN.test(value2);
|
|
200332
200407
|
}
|
|
200333
|
-
var
|
|
200408
|
+
var import_path22, EMPTY_DEPENDENCIES_CONFIGURATION, RELATIVE_PATH_UP_ONE_DIRECTORY_PATTERN;
|
|
200334
200409
|
var init_convertDependenciesConfiguration = __esm({
|
|
200335
200410
|
"../configuration-loader/lib/dependencies-yml/convertDependenciesConfiguration.js"() {
|
|
200336
200411
|
"use strict";
|
|
200337
200412
|
init_lib8();
|
|
200338
200413
|
init_lib6();
|
|
200339
|
-
|
|
200414
|
+
import_path22 = __toESM(require("path"), 1);
|
|
200340
200415
|
EMPTY_DEPENDENCIES_CONFIGURATION = {
|
|
200341
200416
|
dependencies: {}
|
|
200342
200417
|
};
|
|
@@ -236019,7 +236094,7 @@ async function materializeGitRef({ ref: ref2, absolutePathToFernFolder, context:
|
|
|
236019
236094
|
return { ...cached2, ref: ref2 };
|
|
236020
236095
|
}
|
|
236021
236096
|
await runGit({ args: ["worktree", "prune"], cwd: repoRoot, context: context3 });
|
|
236022
|
-
const tmpDir = await
|
|
236097
|
+
const tmpDir = await import_tmp_promise4.default.dir({ unsafeCleanup: true });
|
|
236023
236098
|
const worktreePath = AbsoluteFilePath2.of(tmpDir.path);
|
|
236024
236099
|
const addResult = await runGit({
|
|
236025
236100
|
args: ["worktree", "add", "--detach", "--force", worktreePath, sha],
|
|
@@ -236048,7 +236123,7 @@ async function materializeGitRef({ ref: ref2, absolutePathToFernFolder, context:
|
|
|
236048
236123
|
materializedRefsBySha.set(cacheKey, materialized);
|
|
236049
236124
|
return materialized;
|
|
236050
236125
|
}
|
|
236051
|
-
var
|
|
236126
|
+
var import_tmp_promise4, materializedRefsBySha;
|
|
236052
236127
|
var init_materializeGitRef = __esm({
|
|
236053
236128
|
"../configuration-loader/lib/docs-yml/git-versions/materializeGitRef.js"() {
|
|
236054
236129
|
"use strict";
|
|
@@ -236056,8 +236131,8 @@ var init_materializeGitRef = __esm({
|
|
|
236056
236131
|
init_lib8();
|
|
236057
236132
|
init_lib18();
|
|
236058
236133
|
init_lib6();
|
|
236059
|
-
|
|
236060
|
-
|
|
236134
|
+
import_tmp_promise4 = __toESM(require_tmp_promise(), 1);
|
|
236135
|
+
import_tmp_promise4.default.setGracefulCleanup();
|
|
236061
236136
|
materializedRefsBySha = /* @__PURE__ */ new Map();
|
|
236062
236137
|
}
|
|
236063
236138
|
});
|
|
@@ -237860,7 +237935,7 @@ async function expandFolderConfiguration({ rawConfig, absolutePathToFernFolder,
|
|
|
237860
237935
|
});
|
|
237861
237936
|
const indexPage = contents.find((item) => item.type === "page" && (item.slug === "index" || item.absolutePath.toLowerCase().endsWith("/index.mdx") || item.absolutePath.toLowerCase().endsWith("/index.md")));
|
|
237862
237937
|
const filteredContents = indexPage ? contents.filter((item) => item !== indexPage) : contents;
|
|
237863
|
-
const folderName =
|
|
237938
|
+
const folderName = import_path23.default.basename(folderPath);
|
|
237864
237939
|
const indexFrontmatterTitle = effectiveTitleSource === "frontmatter" && indexPage?.type === "page" ? (await getFrontmatterMetadata({ absolutePath: indexPage.absolutePath })).title : void 0;
|
|
237865
237940
|
const title2 = rawConfig.title ?? indexFrontmatterTitle ?? nameToTitle({ name: folderName });
|
|
237866
237941
|
const slug = rawConfig.slug ?? nameToSlug({ name: folderName });
|
|
@@ -238405,14 +238480,14 @@ async function loadTranslationPages({ translations, defaultLocale, pages, absolu
|
|
|
238405
238480
|
if (translations == null || translations.length === 0) {
|
|
238406
238481
|
return void 0;
|
|
238407
238482
|
}
|
|
238408
|
-
const translationsRootDir =
|
|
238483
|
+
const translationsRootDir = import_path23.default.join(absolutePathToFernFolder, "translations");
|
|
238409
238484
|
const result = {};
|
|
238410
238485
|
const normalizedTranslations = translations.map((t3) => docs_yml_exports.DocsYmlSchemas.normalizeTranslationConfig(t3));
|
|
238411
238486
|
await Promise.all(normalizedTranslations.map(async ({ lang }) => {
|
|
238412
238487
|
if (lang === defaultLocale) {
|
|
238413
238488
|
return;
|
|
238414
238489
|
}
|
|
238415
|
-
const langDir =
|
|
238490
|
+
const langDir = import_path23.default.join(translationsRootDir, lang);
|
|
238416
238491
|
if (!await doesPathExist(langDir)) {
|
|
238417
238492
|
context3.failAndThrow(`Translation directory for locale "${lang}" not found.
|
|
238418
238493
|
Expected a directory at: ${langDir}
|
|
@@ -238425,7 +238500,7 @@ version at "translations/${lang}/pages/getting-started.mdx".`, void 0, { code: C
|
|
|
238425
238500
|
const localePages = {};
|
|
238426
238501
|
const missingFiles = [];
|
|
238427
238502
|
await Promise.all(Object.keys(pages).map(async (relativeFilePath) => {
|
|
238428
|
-
const translatedFilePath =
|
|
238503
|
+
const translatedFilePath = import_path23.default.join(langDir, relativeFilePath);
|
|
238429
238504
|
if (await doesPathExist(translatedFilePath)) {
|
|
238430
238505
|
localePages[relativeFilePath] = await (0, import_promises15.readFile)(translatedFilePath, "utf-8");
|
|
238431
238506
|
} else {
|
|
@@ -238445,7 +238520,7 @@ async function loadTranslationNavigationOverlays({ translations, defaultLocale,
|
|
|
238445
238520
|
if (translations == null || translations.length === 0) {
|
|
238446
238521
|
return void 0;
|
|
238447
238522
|
}
|
|
238448
|
-
const translationsRootDir =
|
|
238523
|
+
const translationsRootDir = import_path23.default.join(absolutePathToFernFolder, "translations");
|
|
238449
238524
|
const result = {};
|
|
238450
238525
|
const normalizedTranslations = translations.map((t3) => docs_yml_exports.DocsYmlSchemas.normalizeTranslationConfig(t3));
|
|
238451
238526
|
await Promise.all(normalizedTranslations.map(async ({ lang }) => {
|
|
@@ -238483,13 +238558,13 @@ async function loadTranslationNavigationOverlays({ translations, defaultLocale,
|
|
|
238483
238558
|
return result;
|
|
238484
238559
|
}
|
|
238485
238560
|
async function resolveTranslationOverlayDocsYml({ translationsRootDir, lang }) {
|
|
238486
|
-
const langDir =
|
|
238487
|
-
const directDocsYmlPath =
|
|
238561
|
+
const langDir = import_path23.default.join(translationsRootDir, lang);
|
|
238562
|
+
const directDocsYmlPath = import_path23.default.join(langDir, "docs.yml");
|
|
238488
238563
|
if (await doesPathExist(directDocsYmlPath)) {
|
|
238489
238564
|
return { overlayDocsYmlPath: directDocsYmlPath, overlayDir: langDir };
|
|
238490
238565
|
}
|
|
238491
|
-
const legacyFernDir =
|
|
238492
|
-
const legacyDocsYmlPath =
|
|
238566
|
+
const legacyFernDir = import_path23.default.join(langDir, "fern");
|
|
238567
|
+
const legacyDocsYmlPath = import_path23.default.join(legacyFernDir, "docs.yml");
|
|
238493
238568
|
if (await doesPathExist(legacyDocsYmlPath)) {
|
|
238494
238569
|
return { overlayDocsYmlPath: legacyDocsYmlPath, overlayDir: legacyFernDir };
|
|
238495
238570
|
}
|
|
@@ -238633,7 +238708,7 @@ async function parseVersionOverlay({ versionObj, overlayDir, context: context3 }
|
|
|
238633
238708
|
return versionOverlay;
|
|
238634
238709
|
}
|
|
238635
238710
|
async function loadNavOverlayFile({ relativeNavPath, overlayDir, overlayKind, context: context3 }) {
|
|
238636
|
-
const resolvedNavFilePath =
|
|
238711
|
+
const resolvedNavFilePath = import_path23.default.resolve(overlayDir, relativeNavPath);
|
|
238637
238712
|
if (!resolvedNavFilePath.startsWith(overlayDir)) {
|
|
238638
238713
|
context3.logger.warn(`Invalid path in ${overlayKind} overlay: "${relativeNavPath}" escapes the translations directory. Skipping.`);
|
|
238639
238714
|
return void 0;
|
|
@@ -238723,7 +238798,7 @@ function parseVariantOverlays(variants) {
|
|
|
238723
238798
|
}
|
|
238724
238799
|
return result;
|
|
238725
238800
|
}
|
|
238726
|
-
var import_promises15,
|
|
238801
|
+
var import_promises15, import_path23, DEFAULT_CHANGELOG_TITLE;
|
|
238727
238802
|
var init_parseDocsConfiguration = __esm({
|
|
238728
238803
|
"../configuration-loader/lib/docs-yml/parseDocsConfiguration.js"() {
|
|
238729
238804
|
"use strict";
|
|
@@ -238734,7 +238809,7 @@ var init_parseDocsConfiguration = __esm({
|
|
|
238734
238809
|
init_lib6();
|
|
238735
238810
|
import_promises15 = require("fs/promises");
|
|
238736
238811
|
init_js_yaml();
|
|
238737
|
-
|
|
238812
|
+
import_path23 = __toESM(require("path"), 1);
|
|
238738
238813
|
init_convertColorsConfiguration();
|
|
238739
238814
|
init_getAllPages();
|
|
238740
238815
|
init_getVersionContentRef();
|
|
@@ -264278,7 +264353,8 @@ function parseOpenApiDefinitionSettingsSchema(settings) {
|
|
|
264278
264353
|
shouldInferDiscriminatedUnionBaseProperties: settings?.["infer-discriminated-union-base-properties"],
|
|
264279
264354
|
disambiguateRequestNames: settings?.["disambiguate-request-names"],
|
|
264280
264355
|
ignoreTags: settings?.["ignore-tags"],
|
|
264281
|
-
respectParameterContent: settings?.["respect-parameter-content"]
|
|
264356
|
+
respectParameterContent: settings?.["respect-parameter-content"],
|
|
264357
|
+
respectPerSpecBasePath: settings?.["respect-per-spec-base-path"]
|
|
264282
264358
|
};
|
|
264283
264359
|
}
|
|
264284
264360
|
function parseAsyncApiDefinitionSettingsSchema(settings) {
|
|
@@ -264912,7 +264988,7 @@ async function getGithubLicense({ absolutePathToGeneratorsConfiguration, githubL
|
|
|
264912
264988
|
assertNever(githubLicense);
|
|
264913
264989
|
}
|
|
264914
264990
|
}
|
|
264915
|
-
const absolutePathToLicense = join8(AbsoluteFilePath2.of(
|
|
264991
|
+
const absolutePathToLicense = join8(AbsoluteFilePath2.of(import_path24.default.dirname(absolutePathToGeneratorsConfiguration)), RelativeFilePath2.of(githubLicense.custom));
|
|
264916
264992
|
const licenseContent = await (0, import_promises17.readFile)(absolutePathToLicense);
|
|
264917
264993
|
return api_exports4.GithubLicense.custom({
|
|
264918
264994
|
contents: licenseContent.toString()
|
|
@@ -265093,7 +265169,7 @@ function isGithubSelfhosted(github) {
|
|
|
265093
265169
|
}
|
|
265094
265170
|
return "uri" in github && "token" in github;
|
|
265095
265171
|
}
|
|
265096
|
-
var import_promises17,
|
|
265172
|
+
var import_promises17, import_path24, UNDEFINED_API_DEFINITION_SETTINGS;
|
|
265097
265173
|
var init_convertGeneratorsConfiguration = __esm({
|
|
265098
265174
|
"../configuration-loader/lib/generators-yml/convertGeneratorsConfiguration.js"() {
|
|
265099
265175
|
"use strict";
|
|
@@ -265104,7 +265180,7 @@ var init_convertGeneratorsConfiguration = __esm({
|
|
|
265104
265180
|
init_lib6();
|
|
265105
265181
|
init_esm18();
|
|
265106
265182
|
import_promises17 = require("fs/promises");
|
|
265107
|
-
|
|
265183
|
+
import_path24 = __toESM(require("path"), 1);
|
|
265108
265184
|
init_getGeneratorName();
|
|
265109
265185
|
UNDEFINED_API_DEFINITION_SETTINGS = {
|
|
265110
265186
|
shouldUseTitleAsName: void 0,
|
|
@@ -265146,7 +265222,8 @@ var init_convertGeneratorsConfiguration = __esm({
|
|
|
265146
265222
|
shouldInferDiscriminatedUnionBaseProperties: void 0,
|
|
265147
265223
|
disambiguateRequestNames: void 0,
|
|
265148
265224
|
ignoreTags: void 0,
|
|
265149
|
-
respectParameterContent: void 0
|
|
265225
|
+
respectParameterContent: void 0,
|
|
265226
|
+
respectPerSpecBasePath: void 0
|
|
265150
265227
|
};
|
|
265151
265228
|
}
|
|
265152
265229
|
});
|
|
@@ -265177,7 +265254,7 @@ async function loadRawGeneratorsConfiguration({ absolutePathToWorkspace, context
|
|
|
265177
265254
|
});
|
|
265178
265255
|
} catch (e2) {
|
|
265179
265256
|
if (e2 instanceof index_vite_proxy_tmp_default.YAMLException) {
|
|
265180
|
-
const relativePath =
|
|
265257
|
+
const relativePath = import_path25.default.relative(process.cwd(), filepath);
|
|
265181
265258
|
let errorMessage = `Failed to parse ${relativePath}: ${e2.reason}`;
|
|
265182
265259
|
if (e2.mark != null) {
|
|
265183
265260
|
errorMessage += `
|
|
@@ -265233,7 +265310,7 @@ async function getPathToGeneratorsConfiguration({ absolutePathToWorkspace }) {
|
|
|
265233
265310
|
}
|
|
265234
265311
|
return void 0;
|
|
265235
265312
|
}
|
|
265236
|
-
var import_promises18,
|
|
265313
|
+
var import_promises18, import_path25;
|
|
265237
265314
|
var init_loadGeneratorsConfiguration = __esm({
|
|
265238
265315
|
"../configuration-loader/lib/generators-yml/loadGeneratorsConfiguration.js"() {
|
|
265239
265316
|
"use strict";
|
|
@@ -265242,7 +265319,7 @@ var init_loadGeneratorsConfiguration = __esm({
|
|
|
265242
265319
|
init_lib6();
|
|
265243
265320
|
import_promises18 = require("fs/promises");
|
|
265244
265321
|
init_js_yaml();
|
|
265245
|
-
|
|
265322
|
+
import_path25 = __toESM(require("path"), 1);
|
|
265246
265323
|
init_convertGeneratorsConfiguration();
|
|
265247
265324
|
}
|
|
265248
265325
|
});
|
|
@@ -318174,7 +318251,7 @@ function setProxy(options2, configProxy, location2, isRedirect) {
|
|
|
318174
318251
|
setProxy(redirectOptions, configProxy, redirectOptions.href, true);
|
|
318175
318252
|
};
|
|
318176
318253
|
}
|
|
318177
|
-
var import_http5, import_https2, import_http22, import_util16,
|
|
318254
|
+
var import_http5, import_https2, import_http22, import_util16, import_path28, import_follow_redirects, import_zlib2, import_stream6, import_events, zlibOptions, brotliOptions, isBrotliSupported, httpFollow, httpsFollow, isHttps, FORM_DATA_CONTENT_HEADERS, kAxiosSocketListener, kAxiosCurrentReq, supportedProtocols, decodeURIComponentSafe, flushOnFinish, Http2Sessions, http2Sessions, isHttpAdapterSupported, wrapAsync, resolveFamily, buildAddressEntry, http2Transport, http_default;
|
|
318178
318255
|
var init_http5 = __esm({
|
|
318179
318256
|
"../../../node_modules/.pnpm/axios@1.16.0/node_modules/axios/lib/adapters/http.js"() {
|
|
318180
318257
|
"use strict";
|
|
@@ -318187,7 +318264,7 @@ var init_http5 = __esm({
|
|
|
318187
318264
|
import_https2 = __toESM(require("https"), 1);
|
|
318188
318265
|
import_http22 = __toESM(require("http2"), 1);
|
|
318189
318266
|
import_util16 = __toESM(require("util"), 1);
|
|
318190
|
-
|
|
318267
|
+
import_path28 = require("path");
|
|
318191
318268
|
import_follow_redirects = __toESM(require_follow_redirects(), 1);
|
|
318192
318269
|
import_zlib2 = __toESM(require("zlib"), 1);
|
|
318193
318270
|
init_data();
|
|
@@ -318665,9 +318742,9 @@ var init_http5 = __esm({
|
|
|
318665
318742
|
}
|
|
318666
318743
|
if (config5.allowedSocketPaths != null) {
|
|
318667
318744
|
const allowed = Array.isArray(config5.allowedSocketPaths) ? config5.allowedSocketPaths : [config5.allowedSocketPaths];
|
|
318668
|
-
const resolvedSocket = (0,
|
|
318745
|
+
const resolvedSocket = (0, import_path28.resolve)(config5.socketPath);
|
|
318669
318746
|
const isAllowed = allowed.some(
|
|
318670
|
-
(entry) => typeof entry === "string" && (0,
|
|
318747
|
+
(entry) => typeof entry === "string" && (0, import_path28.resolve)(entry) === resolvedSocket
|
|
318671
318748
|
);
|
|
318672
318749
|
if (!isAllowed) {
|
|
318673
318750
|
return reject(
|
|
@@ -320588,7 +320665,7 @@ function Un(s5, t3) {
|
|
|
320588
320665
|
function Hn(s5, t3) {
|
|
320589
320666
|
s5.head = new de2(t3, void 0, s5.head, s5), s5.tail || (s5.tail = s5.head), s5.length++;
|
|
320590
320667
|
}
|
|
320591
|
-
var import_events2, import_fs13, import_node_events6, import_node_stream3, import_node_string_decoder2, import_node_path9, import_node_fs6,
|
|
320668
|
+
var import_events2, import_fs13, import_node_events6, import_node_stream3, import_node_string_decoder2, import_node_path9, import_node_fs6, import_path29, import_events3, import_assert5, import_buffer, Ms, import_zlib3, import_node_path10, import_node_path11, import_fs14, import_fs15, import_path30, import_node_path12, import_path31, import_node_fs7, import_node_assert, import_node_crypto5, import_node_fs8, import_node_path13, import_fs16, import_node_fs9, import_node_path14, import_node_fs10, import_promises21, import_node_path15, import_node_path16, import_node_fs11, import_node_path17, Mr, Br, xs, zr, Ur, Hr, q3, Q3, rt2, Le2, qt2, Ne2, Ls, De2, Ns, z4, Mt2, g2, Qt2, Bt2, b3, D3, _3, gi, Ae2, L4, w2, bi, _i, Ds, Oi, Z3, Ti, Ie2, Jt2, Rt2, F4, jt2, Wr, Gr, Zr, Yr, Fe2, xi, Kr, Vr, A3, Xr, ot2, H4, te2, m2, Ni, j4, Di, Ci, ki, ie2, Ce2, Ut2, Ht2, Ai, Pt2, ht2, U4, nt2, Y3, zt2, Ii, J3, ee3, Fi, ke2, gt2, ve2, bt2, _t2, Me2, tt2, Wt2, qr2, Is, Fs, Cs, ks, vs, Qr, se2, K3, jr, M4, tn, Bs, en, Mi, Tt2, Gt2, Bi, re3, Be2, Pe2, ze2, Ue2, He2, We2, Ge2, Ze2, Ye2, Ps, rn, nn, zs, on, hn, Us, Hs, Ui, ne3, ln, zi, oe2, Ke2, C4, cn, xt2, Hi, fn, at2, dn, un, mn, lt2, pn, En, wn, Wi, Sn, Lt2, ct2, Rn, gn, bn, _n, f2, Ve2, Nt2, Tn, Vi, $i, xn, B3, Dt2, et2, Gi, Ws, V3, he2, ft2, Gs, p3, it2, dt2, Zi, At2, y3, $e2, Xe2, Yi, Zs, Ys, ae2, Ki, qe2, Yt2, ut2, Qe2, It2, Je2, je2, Ks, Ln, st2, mt2, An, Xi, In, Fn, Ft2, qi, kn, Vs, le2, ti, Qi, vn, Mn, Ji, $s, er2, Bn, Qs, Js, js, ts, tr2, ce2, ei, es, ii, is, ss, rs, ns, pt2, si, os4, ji, X3, fe2, ri, ni, Pn, oi, de2, mi, ir2, ai, ue2, W4, me2, Et2, Ct2, pe2, hi, G5, hs, li, sr2, cs, fs4, ci, fi, rr2, as, di, or2, ls, wt2, kt2, Wn, Gn, ar2, lr2, Zn, Yn, Kn, Vn, ur2, mr2, cr2, pr2, Er, wr2, $n, Xn, qn, fr2, ds, us, pi, Qn, ms, Jn, ps, we2, St2, to, Sr2, Es, yr2, eo, Rr2, ws, gr2, Vt2, br2, io, so, ro, Si, Or, Tr2, gs, xr, bs, P4, _s, Os, Ri, Lr, Nr, ye2, Dr, Ar, Ss, yt2, O4, yi, Ir, $t2, ys, Rs, Ts, Re2, ge2, be2, _e2, oo, Oe2, ho, ao, lo, Fr, Xt2, Se2, Te2, co, fo, uo, mo, po, Eo, wo, So, vt2, yo, Ro;
|
|
320592
320669
|
var init_index_min2 = __esm({
|
|
320593
320670
|
"../../../node_modules/.pnpm/tar@7.5.16/node_modules/tar/dist/esm/index.min.js"() {
|
|
320594
320671
|
"use strict";
|
|
@@ -320599,7 +320676,7 @@ var init_index_min2 = __esm({
|
|
|
320599
320676
|
import_node_string_decoder2 = require("string_decoder");
|
|
320600
320677
|
import_node_path9 = __toESM(require("path"), 1);
|
|
320601
320678
|
import_node_fs6 = __toESM(require("fs"), 1);
|
|
320602
|
-
|
|
320679
|
+
import_path29 = require("path");
|
|
320603
320680
|
import_events3 = require("events");
|
|
320604
320681
|
import_assert5 = __toESM(require("assert"), 1);
|
|
320605
320682
|
import_buffer = require("buffer");
|
|
@@ -320609,9 +320686,9 @@ var init_index_min2 = __esm({
|
|
|
320609
320686
|
import_node_path11 = require("path");
|
|
320610
320687
|
import_fs14 = __toESM(require("fs"), 1);
|
|
320611
320688
|
import_fs15 = __toESM(require("fs"), 1);
|
|
320612
|
-
import_path29 = __toESM(require("path"), 1);
|
|
320613
|
-
import_node_path12 = require("path");
|
|
320614
320689
|
import_path30 = __toESM(require("path"), 1);
|
|
320690
|
+
import_node_path12 = require("path");
|
|
320691
|
+
import_path31 = __toESM(require("path"), 1);
|
|
320615
320692
|
import_node_fs7 = __toESM(require("fs"), 1);
|
|
320616
320693
|
import_node_assert = __toESM(require("assert"), 1);
|
|
320617
320694
|
import_node_crypto5 = require("crypto");
|
|
@@ -321931,11 +322008,11 @@ var init_index_min2 = __esm({
|
|
|
321931
322008
|
};
|
|
321932
322009
|
Xi = (s5, t3) => {
|
|
321933
322010
|
let e2 = new Map(t3.map((n2) => [mt2(n2), true])), i5 = s5.filter, r4 = (n2, o3 = "") => {
|
|
321934
|
-
let a3 = o3 || (0,
|
|
322011
|
+
let a3 = o3 || (0, import_path29.parse)(n2).root || ".", h4;
|
|
321935
322012
|
if (n2 === a3) h4 = false;
|
|
321936
322013
|
else {
|
|
321937
322014
|
let l2 = e2.get(n2);
|
|
321938
|
-
h4 = l2 !== void 0 ? l2 : r4((0,
|
|
322015
|
+
h4 = l2 !== void 0 ? l2 : r4((0, import_path29.dirname)(n2), a3);
|
|
321939
322016
|
}
|
|
321940
322017
|
return e2.set(n2, h4), h4;
|
|
321941
322018
|
};
|
|
@@ -322055,7 +322132,7 @@ var init_index_min2 = __esm({
|
|
|
322055
322132
|
let [o3, a3] = le2(this.path);
|
|
322056
322133
|
o3 && typeof a3 == "string" && (this.path = a3, r4 = o3);
|
|
322057
322134
|
}
|
|
322058
|
-
this.win32 = !!i5.win32 || process.platform === "win32", this.win32 && (this.path = $s(this.path.replaceAll(/\\/g, "/")), t3 = t3.replaceAll(/\\/g, "/")), this.absolute = f2(i5.absolute ||
|
|
322135
|
+
this.win32 = !!i5.win32 || process.platform === "win32", this.win32 && (this.path = $s(this.path.replaceAll(/\\/g, "/")), t3 = t3.replaceAll(/\\/g, "/")), this.absolute = f2(i5.absolute || import_path30.default.resolve(this.cwd, t3)), this.path === "" && (this.path = "./"), r4 && this.warn("TAR_ENTRY_INFO", `stripping ${r4} from absolute path`, { entry: this, path: r4 + this.path });
|
|
322059
322136
|
let n2 = this.statCache.get(this.absolute);
|
|
322060
322137
|
n2 ? this[ii](n2) : this[es]();
|
|
322061
322138
|
}
|
|
@@ -322114,7 +322191,7 @@ var init_index_min2 = __esm({
|
|
|
322114
322191
|
}
|
|
322115
322192
|
[tr2](t3) {
|
|
322116
322193
|
if (!this.stat) throw new Error("cannot create link entry without stat");
|
|
322117
|
-
this.type = "Link", this.linkpath = f2(
|
|
322194
|
+
this.type = "Link", this.linkpath = f2(import_path30.default.relative(this.cwd, t3)), this.stat.size = 0, this[ce2](), this.end();
|
|
322118
322195
|
}
|
|
322119
322196
|
[Js]() {
|
|
322120
322197
|
if (!this.stat) throw new Error("cannot create file entry without stat");
|
|
@@ -322518,7 +322595,7 @@ var init_index_min2 = __esm({
|
|
|
322518
322595
|
return typeof t3 == "string" ? this[li](t3) : this[sr2](t3), this.flowing;
|
|
322519
322596
|
}
|
|
322520
322597
|
[sr2](t3) {
|
|
322521
|
-
let e2 = f2(
|
|
322598
|
+
let e2 = f2(import_path31.default.resolve(this.cwd, t3.path));
|
|
322522
322599
|
if (!this.filter(t3.path, t3)) t3.resume();
|
|
322523
322600
|
else {
|
|
322524
322601
|
let i5 = new mi(t3.path, e2);
|
|
@@ -322527,7 +322604,7 @@ var init_index_min2 = __esm({
|
|
|
322527
322604
|
this[Ct2]();
|
|
322528
322605
|
}
|
|
322529
322606
|
[li](t3) {
|
|
322530
|
-
let e2 = f2(
|
|
322607
|
+
let e2 = f2(import_path31.default.resolve(this.cwd, t3));
|
|
322531
322608
|
this[W4].push(new mi(t3, e2)), this[Ct2]();
|
|
322532
322609
|
}
|
|
322533
322610
|
[cs](t3) {
|
|
@@ -323682,8 +323759,8 @@ async function downloadDependency({ s3PreSignedReadUrl, absolutePathToLocalOutpu
|
|
|
323682
323759
|
const request7 = await axios_default.get(s3PreSignedReadUrl, {
|
|
323683
323760
|
responseType: "stream"
|
|
323684
323761
|
});
|
|
323685
|
-
const tmpDir = await
|
|
323686
|
-
const outputTarPath =
|
|
323762
|
+
const tmpDir = await import_tmp_promise5.default.dir();
|
|
323763
|
+
const outputTarPath = import_path32.default.join(tmpDir.path, "api.tgz");
|
|
323687
323764
|
await (0, import_promises23.pipeline)(request7.data, (0, import_fs17.createWriteStream)(outputTarPath));
|
|
323688
323765
|
await uo({ file: outputTarPath, cwd: absolutePathToLocalOutput });
|
|
323689
323766
|
}
|
|
@@ -323697,7 +323774,7 @@ function stringifyDependency(dependency) {
|
|
|
323697
323774
|
assertNever(dependency);
|
|
323698
323775
|
}
|
|
323699
323776
|
}
|
|
323700
|
-
var import_fs17, import_promises22, import_os,
|
|
323777
|
+
var import_fs17, import_promises22, import_os, import_path32, import_promises23, import_tmp_promise5, FIDDLE, DEPENDENCIES_FOLDER_NAME, METADATA_RESPONSE_FILENAME, LOCAL_STORAGE_FOLDER;
|
|
323701
323778
|
var init_loadDependency = __esm({
|
|
323702
323779
|
"../workspace/lazy-fern-workspace/lib/utils/loadDependency.js"() {
|
|
323703
323780
|
"use strict";
|
|
@@ -323712,10 +323789,10 @@ var init_loadDependency = __esm({
|
|
|
323712
323789
|
import_fs17 = require("fs");
|
|
323713
323790
|
import_promises22 = require("fs/promises");
|
|
323714
323791
|
import_os = require("os");
|
|
323715
|
-
|
|
323792
|
+
import_path32 = __toESM(require("path"), 1);
|
|
323716
323793
|
import_promises23 = require("stream/promises");
|
|
323717
323794
|
init_index_min2();
|
|
323718
|
-
|
|
323795
|
+
import_tmp_promise5 = __toESM(require_tmp_promise(), 1);
|
|
323719
323796
|
init_Result();
|
|
323720
323797
|
FIDDLE = createFiddleService();
|
|
323721
323798
|
DEPENDENCIES_FOLDER_NAME = "dependencies";
|
|
@@ -335317,7 +335394,7 @@ function validateStructureOfYamlFiles({ files, absolutePathToDefinition, skipVal
|
|
|
335317
335394
|
addFailure(result);
|
|
335318
335395
|
}
|
|
335319
335396
|
}
|
|
335320
|
-
} else if (
|
|
335397
|
+
} else if (import_path33.default.basename(relativeFilepath) === FERN_PACKAGE_MARKER_FILENAME) {
|
|
335321
335398
|
const cached2 = packageMarkerParsedCache.get(file4.rawContents);
|
|
335322
335399
|
if (cached2 != null && (cached2.validated || skipValidation)) {
|
|
335323
335400
|
packageMarkers[relativeFilepath] = {
|
|
@@ -335407,7 +335484,7 @@ function validateStructureOfYamlFiles({ files, absolutePathToDefinition, skipVal
|
|
|
335407
335484
|
};
|
|
335408
335485
|
}
|
|
335409
335486
|
}
|
|
335410
|
-
var
|
|
335487
|
+
var import_path33, rootApiParsedCache, definitionParsedCache, packageMarkerParsedCache;
|
|
335411
335488
|
var init_validateStructureOfYamlFiles = __esm({
|
|
335412
335489
|
"../workspace/lazy-fern-workspace/lib/utils/validateStructureOfYamlFiles.js"() {
|
|
335413
335490
|
"use strict";
|
|
@@ -335415,7 +335492,7 @@ var init_validateStructureOfYamlFiles = __esm({
|
|
|
335415
335492
|
init_lib4();
|
|
335416
335493
|
init_lib10();
|
|
335417
335494
|
init_lib8();
|
|
335418
|
-
|
|
335495
|
+
import_path33 = __toESM(require("path"), 1);
|
|
335419
335496
|
init_api_yml_schema();
|
|
335420
335497
|
init_fern_schema();
|
|
335421
335498
|
init_package_yml_schema();
|
|
@@ -345532,7 +345609,7 @@ function parseExternalRef(ref2, baseDir) {
|
|
|
345532
345609
|
const hashIndex = ref2.indexOf("#");
|
|
345533
345610
|
const filePath = hashIndex >= 0 ? ref2.slice(0, hashIndex) : ref2;
|
|
345534
345611
|
const jsonPointer = hashIndex >= 0 ? ref2.slice(hashIndex + 1) : "";
|
|
345535
|
-
const absolutePath = (0,
|
|
345612
|
+
const absolutePath = (0, import_path34.resolve)(baseDir, filePath);
|
|
345536
345613
|
return { filePath, jsonPointer, absolutePath };
|
|
345537
345614
|
}
|
|
345538
345615
|
function isExternalRefValue(value2) {
|
|
@@ -345622,7 +345699,7 @@ async function resolveExternalRefs(obj, baseDir, mainFileAbsPath, registry2, app
|
|
|
345622
345699
|
newVisited.add(cacheKey);
|
|
345623
345700
|
const fileContent = await readAndParseFile(sourceFileAbsPath, fileCache);
|
|
345624
345701
|
const parsed = navigateJsonPointer(fileContent, pointer2, sourceFileAbsPath);
|
|
345625
|
-
const refDir = (0,
|
|
345702
|
+
const refDir = (0, import_path34.dirname)(sourceFileAbsPath);
|
|
345626
345703
|
const resolved = await resolveExternalRefs(parsed, refDir, mainFileAbsPath, registry2, true, newVisited, fileCache, sourceFileAbsPath);
|
|
345627
345704
|
return mergeWithSiblings(resolved, siblingProperties, hasSiblings);
|
|
345628
345705
|
}
|
|
@@ -345646,7 +345723,7 @@ async function resolveExternalRefs(obj, baseDir, mainFileAbsPath, registry2, app
|
|
|
345646
345723
|
newVisited.add(cacheKey);
|
|
345647
345724
|
const fileContent = await readAndParseFile(absoluteRefPath, fileCache);
|
|
345648
345725
|
const parsed = navigateJsonPointer(fileContent, jsonPointer, absoluteRefPath);
|
|
345649
|
-
const refDir = (0,
|
|
345726
|
+
const refDir = (0, import_path34.dirname)(absoluteRefPath);
|
|
345650
345727
|
const resolved = await resolveExternalRefs(parsed, refDir, mainFileAbsPath, registry2, true, newVisited, fileCache, absoluteRefPath);
|
|
345651
345728
|
return mergeWithSiblings(resolved, siblingProperties, hasSiblings);
|
|
345652
345729
|
}
|
|
@@ -345656,14 +345733,14 @@ async function resolveExternalRefs(obj, baseDir, mainFileAbsPath, registry2, app
|
|
|
345656
345733
|
}
|
|
345657
345734
|
return result;
|
|
345658
345735
|
}
|
|
345659
|
-
var import_promises25,
|
|
345736
|
+
var import_promises25, import_path34;
|
|
345660
345737
|
var init_resolveExternalRefs = __esm({
|
|
345661
345738
|
"../workspace/lazy-fern-workspace/lib/utils/resolveExternalRefs.js"() {
|
|
345662
345739
|
"use strict";
|
|
345663
345740
|
init_lib6();
|
|
345664
345741
|
import_promises25 = require("fs/promises");
|
|
345665
345742
|
init_js_yaml();
|
|
345666
|
-
|
|
345743
|
+
import_path34 = require("path");
|
|
345667
345744
|
}
|
|
345668
345745
|
});
|
|
345669
345746
|
|
|
@@ -345671,7 +345748,7 @@ var init_resolveExternalRefs = __esm({
|
|
|
345671
345748
|
async function loadAsyncAPI({ context: context3, absoluteFilePath, absoluteFilePathToOverrides }) {
|
|
345672
345749
|
const contents = (await (0, import_promises26.readFile)(absoluteFilePath)).toString();
|
|
345673
345750
|
const parsed = await index_vite_proxy_tmp_default.load(contents);
|
|
345674
|
-
const baseDir = (0,
|
|
345751
|
+
const baseDir = (0, import_path35.dirname)(absoluteFilePath);
|
|
345675
345752
|
const registry2 = buildExternalRefRegistry(parsed, baseDir);
|
|
345676
345753
|
const bundled = await resolveExternalRefs(parsed, baseDir, absoluteFilePath, registry2);
|
|
345677
345754
|
let overridesFilepaths = [];
|
|
@@ -345692,13 +345769,13 @@ async function loadAsyncAPI({ context: context3, absoluteFilePath, absoluteFileP
|
|
|
345692
345769
|
}
|
|
345693
345770
|
return result;
|
|
345694
345771
|
}
|
|
345695
|
-
var import_promises26,
|
|
345772
|
+
var import_promises26, import_path35;
|
|
345696
345773
|
var init_loadAsyncAPI = __esm({
|
|
345697
345774
|
"../workspace/lazy-fern-workspace/lib/utils/loadAsyncAPI.js"() {
|
|
345698
345775
|
"use strict";
|
|
345699
345776
|
import_promises26 = require("fs/promises");
|
|
345700
345777
|
init_js_yaml();
|
|
345701
|
-
|
|
345778
|
+
import_path35 = require("path");
|
|
345702
345779
|
init_mergeWithOverrides2();
|
|
345703
345780
|
init_resolveExternalRefs();
|
|
345704
345781
|
}
|
|
@@ -345707,7 +345784,7 @@ var init_loadAsyncAPI = __esm({
|
|
|
345707
345784
|
// ../workspace/lazy-fern-workspace/lib/loaders/applyOverlays.js
|
|
345708
345785
|
async function getTempDir() {
|
|
345709
345786
|
if (tempDir === void 0) {
|
|
345710
|
-
const dir = await
|
|
345787
|
+
const dir = await import_tmp_promise6.default.dir({ prefix: "fern-overlay-" });
|
|
345711
345788
|
tempDir = dir.path;
|
|
345712
345789
|
}
|
|
345713
345790
|
return tempDir;
|
|
@@ -345723,9 +345800,9 @@ async function applyOverlays({ absoluteFilePathToOverlay, absoluteFilePathToOpen
|
|
|
345723
345800
|
overlay
|
|
345724
345801
|
});
|
|
345725
345802
|
const dir = await getTempDir();
|
|
345726
|
-
const originalFileName =
|
|
345727
|
-
const outputFileName = `${
|
|
345728
|
-
const outputPath =
|
|
345803
|
+
const originalFileName = import_path36.default.basename(absoluteFilePathToOpenAPI);
|
|
345804
|
+
const outputFileName = `${import_path36.default.parse(originalFileName).name}.overlaid.json`;
|
|
345805
|
+
const outputPath = import_path36.default.join(dir, outputFileName);
|
|
345729
345806
|
await (0, import_promises27.writeFile)(outputPath, JSON.stringify(result, null, 2), "utf8");
|
|
345730
345807
|
context3.logger.debug(`Wrote overlaid OpenAPI spec to: ${outputPath}`);
|
|
345731
345808
|
return result;
|
|
@@ -345788,7 +345865,7 @@ function validateOverlay(overlay, context3) {
|
|
|
345788
345865
|
function isRecord(value2) {
|
|
345789
345866
|
return typeof value2 === "object" && value2 != null && !Array.isArray(value2);
|
|
345790
345867
|
}
|
|
345791
|
-
var import_promises27,
|
|
345868
|
+
var import_promises27, import_path36, import_tmp_promise6, tempDir;
|
|
345792
345869
|
var init_applyOverlays = __esm({
|
|
345793
345870
|
"../workspace/lazy-fern-workspace/lib/loaders/applyOverlays.js"() {
|
|
345794
345871
|
"use strict";
|
|
@@ -345796,19 +345873,19 @@ var init_applyOverlays = __esm({
|
|
|
345796
345873
|
init_lib6();
|
|
345797
345874
|
import_promises27 = require("fs/promises");
|
|
345798
345875
|
init_js_yaml();
|
|
345799
|
-
|
|
345800
|
-
|
|
345876
|
+
import_path36 = __toESM(require("path"), 1);
|
|
345877
|
+
import_tmp_promise6 = __toESM(require_tmp_promise(), 1);
|
|
345801
345878
|
}
|
|
345802
345879
|
});
|
|
345803
345880
|
|
|
345804
345881
|
// ../workspace/lazy-fern-workspace/lib/loaders/OpenAPIRefResolver.js
|
|
345805
|
-
var import_openapi_core2,
|
|
345882
|
+
var import_openapi_core2, import_path37, OpenAPIRefResolver;
|
|
345806
345883
|
var init_OpenAPIRefResolver = __esm({
|
|
345807
345884
|
"../workspace/lazy-fern-workspace/lib/loaders/OpenAPIRefResolver.js"() {
|
|
345808
345885
|
"use strict";
|
|
345809
345886
|
init_lib8();
|
|
345810
345887
|
import_openapi_core2 = __toESM(require_lib2(), 1);
|
|
345811
|
-
|
|
345888
|
+
import_path37 = __toESM(require("path"), 1);
|
|
345812
345889
|
OpenAPIRefResolver = class extends import_openapi_core2.BaseResolver {
|
|
345813
345890
|
absolutePathToOpenAPIOverrides;
|
|
345814
345891
|
absolutePathToOpenAPIOverlays;
|
|
@@ -345826,13 +345903,13 @@ var init_OpenAPIRefResolver = __esm({
|
|
|
345826
345903
|
return result;
|
|
345827
345904
|
}
|
|
345828
345905
|
if (this.absolutePathToOpenAPIOverlays != null) {
|
|
345829
|
-
const overlayResolved =
|
|
345906
|
+
const overlayResolved = import_path37.default.resolve(import_path37.default.dirname(this.absolutePathToOpenAPIOverlays), ref2);
|
|
345830
345907
|
if (doesPathExistSync(AbsoluteFilePath2.of(overlayResolved))) {
|
|
345831
345908
|
return overlayResolved;
|
|
345832
345909
|
}
|
|
345833
345910
|
}
|
|
345834
345911
|
if (this.absolutePathToOpenAPIOverrides != null) {
|
|
345835
|
-
return
|
|
345912
|
+
return import_path37.default.resolve(import_path37.default.dirname(this.absolutePathToOpenAPIOverrides), ref2);
|
|
345836
345913
|
}
|
|
345837
345914
|
return result;
|
|
345838
345915
|
}
|
|
@@ -346124,7 +346201,7 @@ function describeRef(value2) {
|
|
|
346124
346201
|
return `target="${ref2}"${siblingSuffix}`;
|
|
346125
346202
|
}
|
|
346126
346203
|
async function readMarkdownRef(ref2, baseDir, context3, path122) {
|
|
346127
|
-
const absolutePath = (0,
|
|
346204
|
+
const absolutePath = (0, import_path38.resolve)(baseDir, ref2);
|
|
346128
346205
|
try {
|
|
346129
346206
|
const contents = await (0, import_promises29.readFile)(absolutePath, "utf-8");
|
|
346130
346207
|
return contents.trimEnd();
|
|
@@ -346133,13 +346210,13 @@ async function readMarkdownRef(ref2, baseDir, context3, path122) {
|
|
|
346133
346210
|
return "";
|
|
346134
346211
|
}
|
|
346135
346212
|
}
|
|
346136
|
-
var import_promises29,
|
|
346213
|
+
var import_promises29, import_path38, SKIP_METADATA_PARENTS;
|
|
346137
346214
|
var init_resolveDescriptionMarkdownRefs = __esm({
|
|
346138
346215
|
"../workspace/lazy-fern-workspace/lib/utils/resolveDescriptionMarkdownRefs.js"() {
|
|
346139
346216
|
"use strict";
|
|
346140
346217
|
init_lib4();
|
|
346141
346218
|
import_promises29 = require("fs/promises");
|
|
346142
|
-
|
|
346219
|
+
import_path38 = require("path");
|
|
346143
346220
|
SKIP_METADATA_PARENTS = /* @__PURE__ */ new Set(["properties", "patternProperties"]);
|
|
346144
346221
|
}
|
|
346145
346222
|
});
|
|
@@ -356898,7 +356975,7 @@ function maybeResolveSourceReference(source2, baseDir) {
|
|
|
356898
356975
|
return source2;
|
|
356899
356976
|
}
|
|
356900
356977
|
if (isCodeReference2(source2)) {
|
|
356901
|
-
const resolvedPath = (0,
|
|
356978
|
+
const resolvedPath = (0, import_path39.resolve)(baseDir ?? process.cwd(), source2.$ref);
|
|
356902
356979
|
if ((0, import_fs18.existsSync)(resolvedPath)) {
|
|
356903
356980
|
try {
|
|
356904
356981
|
const fileContent = (0, import_fs18.readFileSync)(resolvedPath, "utf-8");
|
|
@@ -356910,14 +356987,14 @@ function maybeResolveSourceReference(source2, baseDir) {
|
|
|
356910
356987
|
}
|
|
356911
356988
|
return void 0;
|
|
356912
356989
|
}
|
|
356913
|
-
var import_fs18,
|
|
356990
|
+
var import_fs18, import_path39, RedoclyCodeSamplesExtension;
|
|
356914
356991
|
var init_x_code_samples = __esm({
|
|
356915
356992
|
"../api-importers/openapi-to-ir/lib/extensions/x-code-samples.js"() {
|
|
356916
356993
|
"use strict";
|
|
356917
356994
|
init_lib4();
|
|
356918
356995
|
init_lib30();
|
|
356919
356996
|
import_fs18 = require("fs");
|
|
356920
|
-
|
|
356997
|
+
import_path39 = require("path");
|
|
356921
356998
|
RedoclyCodeSamplesExtension = class extends AbstractExtension {
|
|
356922
356999
|
operation;
|
|
356923
357000
|
baseDir;
|
|
@@ -356986,7 +357063,7 @@ function maybeResolveCodeReference2(code5, baseDir) {
|
|
|
356986
357063
|
return code5;
|
|
356987
357064
|
}
|
|
356988
357065
|
if (isCodeReference3(code5)) {
|
|
356989
|
-
const resolvedPath = (0,
|
|
357066
|
+
const resolvedPath = (0, import_path40.resolve)(baseDir ?? process.cwd(), code5.$ref);
|
|
356990
357067
|
if ((0, import_fs19.existsSync)(resolvedPath)) {
|
|
356991
357068
|
try {
|
|
356992
357069
|
const fileContent = (0, import_fs19.readFileSync)(resolvedPath, "utf-8");
|
|
@@ -357018,7 +357095,7 @@ function resolveCodeSamples2(codeSamples, baseDir) {
|
|
|
357018
357095
|
}
|
|
357019
357096
|
return resolved;
|
|
357020
357097
|
}
|
|
357021
|
-
var import_fs19,
|
|
357098
|
+
var import_fs19, import_path40, FernExamplesExtension2;
|
|
357022
357099
|
var init_x_fern_examples2 = __esm({
|
|
357023
357100
|
"../api-importers/openapi-to-ir/lib/extensions/x-fern-examples.js"() {
|
|
357024
357101
|
"use strict";
|
|
@@ -357026,7 +357103,7 @@ var init_x_fern_examples2 = __esm({
|
|
|
357026
357103
|
init_lib10();
|
|
357027
357104
|
init_lib30();
|
|
357028
357105
|
import_fs19 = require("fs");
|
|
357029
|
-
|
|
357106
|
+
import_path40 = require("path");
|
|
357030
357107
|
FernExamplesExtension2 = class extends AbstractExtension {
|
|
357031
357108
|
operation;
|
|
357032
357109
|
baseDir;
|
|
@@ -360639,7 +360716,7 @@ function getPlatformInfo() {
|
|
|
360639
360716
|
}
|
|
360640
360717
|
function getCacheDir() {
|
|
360641
360718
|
const homeDir = import_os2.default.homedir();
|
|
360642
|
-
return AbsoluteFilePath2.of(
|
|
360719
|
+
return AbsoluteFilePath2.of(import_path41.default.join(homeDir, CACHE_DIR_NAME, BIN_DIR_NAME));
|
|
360643
360720
|
}
|
|
360644
360721
|
function getVersionedBinaryPath() {
|
|
360645
360722
|
const { extension: extension4 } = getPlatformInfo();
|
|
@@ -360657,7 +360734,7 @@ function getVersionMarkerPath() {
|
|
|
360657
360734
|
}
|
|
360658
360735
|
function getLockDirPath() {
|
|
360659
360736
|
const cacheDir = getCacheDir();
|
|
360660
|
-
return
|
|
360737
|
+
return import_path41.default.join(cacheDir, `${BINARY_NAME}.lock`);
|
|
360661
360738
|
}
|
|
360662
360739
|
function getDownloadUrl() {
|
|
360663
360740
|
const { os: osName, arch: arch4, extension: extension4 } = getPlatformInfo();
|
|
@@ -360790,7 +360867,7 @@ async function atomicCopyBinary(src, dest) {
|
|
|
360790
360867
|
await (0, import_promises34.chmod)(tmpDest, 493);
|
|
360791
360868
|
await (0, import_promises34.rename)(tmpDest, dest);
|
|
360792
360869
|
}
|
|
360793
|
-
var import_promises34, import_os2,
|
|
360870
|
+
var import_promises34, import_os2, import_path41, BUF_VERSION, GITHUB_RELEASE_URL_BASE, BINARY_NAME, CACHE_DIR_NAME, BIN_DIR_NAME, LOCK_TIMEOUT_MS, LOCK_RETRY_INTERVAL_MS;
|
|
360794
360871
|
var init_BufDownloader = __esm({
|
|
360795
360872
|
"../workspace/lazy-fern-workspace/lib/protobuf/BufDownloader.js"() {
|
|
360796
360873
|
"use strict";
|
|
@@ -360798,7 +360875,7 @@ var init_BufDownloader = __esm({
|
|
|
360798
360875
|
init_lib6();
|
|
360799
360876
|
import_promises34 = require("fs/promises");
|
|
360800
360877
|
import_os2 = __toESM(require("os"), 1);
|
|
360801
|
-
|
|
360878
|
+
import_path41 = __toESM(require("path"), 1);
|
|
360802
360879
|
BUF_VERSION = "v1.50.0";
|
|
360803
360880
|
GITHUB_RELEASE_URL_BASE = "https://github.com/bufbuild/buf/releases/download";
|
|
360804
360881
|
BINARY_NAME = "buf";
|
|
@@ -360868,7 +360945,7 @@ async function detectAirGappedModeForProtobuf(absoluteFilepathToProtobufRoot, lo
|
|
|
360868
360945
|
if (!bufLockExists) {
|
|
360869
360946
|
return false;
|
|
360870
360947
|
}
|
|
360871
|
-
const tmpDir = AbsoluteFilePath2.of((await
|
|
360948
|
+
const tmpDir = AbsoluteFilePath2.of((await import_tmp_promise7.default.dir()).path);
|
|
360872
360949
|
try {
|
|
360873
360950
|
const bufYamlPath = join8(absoluteFilepathToProtobufRoot, RelativeFilePath2.of("buf.yaml"));
|
|
360874
360951
|
try {
|
|
@@ -360929,7 +361006,7 @@ async function ensureBufCommand(logger4) {
|
|
|
360929
361006
|
});
|
|
360930
361007
|
}
|
|
360931
361008
|
}
|
|
360932
|
-
var import_promises35,
|
|
361009
|
+
var import_promises35, import_tmp_promise7, airGapDetectionResult, airGapDetectionPromise, PROTOBUF_GENERATOR_CONFIG_FILENAME, PROTOBUF_GENERATOR_OUTPUT_PATH, PROTOBUF_GENERATOR_OUTPUT_FILEPATH, PROTOBUF_SHELL_PROXY_FILENAME, PROTOBUF_EXPORT_CONFIG_V1, PROTOBUF_EXPORT_CONFIG_V2, getProtobufYamlV1, PROTOBUF_GEN_CONFIG, PROTOBUF_MODULE_PACKAGE_JSON, PROTOBUF_SHELL_PROXY;
|
|
360933
361010
|
var init_utils14 = __esm({
|
|
360934
361011
|
"../workspace/lazy-fern-workspace/lib/protobuf/utils.js"() {
|
|
360935
361012
|
"use strict";
|
|
@@ -360938,7 +361015,7 @@ var init_utils14 = __esm({
|
|
|
360938
361015
|
init_lib18();
|
|
360939
361016
|
init_lib6();
|
|
360940
361017
|
import_promises35 = require("fs/promises");
|
|
360941
|
-
|
|
361018
|
+
import_tmp_promise7 = __toESM(require_tmp_promise(), 1);
|
|
360942
361019
|
init_BufDownloader();
|
|
360943
361020
|
PROTOBUF_GENERATOR_CONFIG_FILENAME = "buf.gen.yaml";
|
|
360944
361021
|
PROTOBUF_GENERATOR_OUTPUT_PATH = "output";
|
|
@@ -361022,7 +361099,7 @@ async function ensureFernGloballyInstalled(cwd2, logger4) {
|
|
|
361022
361099
|
})();
|
|
361023
361100
|
return fernGlobalInstallPromise;
|
|
361024
361101
|
}
|
|
361025
|
-
var import_promises36,
|
|
361102
|
+
var import_promises36, import_path42, import_tmp_promise8, fernGlobalInstallPromise, ProtobufIRGenerator;
|
|
361026
361103
|
var init_ProtobufIRGenerator = __esm({
|
|
361027
361104
|
"../workspace/lazy-fern-workspace/lib/protobuf/ProtobufIRGenerator.js"() {
|
|
361028
361105
|
"use strict";
|
|
@@ -361030,8 +361107,8 @@ var init_ProtobufIRGenerator = __esm({
|
|
|
361030
361107
|
init_lib18();
|
|
361031
361108
|
init_lib6();
|
|
361032
361109
|
import_promises36 = require("fs/promises");
|
|
361033
|
-
|
|
361034
|
-
|
|
361110
|
+
import_path42 = __toESM(require("path"), 1);
|
|
361111
|
+
import_tmp_promise8 = __toESM(require_tmp_promise(), 1);
|
|
361035
361112
|
init_utils14();
|
|
361036
361113
|
ProtobufIRGenerator = class {
|
|
361037
361114
|
context;
|
|
@@ -361065,7 +361142,7 @@ var init_ProtobufIRGenerator = __esm({
|
|
|
361065
361142
|
});
|
|
361066
361143
|
}
|
|
361067
361144
|
async setupProtobufGeneratorConfig({ absoluteFilepathToProtobufRoot, absoluteFilepathToProtobufTarget }) {
|
|
361068
|
-
const protobufGeneratorConfigPath = AbsoluteFilePath2.of((await
|
|
361145
|
+
const protobufGeneratorConfigPath = AbsoluteFilePath2.of((await import_tmp_promise8.default.dir()).path);
|
|
361069
361146
|
if (absoluteFilepathToProtobufTarget !== void 0) {
|
|
361070
361147
|
await this.exportProtobufFilesForTarget({
|
|
361071
361148
|
protobufGeneratorConfigPath,
|
|
@@ -361095,7 +361172,7 @@ var init_ProtobufIRGenerator = __esm({
|
|
|
361095
361172
|
const bufCommand = this.resolvedBufCommand ?? "buf";
|
|
361096
361173
|
for (const version7 of ["v1", "v2"]) {
|
|
361097
361174
|
this.context.logger.info(`Using buf export with version: ${version7}`);
|
|
361098
|
-
const tmpBufConfigFile = await
|
|
361175
|
+
const tmpBufConfigFile = await import_tmp_promise8.default.file({ postfix: ".yaml" });
|
|
361099
361176
|
const configContent = version7 === "v1" ? PROTOBUF_EXPORT_CONFIG_V1 : PROTOBUF_EXPORT_CONFIG_V2;
|
|
361100
361177
|
await (0, import_promises36.writeFile)(tmpBufConfigFile.path, configContent, "utf8");
|
|
361101
361178
|
try {
|
|
@@ -361129,7 +361206,7 @@ var init_ProtobufIRGenerator = __esm({
|
|
|
361129
361206
|
await (0, import_promises36.cp)(absoluteFilepathToProtobufRoot, protobufGeneratorConfigPath, {
|
|
361130
361207
|
recursive: true,
|
|
361131
361208
|
filter: (src) => {
|
|
361132
|
-
const basename8 =
|
|
361209
|
+
const basename8 = import_path42.default.basename(src);
|
|
361133
361210
|
return basename8 !== "buf.yaml" && !(basename8.startsWith("buf.gen.") && basename8.endsWith(".yaml"));
|
|
361134
361211
|
}
|
|
361135
361212
|
});
|
|
@@ -361243,7 +361320,7 @@ function getPlatformInfo2() {
|
|
|
361243
361320
|
}
|
|
361244
361321
|
function getCacheDir2() {
|
|
361245
361322
|
const homeDir = import_os3.default.homedir();
|
|
361246
|
-
return AbsoluteFilePath2.of(
|
|
361323
|
+
return AbsoluteFilePath2.of(import_path43.default.join(homeDir, CACHE_DIR_NAME2, BIN_DIR_NAME2));
|
|
361247
361324
|
}
|
|
361248
361325
|
function getVersionedBinaryPath2() {
|
|
361249
361326
|
const { extension: extension4 } = getPlatformInfo2();
|
|
@@ -361261,7 +361338,7 @@ function getVersionMarkerPath2() {
|
|
|
361261
361338
|
}
|
|
361262
361339
|
function getLockDirPath2() {
|
|
361263
361340
|
const cacheDir = getCacheDir2();
|
|
361264
|
-
return
|
|
361341
|
+
return import_path43.default.join(cacheDir, `${BINARY_NAME2}.lock`);
|
|
361265
361342
|
}
|
|
361266
361343
|
function getDownloadUrl2() {
|
|
361267
361344
|
const { os: osName, arch: arch4, extension: extension4 } = getPlatformInfo2();
|
|
@@ -361394,7 +361471,7 @@ async function atomicCopyBinary2(src, dest) {
|
|
|
361394
361471
|
await (0, import_promises37.chmod)(tmpDest, 493);
|
|
361395
361472
|
await (0, import_promises37.rename)(tmpDest, dest);
|
|
361396
361473
|
}
|
|
361397
|
-
var import_promises37, import_os3,
|
|
361474
|
+
var import_promises37, import_os3, import_path43, PROTOC_GEN_OPENAPI_VERSION, GITHUB_RELEASE_URL_BASE2, BINARY_NAME2, CACHE_DIR_NAME2, BIN_DIR_NAME2, LOCK_TIMEOUT_MS2, LOCK_RETRY_INTERVAL_MS2;
|
|
361398
361475
|
var init_ProtocGenOpenAPIDownloader = __esm({
|
|
361399
361476
|
"../workspace/lazy-fern-workspace/lib/protobuf/ProtocGenOpenAPIDownloader.js"() {
|
|
361400
361477
|
"use strict";
|
|
@@ -361402,7 +361479,7 @@ var init_ProtocGenOpenAPIDownloader = __esm({
|
|
|
361402
361479
|
init_lib6();
|
|
361403
361480
|
import_promises37 = require("fs/promises");
|
|
361404
361481
|
import_os3 = __toESM(require("os"), 1);
|
|
361405
|
-
|
|
361482
|
+
import_path43 = __toESM(require("path"), 1);
|
|
361406
361483
|
PROTOC_GEN_OPENAPI_VERSION = "v0.1.13";
|
|
361407
361484
|
GITHUB_RELEASE_URL_BASE2 = "https://github.com/fern-api/protoc-gen-openapi/releases/download";
|
|
361408
361485
|
BINARY_NAME2 = "protoc-gen-openapi";
|
|
@@ -361429,7 +361506,7 @@ plugins:
|
|
|
361429
361506
|
- source_root=${relativeFilepathToProtobufRoot}
|
|
361430
361507
|
`;
|
|
361431
361508
|
}
|
|
361432
|
-
var import_promises38,
|
|
361509
|
+
var import_promises38, import_path44, import_tmp_promise9, PROTOBUF_GENERATOR_CONFIG_FILENAME2, PROTOBUF_GENERATOR_OUTPUT_PATH2, PROTOBUF_GENERATOR_OUTPUT_FILEPATH2, ProtobufOpenAPIGenerator;
|
|
361433
361510
|
var init_ProtobufOpenAPIGenerator = __esm({
|
|
361434
361511
|
"../workspace/lazy-fern-workspace/lib/protobuf/ProtobufOpenAPIGenerator.js"() {
|
|
361435
361512
|
"use strict";
|
|
@@ -361437,8 +361514,8 @@ var init_ProtobufOpenAPIGenerator = __esm({
|
|
|
361437
361514
|
init_lib18();
|
|
361438
361515
|
init_lib6();
|
|
361439
361516
|
import_promises38 = require("fs/promises");
|
|
361440
|
-
|
|
361441
|
-
|
|
361517
|
+
import_path44 = __toESM(require("path"), 1);
|
|
361518
|
+
import_tmp_promise9 = __toESM(require_tmp_promise(), 1);
|
|
361442
361519
|
init_ProtocGenOpenAPIDownloader();
|
|
361443
361520
|
init_utils14();
|
|
361444
361521
|
PROTOBUF_GENERATOR_CONFIG_FILENAME2 = "buf.gen.yaml";
|
|
@@ -361482,10 +361559,10 @@ var init_ProtobufOpenAPIGenerator = __esm({
|
|
|
361482
361559
|
if (deps.length > 0 && this.isAirGapped === void 0) {
|
|
361483
361560
|
this.isAirGapped = await detectAirGappedModeForProtobuf(absoluteFilepathToProtobufRoot, this.context.logger, this.resolvedBufCommand);
|
|
361484
361561
|
}
|
|
361485
|
-
const cwd2 = AbsoluteFilePath2.of((await
|
|
361562
|
+
const cwd2 = AbsoluteFilePath2.of((await import_tmp_promise9.default.dir()).path);
|
|
361486
361563
|
await (0, import_promises38.cp)(absoluteFilepathToProtobufRoot, cwd2, { recursive: true });
|
|
361487
361564
|
await (0, import_promises38.writeFile)(join8(cwd2, RelativeFilePath2.of(PROTOBUF_GENERATOR_CONFIG_FILENAME2)), getProtobufGeneratorConfig({ relativeFilepathToProtobufRoot }));
|
|
361488
|
-
const envOverride = this.protocGenOpenAPIBinDir != null ? { PATH: `${this.protocGenOpenAPIBinDir}${
|
|
361565
|
+
const envOverride = this.protocGenOpenAPIBinDir != null ? { PATH: `${this.protocGenOpenAPIBinDir}${import_path44.default.delimiter}${process.env.PATH ?? ""}` } : void 0;
|
|
361489
361566
|
const bufYamlPath = join8(cwd2, RelativeFilePath2.of("buf.yaml"));
|
|
361490
361567
|
const bufLockPath = join8(cwd2, RelativeFilePath2.of("buf.lock"));
|
|
361491
361568
|
await (0, import_promises38.writeFile)(bufYamlPath, getProtobufYamlV1(deps));
|
|
@@ -361544,7 +361621,7 @@ var init_ProtobufOpenAPIGenerator = __esm({
|
|
|
361544
361621
|
});
|
|
361545
361622
|
}
|
|
361546
361623
|
const outputPath = join8(preparedDir.cwd, RelativeFilePath2.of(PROTOBUF_GENERATOR_OUTPUT_FILEPATH2));
|
|
361547
|
-
const uniqueOutput = AbsoluteFilePath2.of((await
|
|
361624
|
+
const uniqueOutput = AbsoluteFilePath2.of((await import_tmp_promise9.default.file({ postfix: ".yaml" })).path);
|
|
361548
361625
|
await (0, import_promises38.copyFile)(outputPath, uniqueOutput);
|
|
361549
361626
|
await (0, import_promises38.unlink)(outputPath);
|
|
361550
361627
|
return { absoluteFilepath: uniqueOutput };
|
|
@@ -361568,7 +361645,7 @@ var init_ProtobufOpenAPIGenerator = __esm({
|
|
|
361568
361645
|
});
|
|
361569
361646
|
}
|
|
361570
361647
|
async setupProtobufGeneratorConfig({ absoluteFilepathToProtobufRoot, relativeFilepathToProtobufRoot }) {
|
|
361571
|
-
const protobufGeneratorConfigPath = AbsoluteFilePath2.of((await
|
|
361648
|
+
const protobufGeneratorConfigPath = AbsoluteFilePath2.of((await import_tmp_promise9.default.dir()).path);
|
|
361572
361649
|
await (0, import_promises38.cp)(absoluteFilepathToProtobufRoot, protobufGeneratorConfigPath, { recursive: true });
|
|
361573
361650
|
await (0, import_promises38.writeFile)(join8(protobufGeneratorConfigPath, RelativeFilePath2.of(PROTOBUF_GENERATOR_CONFIG_FILENAME2)), getProtobufGeneratorConfig({ relativeFilepathToProtobufRoot }));
|
|
361574
361651
|
return protobufGeneratorConfigPath;
|
|
@@ -361579,7 +361656,7 @@ var init_ProtobufOpenAPIGenerator = __esm({
|
|
|
361579
361656
|
const bufLockPath = join8(cwd2, RelativeFilePath2.of("buf.lock"));
|
|
361580
361657
|
let cleanupBufLock = false;
|
|
361581
361658
|
const configContent = getProtobufYamlV1(deps);
|
|
361582
|
-
const envOverride = this.protocGenOpenAPIBinDir != null ? { PATH: `${this.protocGenOpenAPIBinDir}${
|
|
361659
|
+
const envOverride = this.protocGenOpenAPIBinDir != null ? { PATH: `${this.protocGenOpenAPIBinDir}${import_path44.default.delimiter}${process.env.PATH ?? ""}` } : void 0;
|
|
361583
361660
|
const bufCommand = this.resolvedBufCommand ?? "buf";
|
|
361584
361661
|
const buf = createLoggingExecutable(bufCommand, {
|
|
361585
361662
|
cwd: cwd2,
|
|
@@ -424433,7 +424510,7 @@ function tokenizeWwwAutolink(effects, ok3, nok) {
|
|
|
424433
424510
|
}
|
|
424434
424511
|
effects.enter("literalAutolink");
|
|
424435
424512
|
effects.enter("literalAutolinkWww");
|
|
424436
|
-
return effects.check(wwwPrefix, effects.attempt(domain2, effects.attempt(
|
|
424513
|
+
return effects.check(wwwPrefix, effects.attempt(domain2, effects.attempt(path48, wwwAfter), nok), nok)(code5);
|
|
424437
424514
|
}
|
|
424438
424515
|
function wwwAfter(code5) {
|
|
424439
424516
|
effects.exit("literalAutolinkWww");
|
|
@@ -424483,7 +424560,7 @@ function tokenizeProtocolAutolink(effects, ok3, nok) {
|
|
|
424483
424560
|
return nok(code5);
|
|
424484
424561
|
}
|
|
424485
424562
|
function afterProtocol(code5) {
|
|
424486
|
-
return code5 === null || asciiControl(code5) || markdownLineEndingOrSpace(code5) || unicodeWhitespace(code5) || unicodePunctuation(code5) ? nok(code5) : effects.attempt(domain2, effects.attempt(
|
|
424563
|
+
return code5 === null || asciiControl(code5) || markdownLineEndingOrSpace(code5) || unicodeWhitespace(code5) || unicodePunctuation(code5) ? nok(code5) : effects.attempt(domain2, effects.attempt(path48, protocolAfter), nok)(code5);
|
|
424487
424564
|
}
|
|
424488
424565
|
function protocolAfter(code5) {
|
|
424489
424566
|
effects.exit("literalAutolinkHttp");
|
|
@@ -424659,7 +424736,7 @@ function previousUnbalanced(events) {
|
|
|
424659
424736
|
}
|
|
424660
424737
|
return result;
|
|
424661
424738
|
}
|
|
424662
|
-
var wwwPrefix, domain2,
|
|
424739
|
+
var wwwPrefix, domain2, path48, trail, emailDomainDotTrail, wwwAutolink, protocolAutolink, emailAutolink, text4, code2;
|
|
424663
424740
|
var init_syntax = __esm({
|
|
424664
424741
|
"../../../node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js"() {
|
|
424665
424742
|
"use strict";
|
|
@@ -424672,7 +424749,7 @@ var init_syntax = __esm({
|
|
|
424672
424749
|
tokenize: tokenizeDomain,
|
|
424673
424750
|
partial: true
|
|
424674
424751
|
};
|
|
424675
|
-
|
|
424752
|
+
path48 = {
|
|
424676
424753
|
tokenize: tokenizePath,
|
|
424677
424754
|
partial: true
|
|
424678
424755
|
};
|
|
@@ -426750,7 +426827,7 @@ function sizingGroup(value2, options2, baseOptions) {
|
|
|
426750
426827
|
}
|
|
426751
426828
|
return buildCommon.makeFragment(inner2);
|
|
426752
426829
|
}
|
|
426753
|
-
var SourceLocation2, Token2, ParseError22, contains, deflt, uppercase2, hyphenate, ESCAPE_LOOKUP, ESCAPE_REGEX, getBaseElem, isCharacterBox, assert5, protocolFromUrl, utils, SETTINGS_SCHEMA, Settings, Style, D4, Dc, T3, Tc, S5, Sc, SS, SSc, styles4, sup, sub, fracNum, fracDen, cramp, text$1, Style$1, scriptData, allBlocks, hLinePad, sqrtMain, sqrtSize1, sqrtSize2, sqrtSize3, sqrtSize4, phasePath, sqrtTall, sqrtPath, innerPath,
|
|
426830
|
+
var SourceLocation2, Token2, ParseError22, contains, deflt, uppercase2, hyphenate, ESCAPE_LOOKUP, ESCAPE_REGEX, getBaseElem, isCharacterBox, assert5, protocolFromUrl, utils, SETTINGS_SCHEMA, Settings, Style, D4, Dc, T3, Tc, S5, Sc, SS, SSc, styles4, sup, sub, fracNum, fracDen, cramp, text$1, Style$1, scriptData, allBlocks, hLinePad, sqrtMain, sqrtSize1, sqrtSize2, sqrtSize3, sqrtSize4, phasePath, sqrtTall, sqrtPath, innerPath, path49, tallDelim, DocumentFragment2, fontMetricsData, sigmasAndXis, extraCharacterMap, fontMetricsBySizeIndex, sizeStyleMap, sizeMultipliers, sizeAtStyle, Options, ptPerUnit, relativeUnit, validUnit, calculateSize, makeEm, createClass, initNode, toNode, invalidAttributeNameRegex, toMarkup, Span, Anchor, Img, iCombinations, SymbolNode, SvgNode, PathNode, LineNode, ATOMS, NON_ATOMS, symbols, math2, text5, main2, ams, accent, bin, close2, inner, mathord, op, open2, punct, rel, spacing, textord, ligatures, mathTextSymbols, ch, i3, textSymbols, _ch, _i2, letters, _ch2, _i22, wideChar, _ch3, _i3, _ch4, _i4, extraLatin, _ch5, _i5, wideLatinLetterData, wideNumeralData, wideCharacterFont, lookupSymbol, makeSymbol, mathsym, boldsymbol, makeOrd, canCombine, tryCombineChars, sizeElementFromChildren, makeSpan$2, makeSvgSpan, makeLineSpan, makeAnchor, makeFragment, wrapFragment, getVListChildrenAndDepth, makeVList, makeGlue, retrieveTextFontName, fontMap, svgData, staticSvg, buildCommon, thinspace, mediumspace, thickspace, spacings, tightSpacings, _functions, _htmlGroupBuilders, _mathmlGroupBuilders, normalizeArgument, ordargument, makeSpan$1, binLeftCanceller, binRightCanceller, styleMap$1, DomEnum, buildExpression$1, traverseNonSpaceNodes, checkPartialGroup, getOutermostNode, getTypeOfDomTree, makeNullDelimiter, buildGroup$1, MathNode, TextNode, SpaceNode, mathMLTree, makeText, makeRow, getVariant, buildExpression2, buildExpressionRow, buildGroup2, optionsFromSettings, displayWrap, buildTree, buildHTMLTree, stretchyCodePoint, mathMLnode, katexImagesData, groupLength, svgSpan, encloseSpan, stretchy, htmlBuilder$a, mathmlBuilder$9, NON_STRETCHY_ACCENT_REGEX, paddedNode, makeSpan2, binrelClass, cdArrowFunctionName, newCell, isStartOfArrow, isLabelEnd, htmlBuilder$8, mathmlBuilder$7, globalMap, checkControlSequence, getRHS, letCommand, getMetrics, styleWrap, centerSpan, makeSmallDelim, mathrmSize, makeLargeDelim, makeGlyphSpan, makeInner, lapInEms, lap, verts, doubleVerts, makeStackedDelim, vbPad, emPad, sqrtSvg, makeSqrtImage, stackLargeDelimiters, stackAlwaysDelimiters, stackNeverDelimiters, sizeToMaxHeight, makeSizedDelim, stackNeverDelimiterSequence, stackAlwaysDelimiterSequence, stackLargeDelimiterSequence, delimTypeToFont, traverseSequence, makeCustomSizedDelim, makeLeftRightDelim, delimiter2, delimiterSizes, delimiters, htmlBuilder$7, mathmlBuilder$6, _environments, _macros, validateAmsEnvironmentContext, htmlBuilder$6, alignMap, mathmlBuilder$5, alignedHandler, environments, htmlBuilder$5, mathmlBuilder$4, fontAliases, adjustStyle, htmlBuilder$4, mathmlBuilder$3, stylArray, delimFromValue, htmlBuilder$3, mathmlBuilder$2, sizeData, chooseMathStyle, assembleSupSub, noSuccessor, htmlBuilder$2, mathmlBuilder$1, singleCharBigOps, singleCharIntegrals, htmlBuilder$1, mathmlBuilder2, sizeFuncs, htmlBuilder2, styleMap, htmlBuilderDelegate, defaultVariant, cssSpace, regularSpace, pad, textFontFamilies, textFontWeights, textFontShapes, optionsWithFont, makeVerb, functions, spaceRegexString, controlWordRegexString, controlSymbolRegexString, controlWordWhitespaceRegexString, controlSpaceRegexString, combiningDiacriticalMarkString, combiningDiacriticalMarksEndRegex, tokenRegexString, Lexer2, Namespace2, macros, digitToNumber, newcommand, dotsByToken, spaceAfterDots, latexRaiseA, braketHelper, implicitCommands, MacroExpander, unicodeSubRegEx, uSubsAndSups, unicodeAccents, unicodeSymbols, Parser3, parseTree, render, renderToString, generateParseTree, renderError, renderToDomTree, renderToHTMLTree, version3, __domTree, katex;
|
|
426754
426831
|
var init_katex = __esm({
|
|
426755
426832
|
"../../../node_modules/.pnpm/katex@0.16.21/node_modules/katex/dist/katex.mjs"() {
|
|
426756
426833
|
"use strict";
|
|
@@ -427313,7 +427390,7 @@ var init_katex = __esm({
|
|
|
427313
427390
|
return "";
|
|
427314
427391
|
}
|
|
427315
427392
|
};
|
|
427316
|
-
|
|
427393
|
+
path49 = {
|
|
427317
427394
|
// The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main
|
|
427318
427395
|
doubleleftarrow: "M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",
|
|
427319
427396
|
// doublerightarrow is from glyph U+21D2 in font KaTeX Main
|
|
@@ -430358,7 +430435,7 @@ var init_katex = __esm({
|
|
|
430358
430435
|
if (this.alternate) {
|
|
430359
430436
|
node4.setAttribute("d", this.alternate);
|
|
430360
430437
|
} else {
|
|
430361
|
-
node4.setAttribute("d",
|
|
430438
|
+
node4.setAttribute("d", path49[this.pathName]);
|
|
430362
430439
|
}
|
|
430363
430440
|
return node4;
|
|
430364
430441
|
}
|
|
@@ -430366,7 +430443,7 @@ var init_katex = __esm({
|
|
|
430366
430443
|
if (this.alternate) {
|
|
430367
430444
|
return '<path d="' + utils.escape(this.alternate) + '"/>';
|
|
430368
430445
|
} else {
|
|
430369
|
-
return '<path d="' + utils.escape(
|
|
430446
|
+
return '<path d="' + utils.escape(path49[this.pathName]) + '"/>';
|
|
430370
430447
|
}
|
|
430371
430448
|
}
|
|
430372
430449
|
};
|
|
@@ -454597,7 +454674,7 @@ function replaceImagePathsAndUrls(markdown, fileIdsMap, markdownFilesToPathName,
|
|
|
454597
454674
|
if (image3 == null || isExternalUrl(image3) || isDataUrl(image3)) {
|
|
454598
454675
|
return void 0;
|
|
454599
454676
|
}
|
|
454600
|
-
if ((0,
|
|
454677
|
+
if ((0, import_path56.isAbsolute)(image3) || isWindowsAbsolutePath(image3)) {
|
|
454601
454678
|
const absolutePath = convertToFernHostAbsoluteFilePath(AbsoluteFilePath2.of(image3));
|
|
454602
454679
|
const fileId = fileIdsMap.get(absolutePath);
|
|
454603
454680
|
if (fileId) {
|
|
@@ -454964,14 +455041,14 @@ function replaceFrontmatterImagesforLogo(data2, mapImage) {
|
|
|
454964
455041
|
}
|
|
454965
455042
|
}
|
|
454966
455043
|
}
|
|
454967
|
-
var import_gray_matter3,
|
|
455044
|
+
var import_gray_matter3, import_path56, JSX_TAG_NAME_START_REGEX, BLANK_LINE_REGEX, CODE_FENCE_REGEX, LogoOverrideFrontmatterSchema;
|
|
454968
455045
|
var init_parseImagePaths = __esm({
|
|
454969
455046
|
"../docs-markdown-utils/lib/parseImagePaths.js"() {
|
|
454970
455047
|
"use strict";
|
|
454971
455048
|
init_js();
|
|
454972
455049
|
init_lib8();
|
|
454973
455050
|
import_gray_matter3 = __toESM(require_gray_matter(), 1);
|
|
454974
|
-
|
|
455051
|
+
import_path56 = require("path");
|
|
454975
455052
|
init_unist_util_visit();
|
|
454976
455053
|
init_zod2();
|
|
454977
455054
|
init_extract_literals();
|
|
@@ -456215,7 +456292,7 @@ function getBundleCacheDir() {
|
|
|
456215
456292
|
}
|
|
456216
456293
|
function getBundleCacheFilePath(cacheDir, contents) {
|
|
456217
456294
|
const hash5 = (0, import_crypto6.createHash)("sha256").update(ROLLDOWN_VERSION).update("\0").update(contents).digest("hex");
|
|
456218
|
-
return
|
|
456295
|
+
return import_path57.default.join(cacheDir, `${hash5}.js`);
|
|
456219
456296
|
}
|
|
456220
456297
|
async function readCachedBundle(contents) {
|
|
456221
456298
|
const cacheDir = getBundleCacheDir();
|
|
@@ -456254,13 +456331,13 @@ async function maybeBundleMdxComponent({ absoluteFilePath, contents, context: co
|
|
|
456254
456331
|
return cachedBundle;
|
|
456255
456332
|
}
|
|
456256
456333
|
context3.logger.debug(`Bundling ${absoluteFilePath} to inline third-party imports: ${thirdPartyImports.join(", ")}`);
|
|
456257
|
-
const { path: tmpDir, cleanup } = await
|
|
456334
|
+
const { path: tmpDir, cleanup } = await import_tmp_promise10.default.dir({ unsafeCleanup: true });
|
|
456258
456335
|
try {
|
|
456259
|
-
const outputFilePath =
|
|
456260
|
-
const configFilePath2 =
|
|
456336
|
+
const outputFilePath = import_path57.default.join(tmpDir, "bundle.js");
|
|
456337
|
+
const configFilePath2 = import_path57.default.join(tmpDir, "rolldown.config.mjs");
|
|
456261
456338
|
await (0, import_promises71.writeFile)(configFilePath2, buildRolldownConfig({ absoluteFilePath, outputFilePath }));
|
|
456262
456339
|
const result = await loggingExeca(context3.logger, "npx", ["--quiet", "--yes", `rolldown@${ROLLDOWN_VERSION}`, "-c", configFilePath2], {
|
|
456263
|
-
cwd:
|
|
456340
|
+
cwd: import_path57.default.dirname(absoluteFilePath),
|
|
456264
456341
|
doNotPipeOutput: true,
|
|
456265
456342
|
reject: false
|
|
456266
456343
|
});
|
|
@@ -456311,7 +456388,7 @@ export default {
|
|
|
456311
456388
|
};
|
|
456312
456389
|
`;
|
|
456313
456390
|
}
|
|
456314
|
-
var import_crypto6, import_promises71, import_module2,
|
|
456391
|
+
var import_crypto6, import_promises71, import_module2, import_path57, import_tmp_promise10, BUNDLEABLE_EXTENSIONS_REGEX, RENDERER_PROVIDED_MODULES, BUNDLE_CACHE_DIR_ENV_VAR, ROLLDOWN_VERSION, IMPORT_SPECIFIER_REGEX;
|
|
456315
456392
|
var init_bundleMdxComponent = __esm({
|
|
456316
456393
|
"../docs-resolver/lib/utils/bundleMdxComponent.js"() {
|
|
456317
456394
|
"use strict";
|
|
@@ -456319,8 +456396,8 @@ var init_bundleMdxComponent = __esm({
|
|
|
456319
456396
|
import_crypto6 = require("crypto");
|
|
456320
456397
|
import_promises71 = require("fs/promises");
|
|
456321
456398
|
import_module2 = require("module");
|
|
456322
|
-
|
|
456323
|
-
|
|
456399
|
+
import_path57 = __toESM(require("path"), 1);
|
|
456400
|
+
import_tmp_promise10 = __toESM(require_tmp_promise(), 1);
|
|
456324
456401
|
BUNDLEABLE_EXTENSIONS_REGEX = /\.(js|jsx|ts|tsx)$/;
|
|
456325
456402
|
RENDERER_PROVIDED_MODULES = ["react", "react-dom", "@mdx-js/react", "next"];
|
|
456326
456403
|
BUNDLE_CACHE_DIR_ENV_VAR = "FERN_MDX_BUNDLE_CACHE_DIR";
|
|
@@ -456569,9 +456646,6 @@ async function resolveRemoteSpecs({ definitions: definitions7, context: context3
|
|
|
456569
456646
|
if (gitDefinitions.length === 0) {
|
|
456570
456647
|
return definitions7;
|
|
456571
456648
|
}
|
|
456572
|
-
if (!isGitAvailable()) {
|
|
456573
|
-
throw new Error("Git is not installed or not found in PATH. Remote git sources in generators.yml require git to be available. Please install git and ensure it is in your PATH.");
|
|
456574
|
-
}
|
|
456575
456649
|
const cloneTargets = /* @__PURE__ */ new Map();
|
|
456576
456650
|
for (const def of gitDefinitions) {
|
|
456577
456651
|
const gitSource = def.gitSource;
|
|
@@ -456587,36 +456661,8 @@ async function resolveRemoteSpecs({ definitions: definitions7, context: context3
|
|
|
456587
456661
|
const clonedPaths = /* @__PURE__ */ new Map();
|
|
456588
456662
|
for (const [key2, target] of cloneTargets.entries()) {
|
|
456589
456663
|
context3.logger.info(`Cloning remote spec source: ${target.repo}${target.ref ? `@${target.ref}` : ""}`);
|
|
456590
|
-
const
|
|
456591
|
-
|
|
456592
|
-
const git = simpleGit();
|
|
456593
|
-
const useCommitShaFlow = target.ref != null && isCommitSha(target.ref);
|
|
456594
|
-
try {
|
|
456595
|
-
if (useCommitShaFlow) {
|
|
456596
|
-
const ref2 = target.ref;
|
|
456597
|
-
const cloneArgs = ["--depth", "1", "--config", "core.symlinks=false", "--no-checkout"];
|
|
456598
|
-
await git.clone(target.repo, tmpDir.path, cloneArgs);
|
|
456599
|
-
const repoGit = simpleGit(tmpDir.path);
|
|
456600
|
-
await repoGit.fetch("origin", ref2, { "--depth": "1" });
|
|
456601
|
-
await repoGit.checkout(ref2);
|
|
456602
|
-
} else {
|
|
456603
|
-
const cloneArgs = ["--depth", "1", "--config", "core.symlinks=false"];
|
|
456604
|
-
if (target.ref != null) {
|
|
456605
|
-
cloneArgs.push("--branch", target.ref);
|
|
456606
|
-
}
|
|
456607
|
-
await git.clone(target.repo, tmpDir.path, cloneArgs);
|
|
456608
|
-
}
|
|
456609
|
-
} catch (error50) {
|
|
456610
|
-
const errorMessage = extractErrorMessage(error50);
|
|
456611
|
-
if (errorMessage.includes("Authentication failed") || errorMessage.includes("could not read Username") || errorMessage.includes("401") || errorMessage.includes("403")) {
|
|
456612
|
-
throw new Error(`Failed to clone remote spec source: authentication failed. Ensure your git credentials are configured for ${target.repo}. The CLI uses your system's git credential configuration (credential helpers, SSH keys, GIT_ASKPASS). Original error: ${errorMessage}`);
|
|
456613
|
-
}
|
|
456614
|
-
if (errorMessage.includes("Repository not found") || errorMessage.includes("not found") || errorMessage.includes("404")) {
|
|
456615
|
-
throw new Error(`Failed to clone remote spec source: repository not found. Check that ${target.repo} exists and your credentials have access. Original error: ${errorMessage}`);
|
|
456616
|
-
}
|
|
456617
|
-
throw new Error(`Failed to clone remote spec source ${target.repo}${target.ref ? ` at ref '${target.ref}'` : ""}. Original error: ${errorMessage}`);
|
|
456618
|
-
}
|
|
456619
|
-
clonedPaths.set(key2, clonePath);
|
|
456664
|
+
const clonePath = await cloneRepositoryAtRef({ repositoryUrl: target.repo, ref: target.ref });
|
|
456665
|
+
clonedPaths.set(key2, AbsoluteFilePath2.of(clonePath));
|
|
456620
456666
|
}
|
|
456621
456667
|
return definitions7.map((def) => {
|
|
456622
456668
|
if (def.gitSource == null) {
|
|
@@ -456628,15 +456674,17 @@ async function resolveRemoteSpecs({ definitions: definitions7, context: context3
|
|
|
456628
456674
|
if (clonedPath == null) {
|
|
456629
456675
|
throw new Error(`Internal error: no clone found for ${key2}`);
|
|
456630
456676
|
}
|
|
456631
|
-
const resolvedPath = AbsoluteFilePath2.of(
|
|
456632
|
-
|
|
456633
|
-
|
|
456634
|
-
|
|
456677
|
+
const resolvedPath = AbsoluteFilePath2.of(resolveRepositorySubpath({
|
|
456678
|
+
repositoryRoot: clonedPath,
|
|
456679
|
+
subpath: def.gitSource.path,
|
|
456680
|
+
description: "git source path"
|
|
456681
|
+
}));
|
|
456635
456682
|
if (def.schema.type === "protobuf") {
|
|
456636
|
-
const resolvedTarget = def.schema.target.length > 0 ?
|
|
456637
|
-
|
|
456638
|
-
|
|
456639
|
-
|
|
456683
|
+
const resolvedTarget = def.schema.target.length > 0 ? resolveRepositorySubpath({
|
|
456684
|
+
repositoryRoot: clonedPath,
|
|
456685
|
+
subpath: def.schema.target,
|
|
456686
|
+
description: "proto target path"
|
|
456687
|
+
}) : def.schema.target;
|
|
456640
456688
|
return {
|
|
456641
456689
|
...def,
|
|
456642
456690
|
schema: {
|
|
@@ -456659,15 +456707,11 @@ async function resolveRemoteSpecs({ definitions: definitions7, context: context3
|
|
|
456659
456707
|
};
|
|
456660
456708
|
});
|
|
456661
456709
|
}
|
|
456662
|
-
var import_path57, import_tmp_promise10;
|
|
456663
456710
|
var init_resolveRemoteSpecs = __esm({
|
|
456664
456711
|
"../workspace/loader/lib/resolveRemoteSpecs.js"() {
|
|
456665
456712
|
"use strict";
|
|
456666
|
-
init_lib4();
|
|
456667
456713
|
init_lib8();
|
|
456668
|
-
|
|
456669
|
-
init_esm16();
|
|
456670
|
-
import_tmp_promise10 = __toESM(require_tmp_promise(), 1);
|
|
456714
|
+
init_lib11();
|
|
456671
456715
|
}
|
|
456672
456716
|
});
|
|
456673
456717
|
|
|
@@ -689478,14 +689522,14 @@ function getCamelCaseNormalizedCollisions(nameToProperties) {
|
|
|
689478
689522
|
|
|
689479
689523
|
// ../fern-definition/validator/lib/rules/no-duplicate-declarations/no-duplicate-declarations.js
|
|
689480
689524
|
init_lib17();
|
|
689481
|
-
var
|
|
689525
|
+
var import_path26 = __toESM(require("path"), 1);
|
|
689482
689526
|
var NoDuplicateDeclarationsRule = {
|
|
689483
689527
|
name: "no-duplicate-declarations",
|
|
689484
689528
|
create: ({ workspace, logger: logger4 }) => {
|
|
689485
689529
|
const declarations = getDeclarations(workspace);
|
|
689486
689530
|
const seenTypes = {};
|
|
689487
689531
|
const getRuleViolations = ({ declaredName, relativeFilepath }) => {
|
|
689488
|
-
const relativeDirectoryPath =
|
|
689532
|
+
const relativeDirectoryPath = import_path26.default.dirname(relativeFilepath);
|
|
689489
689533
|
const declarationsForName = declarations[relativeDirectoryPath]?.[declaredName];
|
|
689490
689534
|
if (declarationsForName == null) {
|
|
689491
689535
|
logger4.error(`Could not find declarations for name: ${declaredName}. This is an error in the Fern validator.`);
|
|
@@ -689521,7 +689565,7 @@ var NoDuplicateDeclarationsRule = {
|
|
|
689521
689565
|
function getDeclarations(workspace) {
|
|
689522
689566
|
const declarations = {};
|
|
689523
689567
|
visitAllDefinitionFiles(workspace, (relativeFilepath, file4) => {
|
|
689524
|
-
const relativeDirectoryPath =
|
|
689568
|
+
const relativeDirectoryPath = import_path26.default.dirname(relativeFilepath);
|
|
689525
689569
|
const declarationsForDirectory = declarations[relativeDirectoryPath] ??= {};
|
|
689526
689570
|
const addDeclaration = (declaredName) => {
|
|
689527
689571
|
(declarationsForDirectory[declaredName] ??= []).push(relativeFilepath);
|
|
@@ -691530,7 +691574,7 @@ init_lib20();
|
|
|
691530
691574
|
init_lib4();
|
|
691531
691575
|
init_lib8();
|
|
691532
691576
|
init_lib6();
|
|
691533
|
-
var
|
|
691577
|
+
var import_path27 = __toESM(require("path"), 1);
|
|
691534
691578
|
var ValidNavigationRule = {
|
|
691535
691579
|
name: "valid-navigation",
|
|
691536
691580
|
create: ({ workspace }) => {
|
|
@@ -691538,7 +691582,7 @@ var ValidNavigationRule = {
|
|
|
691538
691582
|
const allNamedDefinitionFilepaths = keys2(getAllNamedDefinitionFiles(workspace.definition));
|
|
691539
691583
|
const directoryToChildren = allNamedDefinitionFilepaths.reduce((acc, definitionFilepath) => {
|
|
691540
691584
|
const children2 = acc[dirname6(definitionFilepath)] ??= /* @__PURE__ */ new Set();
|
|
691541
|
-
children2.add(
|
|
691585
|
+
children2.add(import_path27.default.basename(definitionFilepath));
|
|
691542
691586
|
return acc;
|
|
691543
691587
|
}, {});
|
|
691544
691588
|
return {
|
|
@@ -694841,7 +694885,12 @@ var OpenApiSettingsSchema2 = BaseApiSettingsSchema2.extend({
|
|
|
694841
694885
|
* back to a string.
|
|
694842
694886
|
* Defaults to false.
|
|
694843
694887
|
*/
|
|
694844
|
-
"respect-parameter-content": external_exports.boolean().optional()
|
|
694888
|
+
"respect-parameter-content": external_exports.boolean().optional(),
|
|
694889
|
+
/**
|
|
694890
|
+
* If true, apply each OpenAPI document's plain `x-fern-base-path` to that document's endpoints.
|
|
694891
|
+
* Defaults to false.
|
|
694892
|
+
*/
|
|
694893
|
+
"respect-per-spec-base-path": external_exports.boolean().optional()
|
|
694845
694894
|
});
|
|
694846
694895
|
|
|
694847
694896
|
// ../config/lib/schemas/specs/OpenApiSpecSchema.js
|
|
@@ -696281,10 +696330,10 @@ async function removeToken() {
|
|
|
696281
696330
|
|
|
696282
696331
|
// ../auth/lib/persistence/storeToken.js
|
|
696283
696332
|
var import_promises48 = require("fs/promises");
|
|
696284
|
-
var
|
|
696333
|
+
var import_path45 = __toESM(require("path"), 1);
|
|
696285
696334
|
async function storeToken(token) {
|
|
696286
696335
|
const pathToTokenFile = getPathToTokenFile();
|
|
696287
|
-
await (0, import_promises48.mkdir)(
|
|
696336
|
+
await (0, import_promises48.mkdir)(import_path45.default.dirname(pathToTokenFile), { recursive: true });
|
|
696288
696337
|
await (0, import_promises48.writeFile)(pathToTokenFile, token);
|
|
696289
696338
|
}
|
|
696290
696339
|
|
|
@@ -698704,7 +698753,7 @@ var inquirer = {
|
|
|
698704
698753
|
var lib_default4 = inquirer;
|
|
698705
698754
|
|
|
698706
698755
|
// ../../../node_modules/.pnpm/posthog-node@5.35.1_rxjs@7.8.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
698707
|
-
var
|
|
698756
|
+
var import_path46 = require("path");
|
|
698708
698757
|
function createModulerModifier() {
|
|
698709
698758
|
const getModuleFromFileName = createGetModuleFromFilename2();
|
|
698710
698759
|
return async (frames) => {
|
|
@@ -698712,12 +698761,12 @@ function createModulerModifier() {
|
|
|
698712
698761
|
return frames;
|
|
698713
698762
|
};
|
|
698714
698763
|
}
|
|
698715
|
-
function createGetModuleFromFilename2(basePath = process.argv[1] ? (0,
|
|
698764
|
+
function createGetModuleFromFilename2(basePath = process.argv[1] ? (0, import_path46.dirname)(process.argv[1]) : process.cwd(), isWindows = "\\" === import_path46.sep) {
|
|
698716
698765
|
const normalizedBase = isWindows ? normalizeWindowsPath2(basePath) : basePath;
|
|
698717
698766
|
return (filename) => {
|
|
698718
698767
|
if (!filename) return;
|
|
698719
698768
|
const normalizedFilename = isWindows ? normalizeWindowsPath2(filename) : filename;
|
|
698720
|
-
let { dir, base: file4, ext: ext2 } =
|
|
698769
|
+
let { dir, base: file4, ext: ext2 } = import_path46.posix.parse(normalizedFilename);
|
|
698721
698770
|
if (".js" === ext2 || ".mjs" === ext2 || ".cjs" === ext2) file4 = file4.slice(0, -1 * ext2.length);
|
|
698722
698771
|
const decodedFile = decodeURIComponent(file4);
|
|
698723
698772
|
if (!dir) dir = ".";
|
|
@@ -701363,14 +701412,14 @@ function snipLine2(line, colno) {
|
|
|
701363
701412
|
}
|
|
701364
701413
|
|
|
701365
701414
|
// ../../../node_modules/.pnpm/posthog-node@5.35.1_rxjs@7.8.2/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs
|
|
701366
|
-
var
|
|
701415
|
+
var import_path47 = require("path");
|
|
701367
701416
|
function createRelativePathModifier(basePath = process.cwd()) {
|
|
701368
|
-
const isWindows = "\\" ===
|
|
701417
|
+
const isWindows = "\\" === import_path47.sep;
|
|
701369
701418
|
const toUnix = (p6) => isWindows ? p6.replace(/\\/g, "/") : p6;
|
|
701370
701419
|
const normalizedBase = toUnix(basePath);
|
|
701371
701420
|
return async (frames) => {
|
|
701372
701421
|
for (const frame of frames) if (!(!frame.filename || frame.filename.startsWith("node:") || frame.filename.startsWith("data:"))) {
|
|
701373
|
-
if ((0,
|
|
701422
|
+
if ((0, import_path47.isAbsolute)(frame.filename)) frame.filename = toUnix((0, import_path47.relative)(normalizedBase, toUnix(frame.filename)));
|
|
701374
701423
|
}
|
|
701375
701424
|
return frames;
|
|
701376
701425
|
};
|
|
@@ -703430,7 +703479,7 @@ var AccessTokenPosthogManager = class {
|
|
|
703430
703479
|
properties: {
|
|
703431
703480
|
...event,
|
|
703432
703481
|
...event.properties,
|
|
703433
|
-
version: "5.
|
|
703482
|
+
version: "5.104.0",
|
|
703434
703483
|
usingAccessToken: true,
|
|
703435
703484
|
...getRunIdProperties()
|
|
703436
703485
|
}
|
|
@@ -703469,7 +703518,7 @@ init_lib27();
|
|
|
703469
703518
|
init_lib8();
|
|
703470
703519
|
var import_promises49 = require("fs/promises");
|
|
703471
703520
|
var import_os6 = require("os");
|
|
703472
|
-
var
|
|
703521
|
+
var import_path48 = require("path");
|
|
703473
703522
|
init_dist_node6();
|
|
703474
703523
|
var DISTINCT_ID_FILENAME = "id";
|
|
703475
703524
|
var LOCAL_STORAGE_FOLDER3 = ".fern-dev";
|
|
@@ -703496,7 +703545,7 @@ var UserPosthogManager = class {
|
|
|
703496
703545
|
distinctId: this.userId ?? await this.getPersistedDistinctId(),
|
|
703497
703546
|
event: "CLI",
|
|
703498
703547
|
properties: {
|
|
703499
|
-
version: "5.
|
|
703548
|
+
version: "5.104.0",
|
|
703500
703549
|
...event,
|
|
703501
703550
|
...event.properties,
|
|
703502
703551
|
usingAccessToken: false,
|
|
@@ -703548,7 +703597,7 @@ var UserPosthogManager = class {
|
|
|
703548
703597
|
const pathToFile = join8(AbsoluteFilePath2.of((0, import_os6.homedir)()), RelativeFilePath2.of(LOCAL_STORAGE_FOLDER3), RelativeFilePath2.of(DISTINCT_ID_FILENAME));
|
|
703549
703598
|
try {
|
|
703550
703599
|
if (!await doesPathExist(pathToFile)) {
|
|
703551
|
-
await (0, import_promises49.mkdir)((0,
|
|
703600
|
+
await (0, import_promises49.mkdir)((0, import_path48.dirname)(pathToFile), { recursive: true });
|
|
703552
703601
|
await (0, import_promises49.writeFile)(pathToFile, generatedDistinctId);
|
|
703553
703602
|
this.persistedDistinctId = generatedDistinctId;
|
|
703554
703603
|
} else {
|
|
@@ -706546,7 +706595,7 @@ var import_os7 = __toESM(require("os"), 1);
|
|
|
706546
706595
|
|
|
706547
706596
|
// ../cli-v2/lib/cache/docs-preview/DocsPreviewCache.js
|
|
706548
706597
|
var import_promises54 = __toESM(require("fs/promises"), 1);
|
|
706549
|
-
var
|
|
706598
|
+
var import_path49 = __toESM(require("path"), 1);
|
|
706550
706599
|
var DocsPreviewCache = class {
|
|
706551
706600
|
/** Absolute file path to the docs-preview cache directory */
|
|
706552
706601
|
absoluteFilePath;
|
|
@@ -706564,7 +706613,7 @@ var DocsPreviewCache = class {
|
|
|
706564
706613
|
for (const entry of entries24) {
|
|
706565
706614
|
if (entry.isDirectory()) {
|
|
706566
706615
|
bundleCount++;
|
|
706567
|
-
totalSize += await this.getDirectorySize(
|
|
706616
|
+
totalSize += await this.getDirectorySize(import_path49.default.join(this.absoluteFilePath, entry.name));
|
|
706568
706617
|
}
|
|
706569
706618
|
}
|
|
706570
706619
|
} catch {
|
|
@@ -706581,7 +706630,7 @@ var DocsPreviewCache = class {
|
|
|
706581
706630
|
const entries24 = await import_promises54.default.readdir(this.absoluteFilePath, { withFileTypes: true });
|
|
706582
706631
|
for (const entry of entries24) {
|
|
706583
706632
|
if (entry.isDirectory()) {
|
|
706584
|
-
const fullPath =
|
|
706633
|
+
const fullPath = import_path49.default.join(this.absoluteFilePath, entry.name);
|
|
706585
706634
|
const size2 = await this.getDirectorySize(fullPath);
|
|
706586
706635
|
deletedCount++;
|
|
706587
706636
|
freedSize += size2;
|
|
@@ -706599,7 +706648,7 @@ var DocsPreviewCache = class {
|
|
|
706599
706648
|
try {
|
|
706600
706649
|
const entries24 = await import_promises54.default.readdir(dirPath, { withFileTypes: true });
|
|
706601
706650
|
for (const entry of entries24) {
|
|
706602
|
-
const entryPath =
|
|
706651
|
+
const entryPath = import_path49.default.join(dirPath, entry.name);
|
|
706603
706652
|
if (entry.isFile() || entry.isSymbolicLink()) {
|
|
706604
706653
|
try {
|
|
706605
706654
|
const stats = await import_promises54.default.stat(entryPath);
|
|
@@ -708177,7 +708226,7 @@ var import_promises60 = require("fs/promises");
|
|
|
708177
708226
|
var import_is_ci2 = __toESM(require_is_ci(), 1);
|
|
708178
708227
|
var os10 = __toESM(require("os"), 1);
|
|
708179
708228
|
var import_os8 = require("os");
|
|
708180
|
-
var
|
|
708229
|
+
var import_path50 = require("path");
|
|
708181
708230
|
init_dist_node6();
|
|
708182
708231
|
var TelemetryClient = class _TelemetryClient {
|
|
708183
708232
|
posthog;
|
|
@@ -708327,7 +708376,7 @@ var TelemetryClient = class _TelemetryClient {
|
|
|
708327
708376
|
let distinctId = null;
|
|
708328
708377
|
try {
|
|
708329
708378
|
if (!await doesPathExist(distinctIdFilepath)) {
|
|
708330
|
-
await (0, import_promises60.mkdir)((0,
|
|
708379
|
+
await (0, import_promises60.mkdir)((0, import_path50.dirname)(distinctIdFilepath), { recursive: true });
|
|
708331
708380
|
await (0, import_promises60.writeFile)(distinctIdFilepath, v4_default(), { flag: "wx" });
|
|
708332
708381
|
}
|
|
708333
708382
|
const content5 = (await (0, import_promises60.readFile)(distinctIdFilepath)).toString().trim();
|
|
@@ -709721,12 +709770,12 @@ function getLogLevelPrefix(level) {
|
|
|
709721
709770
|
init_source();
|
|
709722
709771
|
var import_dotenv = __toESM(require_main2(), 1);
|
|
709723
709772
|
var import_fs24 = __toESM(require("fs"), 1);
|
|
709724
|
-
var
|
|
709773
|
+
var import_path51 = __toESM(require("path"), 1);
|
|
709725
709774
|
function loadDotenvFile(envFilePath, logDebug) {
|
|
709726
709775
|
if (envFilePath == null) {
|
|
709727
709776
|
return;
|
|
709728
709777
|
}
|
|
709729
|
-
const resolved =
|
|
709778
|
+
const resolved = import_path51.default.resolve(process.cwd(), envFilePath);
|
|
709730
709779
|
if (!import_fs24.default.existsSync(resolved)) {
|
|
709731
709780
|
process.stderr.write(`${source_default.yellow("warn")} .env file not found: ${resolved}
|
|
709732
709781
|
`);
|
|
@@ -710313,7 +710362,8 @@ var LegacyApiSpecAdapter = class {
|
|
|
710313
710362
|
shouldInferDiscriminatedUnionBaseProperties: settings.inferDiscriminatedUnionBaseProperties,
|
|
710314
710363
|
disambiguateRequestNames: settings["disambiguate-request-names"],
|
|
710315
710364
|
ignoreTags: settings["ignore-tags"],
|
|
710316
|
-
respectParameterContent: settings["respect-parameter-content"]
|
|
710365
|
+
respectParameterContent: settings["respect-parameter-content"],
|
|
710366
|
+
respectPerSpecBasePath: settings["respect-per-spec-base-path"]
|
|
710317
710367
|
};
|
|
710318
710368
|
const hasSettings = Object.values(result).some((v3) => v3 != null);
|
|
710319
710369
|
return hasSettings ? result : void 0;
|
|
@@ -849483,7 +849533,7 @@ init_lib8();
|
|
|
849483
849533
|
init_lib6();
|
|
849484
849534
|
init_source();
|
|
849485
849535
|
var import_promises65 = require("fs/promises");
|
|
849486
|
-
var
|
|
849536
|
+
var import_path52 = __toESM(require("path"), 1);
|
|
849487
849537
|
|
|
849488
849538
|
// ../cli-v2/lib/commands/api/utils/loadSpec.js
|
|
849489
849539
|
init_lib6();
|
|
@@ -849941,8 +849991,8 @@ function stripFernExamples(spec) {
|
|
|
849941
849991
|
// ../cli-v2/lib/commands/api/enrich/command.js
|
|
849942
849992
|
var EnrichCommand = class {
|
|
849943
849993
|
async handle(context3, args) {
|
|
849944
|
-
const openapiPath = AbsoluteFilePath2.of(
|
|
849945
|
-
const outputPath = args.output != null ? AbsoluteFilePath2.of(
|
|
849994
|
+
const openapiPath = AbsoluteFilePath2.of(import_path52.default.resolve(context3.cwd, args.openapi));
|
|
849995
|
+
const outputPath = args.output != null ? AbsoluteFilePath2.of(import_path52.default.resolve(context3.cwd, args.output)) : openapiPath;
|
|
849946
849996
|
if (args.file == null) {
|
|
849947
849997
|
if (args["ai-examples"] === true) {
|
|
849948
849998
|
throw new CliError({
|
|
@@ -849955,7 +850005,7 @@ var EnrichCommand = class {
|
|
|
849955
850005
|
code: CliError.Code.ConfigError
|
|
849956
850006
|
});
|
|
849957
850007
|
}
|
|
849958
|
-
const overridesPath = AbsoluteFilePath2.of(
|
|
850008
|
+
const overridesPath = AbsoluteFilePath2.of(import_path52.default.resolve(context3.cwd, args.file));
|
|
849959
850009
|
const [spec, overrides] = await Promise.all([loadSpec(openapiPath), loadSpec(overridesPath)]);
|
|
849960
850010
|
const logger4 = {
|
|
849961
850011
|
warn: (msg) => context3.stderr.warn(msg)
|
|
@@ -850010,7 +850060,7 @@ init_lib4();
|
|
|
850010
850060
|
init_lib6();
|
|
850011
850061
|
init_source();
|
|
850012
850062
|
var import_promises67 = require("fs/promises");
|
|
850013
|
-
var
|
|
850063
|
+
var import_path54 = __toESM(require("path"), 1);
|
|
850014
850064
|
|
|
850015
850065
|
// ../cli-v2/lib/config/fern-yml/constants.js
|
|
850016
850066
|
var FERN_YML_FILENAME = "fern.yml";
|
|
@@ -850020,7 +850070,7 @@ var REF_KEY2 = "$ref";
|
|
|
850020
850070
|
init_lib8();
|
|
850021
850071
|
init_lib6();
|
|
850022
850072
|
var import_promises66 = require("fs/promises");
|
|
850023
|
-
var
|
|
850073
|
+
var import_path53 = __toESM(require("path"), 1);
|
|
850024
850074
|
var import_yaml4 = __toESM(require_dist11(), 1);
|
|
850025
850075
|
var FernYmlEditor = class _FernYmlEditor {
|
|
850026
850076
|
rootDocument;
|
|
@@ -850121,23 +850171,23 @@ var FernYmlEditor = class _FernYmlEditor {
|
|
|
850121
850171
|
async addOverride(specFilePath, overrideAbsolutePath) {
|
|
850122
850172
|
const section = await this.resolveSection("api", ["specs"]);
|
|
850123
850173
|
const fileDir = dirname6(section.filePath);
|
|
850124
|
-
const relativeOverridePath = `./${
|
|
850174
|
+
const relativeOverridePath = `./${import_path53.default.relative(fileDir, overrideAbsolutePath)}`;
|
|
850125
850175
|
const index3 = this.findSpecIndex(section, specFilePath);
|
|
850126
850176
|
if (index3 < 0) {
|
|
850127
850177
|
return void 0;
|
|
850128
850178
|
}
|
|
850129
850179
|
const overridesPath = [...section.basePath, index3, "overrides"];
|
|
850130
850180
|
const existing = nodeToJS(section.document.getIn(overridesPath));
|
|
850131
|
-
const normalizedNew =
|
|
850181
|
+
const normalizedNew = import_path53.default.normalize(relativeOverridePath);
|
|
850132
850182
|
if (existing == null) {
|
|
850133
850183
|
section.document.setIn(overridesPath, relativeOverridePath);
|
|
850134
850184
|
} else if (typeof existing === "string") {
|
|
850135
|
-
if (
|
|
850185
|
+
if (import_path53.default.normalize(existing) === normalizedNew) {
|
|
850136
850186
|
return void 0;
|
|
850137
850187
|
}
|
|
850138
850188
|
section.document.setIn(overridesPath, section.document.createNode([existing, relativeOverridePath]));
|
|
850139
850189
|
} else if (Array.isArray(existing)) {
|
|
850140
|
-
if (existing.some((p6) =>
|
|
850190
|
+
if (existing.some((p6) => import_path53.default.normalize(p6) === normalizedNew)) {
|
|
850141
850191
|
return void 0;
|
|
850142
850192
|
}
|
|
850143
850193
|
const updated = [...existing, relativeOverridePath];
|
|
@@ -850195,18 +850245,18 @@ var FernYmlEditor = class _FernYmlEditor {
|
|
|
850195
850245
|
async addOverlay(specFilePath, overlayAbsolutePath) {
|
|
850196
850246
|
const section = await this.resolveSection("api", ["specs"]);
|
|
850197
850247
|
const fileDir = dirname6(section.filePath);
|
|
850198
|
-
const relativeOverlayPath = `./${
|
|
850248
|
+
const relativeOverlayPath = `./${import_path53.default.relative(fileDir, overlayAbsolutePath)}`;
|
|
850199
850249
|
const index3 = this.findSpecIndex(section, specFilePath);
|
|
850200
850250
|
if (index3 < 0) {
|
|
850201
850251
|
return void 0;
|
|
850202
850252
|
}
|
|
850203
850253
|
const overlaysPath = [...section.basePath, index3, "overlays"];
|
|
850204
850254
|
const existing = nodeToJS(section.document.getIn(overlaysPath));
|
|
850205
|
-
const normalizedNew =
|
|
850255
|
+
const normalizedNew = import_path53.default.normalize(relativeOverlayPath);
|
|
850206
850256
|
if (existing == null) {
|
|
850207
850257
|
section.document.setIn(overlaysPath, relativeOverlayPath);
|
|
850208
850258
|
} else if (typeof existing === "string") {
|
|
850209
|
-
if (
|
|
850259
|
+
if (import_path53.default.normalize(existing) === normalizedNew) {
|
|
850210
850260
|
return void 0;
|
|
850211
850261
|
}
|
|
850212
850262
|
section.document.setIn(overlaysPath, relativeOverlayPath);
|
|
@@ -850329,14 +850379,14 @@ var FernYmlEditor = class _FernYmlEditor {
|
|
|
850329
850379
|
return -1;
|
|
850330
850380
|
}
|
|
850331
850381
|
const fileDir = dirname6(section.filePath);
|
|
850332
|
-
const relativeSpecPath =
|
|
850382
|
+
const relativeSpecPath = import_path53.default.normalize(import_path53.default.relative(fileDir, specFilePath));
|
|
850333
850383
|
for (let i5 = 0; i5 < specs.length; i5++) {
|
|
850334
850384
|
const spec = specs[i5];
|
|
850335
850385
|
if (spec == null) {
|
|
850336
850386
|
continue;
|
|
850337
850387
|
}
|
|
850338
850388
|
const specPath = spec.openapi ?? spec.asyncapi;
|
|
850339
|
-
if (specPath != null &&
|
|
850389
|
+
if (specPath != null && import_path53.default.normalize(specPath) === relativeSpecPath) {
|
|
850340
850390
|
return i5;
|
|
850341
850391
|
}
|
|
850342
850392
|
}
|
|
@@ -850665,16 +850715,16 @@ var MergeCommand = class {
|
|
|
850665
850715
|
if (overridePaths != null) {
|
|
850666
850716
|
const edit = await editor.removeOverrides(entry.specFilePath);
|
|
850667
850717
|
if (edit != null) {
|
|
850668
|
-
const relPath =
|
|
850669
|
-
const names2 = overridePaths.map((o3) =>
|
|
850718
|
+
const relPath = import_path54.default.relative(context3.cwd, await editor.getApiFilePath());
|
|
850719
|
+
const names2 = overridePaths.map((o3) => import_path54.default.basename(o3)).join(", ");
|
|
850670
850720
|
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: removed reference to ${names2}`));
|
|
850671
850721
|
}
|
|
850672
850722
|
}
|
|
850673
850723
|
if (overlayPath != null) {
|
|
850674
850724
|
const edit = await editor.removeOverlay(entry.specFilePath);
|
|
850675
850725
|
if (edit != null) {
|
|
850676
|
-
const relPath =
|
|
850677
|
-
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: removed reference to ${
|
|
850726
|
+
const relPath = import_path54.default.relative(context3.cwd, await editor.getApiFilePath());
|
|
850727
|
+
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: removed reference to ${import_path54.default.basename(overlayPath)}`));
|
|
850678
850728
|
}
|
|
850679
850729
|
}
|
|
850680
850730
|
}
|
|
@@ -850727,7 +850777,7 @@ init_lib6();
|
|
|
850727
850777
|
init_source();
|
|
850728
850778
|
var import_child_process6 = require("child_process");
|
|
850729
850779
|
var import_promises68 = require("fs/promises");
|
|
850730
|
-
var
|
|
850780
|
+
var import_path55 = __toESM(require("path"), 1);
|
|
850731
850781
|
var import_util17 = require("util");
|
|
850732
850782
|
|
|
850733
850783
|
// ../cli-v2/lib/commands/api/split/deriveOutputPath.js
|
|
@@ -850826,7 +850876,7 @@ var SplitCommand = class {
|
|
|
850826
850876
|
*/
|
|
850827
850877
|
async handleStdoutPreview(context3, entries24, format3) {
|
|
850828
850878
|
if (entries24.length > 1) {
|
|
850829
|
-
const names2 = entries24.map((e2) =>
|
|
850879
|
+
const names2 = entries24.map((e2) => import_path55.default.basename(e2.specFilePath)).join(", ");
|
|
850830
850880
|
throw new CliError({
|
|
850831
850881
|
message: `--output "-" requires --api to select a single spec, but ${entries24.length} matched: ${names2}.`,
|
|
850832
850882
|
code: CliError.Code.ConfigError
|
|
@@ -850872,8 +850922,8 @@ var SplitCommand = class {
|
|
|
850872
850922
|
}
|
|
850873
850923
|
const edit = await editor.addOverlay(entry.specFilePath, outputPath);
|
|
850874
850924
|
if (edit != null) {
|
|
850875
|
-
const relPath =
|
|
850876
|
-
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: added reference to ${
|
|
850925
|
+
const relPath = import_path55.default.relative(context3.cwd, await editor.getApiFilePath());
|
|
850926
|
+
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: added reference to ${import_path55.default.basename(outputPath)}`));
|
|
850877
850927
|
}
|
|
850878
850928
|
}
|
|
850879
850929
|
async splitAsOverrides(context3, editor, entry, originalContent, currentContent, outputArg) {
|
|
@@ -850887,8 +850937,8 @@ var SplitCommand = class {
|
|
|
850887
850937
|
}
|
|
850888
850938
|
const edit = await editor.addOverride(entry.specFilePath, outputPath);
|
|
850889
850939
|
if (edit != null) {
|
|
850890
|
-
const relPath =
|
|
850891
|
-
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: added reference to ${
|
|
850940
|
+
const relPath = import_path55.default.relative(context3.cwd, await editor.getApiFilePath());
|
|
850941
|
+
context3.stderr.info(source_default.dim(`${relPath}:${edit.line}: added reference to ${import_path55.default.basename(outputPath)}`));
|
|
850892
850942
|
}
|
|
850893
850943
|
}
|
|
850894
850944
|
/**
|
|
@@ -850932,7 +850982,7 @@ var SplitCommand = class {
|
|
|
850932
850982
|
}
|
|
850933
850983
|
async getFileFromGitHead(repoRoot, absolutePath) {
|
|
850934
850984
|
try {
|
|
850935
|
-
const relativePath =
|
|
850985
|
+
const relativePath = import_path55.default.relative(repoRoot, absolutePath);
|
|
850936
850986
|
const { stdout } = await execFileAsync5("git", ["show", `HEAD:${relativePath}`], {
|
|
850937
850987
|
cwd: repoRoot,
|
|
850938
850988
|
encoding: "utf8",
|
|
@@ -850950,7 +851000,7 @@ var SplitCommand = class {
|
|
|
850950
851000
|
}
|
|
850951
851001
|
async getRepoRoot(nearPath) {
|
|
850952
851002
|
const { stdout } = await execFileAsync5("git", ["rev-parse", "--show-toplevel"], {
|
|
850953
|
-
cwd:
|
|
851003
|
+
cwd: import_path55.default.dirname(nearPath),
|
|
850954
851004
|
encoding: "utf8"
|
|
850955
851005
|
});
|
|
850956
851006
|
return stdout.trim();
|
|
@@ -884878,7 +884928,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
|
|
|
884878
884928
|
var LOGS_FOLDER_NAME = "logs";
|
|
884879
884929
|
var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
|
|
884880
884930
|
function getCliSource() {
|
|
884881
|
-
const version7 = "5.
|
|
884931
|
+
const version7 = "5.104.0";
|
|
884882
884932
|
return `cli@${version7}`;
|
|
884883
884933
|
}
|
|
884884
884934
|
var DebugLogger = class {
|
|
@@ -904552,6 +904602,7 @@ function writeGroupPage(group, dir, writer2, written) {
|
|
|
904552
904602
|
var import_promises116 = require("fs/promises");
|
|
904553
904603
|
init_lib4();
|
|
904554
904604
|
init_lib8();
|
|
904605
|
+
init_lib11();
|
|
904555
904606
|
init_lib6();
|
|
904556
904607
|
init_source();
|
|
904557
904608
|
|
|
@@ -904587,6 +904638,7 @@ async function runLocalParser({ context: context3, sourcePath, language, config:
|
|
|
904587
904638
|
await (0, import_promises115.writeFile)(configFile.path, JSON.stringify({
|
|
904588
904639
|
packagePath: config5.packagePath,
|
|
904589
904640
|
sourceUrl: config5.sourceUrl,
|
|
904641
|
+
branch: config5.branch,
|
|
904590
904642
|
doxyfileContent: config5.doxyfileContent
|
|
904591
904643
|
}));
|
|
904592
904644
|
await runContainer({
|
|
@@ -905567,16 +905619,35 @@ async function generateIrRemotely({ client: client3, name: name2, config: config
|
|
|
905567
905619
|
});
|
|
905568
905620
|
}
|
|
905569
905621
|
async function generateIrLocally({ context: context3, name: name2, config: config5, docsDirectoryPath, language, doxyfileContent, wrapStep }) {
|
|
905622
|
+
let sourcePath;
|
|
905623
|
+
let parserConfig;
|
|
905570
905624
|
if (isGitLibraryInput2(config5.input)) {
|
|
905571
|
-
|
|
905572
|
-
|
|
905573
|
-
|
|
905625
|
+
const gitInput = config5.input;
|
|
905626
|
+
const clonePath = await wrapStep({
|
|
905627
|
+
message: `Library '${name2}': cloning ${gitInput.git}${gitInput.ref != null ? ` (ref: ${gitInput.ref})` : ""}`,
|
|
905628
|
+
operation: () => cloneRepositoryAtRef({ repositoryUrl: gitInput.git, ref: gitInput.ref })
|
|
905574
905629
|
});
|
|
905630
|
+
if (gitInput.subpath != null) {
|
|
905631
|
+
resolveRepositorySubpath({
|
|
905632
|
+
repositoryRoot: clonePath,
|
|
905633
|
+
subpath: gitInput.subpath,
|
|
905634
|
+
description: `subpath for library '${name2}'`
|
|
905635
|
+
});
|
|
905636
|
+
}
|
|
905637
|
+
sourcePath = AbsoluteFilePath2.of(clonePath);
|
|
905638
|
+
parserConfig = {
|
|
905639
|
+
packagePath: gitInput.subpath,
|
|
905640
|
+
sourceUrl: gitInput.git,
|
|
905641
|
+
branch: gitInput.ref,
|
|
905642
|
+
doxyfileContent
|
|
905643
|
+
};
|
|
905644
|
+
} else {
|
|
905645
|
+
sourcePath = resolve6(docsDirectoryPath, config5.input.path);
|
|
905646
|
+
parserConfig = { doxyfileContent };
|
|
905575
905647
|
}
|
|
905576
|
-
const sourcePath = resolve6(docsDirectoryPath, config5.input.path);
|
|
905577
905648
|
const ir3 = await wrapStep({
|
|
905578
905649
|
message: `Library '${name2}': parsing library source locally`,
|
|
905579
|
-
operation: () => runLocalParser({ context: context3, sourcePath, language, config:
|
|
905650
|
+
operation: () => runLocalParser({ context: context3, sourcePath, language, config: parserConfig })
|
|
905580
905651
|
});
|
|
905581
905652
|
validateLibraryIr(ir3, language, name2);
|
|
905582
905653
|
return ir3;
|
|
@@ -910943,7 +911014,7 @@ var LegacyDocsPublisher = class {
|
|
|
910943
911014
|
previewId,
|
|
910944
911015
|
disableTemplates: void 0,
|
|
910945
911016
|
skipUpload,
|
|
910946
|
-
cliVersion: "5.
|
|
911017
|
+
cliVersion: "5.104.0",
|
|
910947
911018
|
loginCommand: "fern auth login"
|
|
910948
911019
|
});
|
|
910949
911020
|
if (taskContext.getResult() === TaskResult.Failure) {
|
|
@@ -978314,7 +978385,7 @@ function getAutomationContextFromEnv() {
|
|
|
978314
978385
|
config_branch: process.env.FERN_CONFIG_BRANCH,
|
|
978315
978386
|
config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
|
|
978316
978387
|
trigger: process.env.GITHUB_EVENT_NAME,
|
|
978317
|
-
cli_version: "5.
|
|
978388
|
+
cli_version: "5.104.0"
|
|
978318
978389
|
};
|
|
978319
978390
|
}
|
|
978320
978391
|
function isAutomationMode() {
|
|
@@ -979146,7 +979217,7 @@ var CliContext = class _CliContext {
|
|
|
979146
979217
|
if (false) {
|
|
979147
979218
|
this.logger.error("CLI_VERSION is not defined");
|
|
979148
979219
|
}
|
|
979149
|
-
return "5.
|
|
979220
|
+
return "5.104.0";
|
|
979150
979221
|
}
|
|
979151
979222
|
getCliName() {
|
|
979152
979223
|
if (false) {
|