@fern-api/fern-api-dev 5.98.2 → 5.98.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.cjs +82 -38
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -453619,13 +453619,16 @@ var init_micromark_extension_mdxjs = __esm({
453619
453619
  });
453620
453620
 
453621
453621
  // ../docs-markdown-utils/lib/parseMarkdownToTree.js
453622
- function parseMarkdownToTree(markdown) {
453623
- const { content: content5 } = (0, import_gray_matter2.default)(markdown);
453624
- return fromMarkdown(content5, {
453622
+ function parseMarkdownBodyToTree(body) {
453623
+ return fromMarkdown(body, {
453625
453624
  extensions: [mdxjs(), gfm(), math()],
453626
453625
  mdastExtensions: [mdxFromMarkdown(), gfmFromMarkdown(), mathFromMarkdown()]
453627
453626
  });
453628
453627
  }
453628
+ function parseMarkdownToTree(markdown) {
453629
+ const { content: content5 } = (0, import_gray_matter2.default)(markdown);
453630
+ return parseMarkdownBodyToTree(content5);
453631
+ }
453629
453632
  var import_gray_matter2;
453630
453633
  var init_parseMarkdownToTree = __esm({
453631
453634
  "../docs-markdown-utils/lib/parseMarkdownToTree.js"() {
@@ -455055,10 +455058,39 @@ var init_stripMdxComments = __esm({
455055
455058
  });
455056
455059
 
455057
455060
  // ../docs-markdown-utils/lib/transformAtPrefixImports.js
455058
- function transformAtPrefixImports({ markdown, absolutePathToFernFolder, absolutePathToMarkdownFile }) {
455059
- const importRegex = /(import\s+(?:(?:\{[^}]*\}|\*\s+as\s+\w+|\w+)\s+from\s+)?['"])@\/([^'"]+)(['"])/g;
455061
+ function getCodeRanges(markdown, context3) {
455062
+ try {
455063
+ const { content: content5 } = (0, import_gray_matter5.default)(markdown);
455064
+ if (!markdown.endsWith(content5)) {
455065
+ return void 0;
455066
+ }
455067
+ const bodyOffset = markdown.length - content5.length;
455068
+ const tree = parseMarkdownBodyToTree(content5);
455069
+ const ranges = [];
455070
+ visit3(tree, ["code", "inlineCode"], (node4) => {
455071
+ const start2 = node4.position?.start.offset;
455072
+ const end = node4.position?.end.offset;
455073
+ if (start2 != null && end != null) {
455074
+ ranges.push({ start: start2 + bodyOffset, end: end + bodyOffset });
455075
+ }
455076
+ return CONTINUE;
455077
+ });
455078
+ return ranges;
455079
+ } catch (error50) {
455080
+ context3?.logger.debug(`Failed to locate code blocks while resolving "@/" imports; imports inside code samples may be rewritten: ${error50 instanceof Error ? error50.message : String(error50)}`);
455081
+ return void 0;
455082
+ }
455083
+ }
455084
+ function transformAtPrefixImports({ markdown, absolutePathToFernFolder, absolutePathToMarkdownFile, context: context3 }) {
455085
+ if (!markdown.includes("@/")) {
455086
+ return markdown;
455087
+ }
455060
455088
  const mdxDir = dirname6(absolutePathToMarkdownFile);
455061
- return markdown.replace(importRegex, (match3, prefix2, importPath, suffix) => {
455089
+ const codeRanges = getCodeRanges(markdown, context3);
455090
+ return markdown.replace(IMPORT_REGEX, (match3, prefix2, importPath, suffix, offset2) => {
455091
+ if (codeRanges?.some((range2) => offset2 >= range2.start && offset2 < range2.end)) {
455092
+ return match3;
455093
+ }
455062
455094
  const absoluteImportPath = AbsoluteFilePath2.of(`${absolutePathToFernFolder}/${importPath}`);
455063
455095
  let relativePath = relative4(mdxDir, absoluteImportPath);
455064
455096
  if (!relativePath.startsWith(".") && !relativePath.startsWith("/")) {
@@ -455067,10 +455099,15 @@ function transformAtPrefixImports({ markdown, absolutePathToFernFolder, absolute
455067
455099
  return `${prefix2}${relativePath}${suffix}`;
455068
455100
  });
455069
455101
  }
455102
+ var import_gray_matter5, IMPORT_REGEX;
455070
455103
  var init_transformAtPrefixImports = __esm({
455071
455104
  "../docs-markdown-utils/lib/transformAtPrefixImports.js"() {
455072
455105
  "use strict";
455073
455106
  init_lib8();
455107
+ import_gray_matter5 = __toESM(require_gray_matter(), 1);
455108
+ init_unist_util_visit();
455109
+ init_parseMarkdownToTree();
455110
+ IMPORT_REGEX = /(import\s+(?:(?:\{[^}]*\}|\*\s+as\s+\w+|\w+)\s+from\s+)?['"])@\/([^'"]+)(['"])/g;
455074
455111
  }
455075
455112
  });
455076
455113
 
@@ -455088,6 +455125,7 @@ __export(lib_exports10, {
455088
455125
  isMdxJsxExpressionAttribute: () => isMdxJsxExpressionAttribute,
455089
455126
  isValidRelativeSlug: () => isValidRelativeSlug,
455090
455127
  parseImagePaths: () => parseImagePaths,
455128
+ parseMarkdownBodyToTree: () => parseMarkdownBodyToTree,
455091
455129
  parseMarkdownToTree: () => parseMarkdownToTree,
455092
455130
  prefetchCodeSrcUrls: () => prefetchCodeSrcUrls,
455093
455131
  replaceImagePathsAndUrls: () => replaceImagePathsAndUrls,
@@ -455351,7 +455389,7 @@ var init_applyTranslatedApiTitlesToNavTree = __esm({
455351
455389
  // ../docs-resolver/lib/applyTranslatedFrontmatterToNavTree.js
455352
455390
  function parseFrontmatterOverrides(markdown) {
455353
455391
  try {
455354
- const { data: data2 } = (0, import_gray_matter5.default)(markdown);
455392
+ const { data: data2 } = (0, import_gray_matter6.default)(markdown);
455355
455393
  const result = {};
455356
455394
  const sidebarTitle = data2["sidebar-title"];
455357
455395
  if (typeof sidebarTitle === "string" && sidebarTitle.trim().length > 0) {
@@ -455409,11 +455447,11 @@ function walkNode(node4, overrides) {
455409
455447
  }
455410
455448
  return updated;
455411
455449
  }
455412
- var import_gray_matter5;
455450
+ var import_gray_matter6;
455413
455451
  var init_applyTranslatedFrontmatterToNavTree = __esm({
455414
455452
  "../docs-resolver/lib/applyTranslatedFrontmatterToNavTree.js"() {
455415
455453
  "use strict";
455416
- import_gray_matter5 = __toESM(require_gray_matter(), 1);
455454
+ import_gray_matter6 = __toESM(require_gray_matter(), 1);
455417
455455
  }
455418
455456
  });
455419
455457
 
@@ -472316,7 +472354,7 @@ function convertAvailability5(availability) {
472316
472354
  assertNever(availability);
472317
472355
  }
472318
472356
  }
472319
- var import_dayjs3, import_utc3, import_fs26, import_promises80, import_gray_matter6, defaultUploadFiles, apiCounter, defaultRegisterApi, DocsDefinitionResolver;
472357
+ var import_dayjs3, import_utc3, import_fs26, import_promises80, import_gray_matter7, defaultUploadFiles, apiCounter, defaultRegisterApi, DocsDefinitionResolver;
472320
472358
  var init_DocsDefinitionResolver = __esm({
472321
472359
  "../docs-resolver/lib/DocsDefinitionResolver.js"() {
472322
472360
  "use strict";
@@ -472336,7 +472374,7 @@ var init_DocsDefinitionResolver = __esm({
472336
472374
  import_utc3 = __toESM(require_utc(), 1);
472337
472375
  import_fs26 = require("fs");
472338
472376
  import_promises80 = require("fs/promises");
472339
- import_gray_matter6 = __toESM(require_gray_matter(), 1);
472377
+ import_gray_matter7 = __toESM(require_gray_matter(), 1);
472340
472378
  init_js_yaml();
472341
472379
  init_lodash();
472342
472380
  init_ApiReferenceNodeConverter();
@@ -472645,7 +472683,8 @@ var init_DocsDefinitionResolver = __esm({
472645
472683
  const newMarkdown = transformAtPrefixImports({
472646
472684
  markdown: codeReplacedMarkdown,
472647
472685
  absolutePathToFernFolder: this.docsWorkspace.absoluteFilePath,
472648
- absolutePathToMarkdownFile: this.resolveFilepath(relativePath)
472686
+ absolutePathToMarkdownFile: this.resolveFilepath(relativePath),
472687
+ context: this.taskContext
472649
472688
  });
472650
472689
  this.parsedDocsConfig.pages[RelativeFilePath2.of(relativePath)] = newMarkdown;
472651
472690
  }
@@ -472849,7 +472888,7 @@ var init_DocsDefinitionResolver = __esm({
472849
472888
  */
472850
472889
  extractAllFrontmatterData(pages) {
472851
472890
  for (const [relativePath, markdown] of Object.entries(pages)) {
472852
- const frontmatter = (0, import_gray_matter6.default)(markdown);
472891
+ const frontmatter = (0, import_gray_matter7.default)(markdown);
472853
472892
  const absolutePath = this.resolveFilepath(relativePath);
472854
472893
  const slug = frontmatter.data.slug;
472855
472894
  if (typeof slug === "string" && slug.trim().length > 0) {
@@ -603506,7 +603545,8 @@ async function buildTranslatedDocsDefinition({ docsDefinition, locale, localePag
603506
603545
  const importsResolved = transformAtPrefixImports({
603507
603546
  markdown: codeResolved,
603508
603547
  absolutePathToFernFolder: docsWorkspacePath,
603509
- absolutePathToMarkdownFile
603548
+ absolutePathToMarkdownFile,
603549
+ context: context3
603510
603550
  });
603511
603551
  let processedMarkdown = stripMdxComments(importsResolved);
603512
603552
  processedMarkdown = replaceImagePathsAndUrls(processedMarkdown, collectedFileIds, markdownFilesToPathName, {
@@ -702844,7 +702884,7 @@ var AccessTokenPosthogManager = class {
702844
702884
  properties: {
702845
702885
  ...event,
702846
702886
  ...event.properties,
702847
- version: "5.98.2",
702887
+ version: "5.98.3",
702848
702888
  usingAccessToken: true,
702849
702889
  ...getRunIdProperties()
702850
702890
  }
@@ -702910,7 +702950,7 @@ var UserPosthogManager = class {
702910
702950
  distinctId: this.userId ?? await this.getPersistedDistinctId(),
702911
702951
  event: "CLI",
702912
702952
  properties: {
702913
- version: "5.98.2",
702953
+ version: "5.98.3",
702914
702954
  ...event,
702915
702955
  ...event.properties,
702916
702956
  usingAccessToken: false,
@@ -861490,7 +861530,7 @@ var getViolationsForFile = async (absoluteFilepath) => {
861490
861530
 
861491
861531
  // ../yaml/docs-validator/lib/rules/valid-frontmatter/valid-frontmatter.js
861492
861532
  var import_promises88 = require("fs/promises");
861493
- var import_gray_matter7 = __toESM(require_gray_matter(), 1);
861533
+ var import_gray_matter8 = __toESM(require_gray_matter(), 1);
861494
861534
  var ValidFrontmatter = {
861495
861535
  name: "valid-frontmatter",
861496
861536
  create: () => {
@@ -861501,7 +861541,7 @@ var ValidFrontmatter = {
861501
861541
  }
861502
861542
  try {
861503
861543
  const fileContents = await (0, import_promises88.readFile)(absoluteFilepath, "utf-8");
861504
- (0, import_gray_matter7.default)(fileContents);
861544
+ (0, import_gray_matter8.default)(fileContents);
861505
861545
  return [];
861506
861546
  } catch (error50) {
861507
861547
  return [
@@ -878530,7 +878570,7 @@ async function parseMarkdown({ markdown, absoluteFilepath, absolutePathToFernFol
878530
878570
  init_lib64();
878531
878571
  init_lib8();
878532
878572
  var import_promises89 = require("fs/promises");
878533
- var import_gray_matter8 = __toESM(require_gray_matter(), 1);
878573
+ var import_gray_matter9 = __toESM(require_gray_matter(), 1);
878534
878574
  init_unist_util_visit();
878535
878575
  var ValidMarkdownFileReferences = {
878536
878576
  name: "valid-markdown-file-references",
@@ -878542,7 +878582,7 @@ var ValidMarkdownFileReferences = {
878542
878582
  }
878543
878583
  try {
878544
878584
  const fileContents = await (0, import_promises89.readFile)(absoluteFilepath, "utf-8");
878545
- const { content: content5 } = (0, import_gray_matter8.default)(fileContents, {});
878585
+ const { content: content5 } = (0, import_gray_matter9.default)(fileContents, {});
878546
878586
  const tree = parseMarkdownToTree(content5);
878547
878587
  const errors4 = [];
878548
878588
  visit3(tree, (node4) => {
@@ -879651,7 +879691,7 @@ var ValidTranslationsConfigRule = {
879651
879691
  // ../yaml/docs-validator/lib/rules/valid-well-known-skills/valid-well-known-skills.js
879652
879692
  init_lib8();
879653
879693
  var import_promises91 = require("fs/promises");
879654
- var import_gray_matter9 = __toESM(require_gray_matter(), 1);
879694
+ var import_gray_matter10 = __toESM(require_gray_matter(), 1);
879655
879695
  var ValidWellKnownSkillsRule = {
879656
879696
  name: "valid-well-known-skills",
879657
879697
  create: ({ workspace }) => {
@@ -879721,7 +879761,7 @@ async function validateWellKnownSkillsDirectory({ absolutePathToFernFolder, well
879721
879761
  function validateSkillMarkdown({ skillDirectoryName, skillMarkdownRelativePath, skillMarkdownContents }) {
879722
879762
  let frontmatter;
879723
879763
  try {
879724
- frontmatter = (0, import_gray_matter9.default)(skillMarkdownContents).data;
879764
+ frontmatter = (0, import_gray_matter10.default)(skillMarkdownContents).data;
879725
879765
  } catch (error50) {
879726
879766
  return [
879727
879767
  {
@@ -884291,7 +884331,7 @@ var LOCAL_STORAGE_FOLDER4 = ".fern-dev";
884291
884331
  var LOGS_FOLDER_NAME = "logs";
884292
884332
  var MAX_LOGS_DIR_SIZE_BYTES = 100 * 1024 * 1024;
884293
884333
  function getCliSource() {
884294
- const version7 = "5.98.2";
884334
+ const version7 = "5.98.3";
884295
884335
  return `cli@${version7}`;
884296
884336
  }
884297
884337
  var DebugLogger = class {
@@ -886994,14 +887034,14 @@ init_lib22();
886994
887034
  init_lib68();
886995
887035
  init_lib6();
886996
887036
  var import_promises105 = require("fs/promises");
886997
- var import_gray_matter10 = __toESM(require_gray_matter(), 1);
887037
+ var import_gray_matter11 = __toESM(require_gray_matter(), 1);
886998
887038
  init_dist_node6();
886999
887039
  var frontmatterPositionCache = /* @__PURE__ */ new Map();
887000
887040
  var frontmatterSidebarTitleCache = /* @__PURE__ */ new Map();
887001
887041
  var frontmatterSlugCache = /* @__PURE__ */ new Map();
887002
887042
  function extractFrontmatterPosition(markdown) {
887003
887043
  try {
887004
- const { data: data2 } = (0, import_gray_matter10.default)(markdown);
887044
+ const { data: data2 } = (0, import_gray_matter11.default)(markdown);
887005
887045
  if (data2.position == null) {
887006
887046
  return void 0;
887007
887047
  }
@@ -887016,7 +887056,7 @@ function extractFrontmatterPosition(markdown) {
887016
887056
  }
887017
887057
  function extractFrontmatterSidebarTitle(markdown) {
887018
887058
  try {
887019
- const { data: data2 } = (0, import_gray_matter10.default)(markdown);
887059
+ const { data: data2 } = (0, import_gray_matter11.default)(markdown);
887020
887060
  if (data2["sidebar-title"] == null) {
887021
887061
  return void 0;
887022
887062
  }
@@ -887031,7 +887071,7 @@ function extractFrontmatterSidebarTitle(markdown) {
887031
887071
  }
887032
887072
  function extractFrontmatterSlug(markdown) {
887033
887073
  try {
887034
- const { data: data2 } = (0, import_gray_matter10.default)(markdown);
887074
+ const { data: data2 } = (0, import_gray_matter11.default)(markdown);
887035
887075
  if (data2.slug == null) {
887036
887076
  return void 0;
887037
887077
  }
@@ -887105,7 +887145,8 @@ async function getPreviewDocsDefinition({ domain: domain3, project, context: con
887105
887145
  const markdownReplacedMdAndCode = transformAtPrefixImports({
887106
887146
  markdown: markdownReplacedCode,
887107
887147
  absolutePathToFernFolder: docsWorkspace.absoluteFilePath,
887108
- absolutePathToMarkdownFile: absoluteFilePath
887148
+ absolutePathToMarkdownFile: absoluteFilePath,
887149
+ context: context3
887109
887150
  });
887110
887151
  let markdownWithAbsPaths;
887111
887152
  let filepaths;
@@ -888038,7 +888079,8 @@ async function runAppPreviewServer({ initialProject, reloadProject, validateProj
888038
888079
  const importsResolved = transformAtPrefixImports({
888039
888080
  markdown: codeResolved,
888040
888081
  absolutePathToFernFolder: docsWorkspacePath,
888041
- absolutePathToMarkdownFile
888082
+ absolutePathToMarkdownFile,
888083
+ context: context3
888042
888084
  });
888043
888085
  let processedMarkdown = stripMdxComments(importsResolved);
888044
888086
  processedMarkdown = replaceImagePathsAndUrls(processedMarkdown, collectedFileIds, markdownFilesToPathName, {
@@ -888667,7 +888709,8 @@ async function runPreviewServer({ initialProject, reloadProject, validateProject
888667
888709
  const importsResolved = transformAtPrefixImports({
888668
888710
  markdown: codeResolved,
888669
888711
  absolutePathToFernFolder: docsWorkspacePath,
888670
- absolutePathToMarkdownFile
888712
+ absolutePathToMarkdownFile,
888713
+ context: context3
888671
888714
  });
888672
888715
  let processedMarkdown = stripMdxComments(importsResolved);
888673
888716
  processedMarkdown = replaceImagePathsAndUrls(processedMarkdown, collectedFileIds, markdownFilesToPathName, {
@@ -908793,7 +908836,8 @@ ${JSON.stringify(errorDetails, void 0, 2)}`);
908793
908836
  const importsResolved = transformAtPrefixImports({
908794
908837
  markdown: codeResolved,
908795
908838
  absolutePathToFernFolder: docsWorkspacePath,
908796
- absolutePathToMarkdownFile
908839
+ absolutePathToMarkdownFile,
908840
+ context: context3
908797
908841
  });
908798
908842
  let processedMarkdown = stripMdxComments(importsResolved);
908799
908843
  processedMarkdown = replaceImagePathsAndUrls(processedMarkdown, collectedFileIds, markdownFilesToPathName, {
@@ -909607,7 +909651,7 @@ var LegacyDocsPublisher = class {
909607
909651
  previewId,
909608
909652
  disableTemplates: void 0,
909609
909653
  skipUpload,
909610
- cliVersion: "5.98.2",
909654
+ cliVersion: "5.98.3",
909611
909655
  loginCommand: "fern auth login"
909612
909656
  });
909613
909657
  if (taskContext.getResult() === TaskResult.Failure) {
@@ -968934,7 +968978,7 @@ init_lib8();
968934
968978
  // ../docs-importers/mintlify/lib/convertMarkdown.js
968935
968979
  init_lib8();
968936
968980
  var import_promises156 = require("fs/promises");
968937
- var import_gray_matter11 = __toESM(require_gray_matter(), 1);
968981
+ var import_gray_matter12 = __toESM(require_gray_matter(), 1);
968938
968982
  async function convertMarkdown({ absolutePathToMintJson, absoluteFilepathToMarkdown, relativeFilepathFromRoot, builder }) {
968939
968983
  const text9 = await (0, import_promises156.readFile)(absoluteFilepathToMarkdown, "utf-8");
968940
968984
  const { data: data2, content: content5 } = parseMintlifyFrontmatter(text9);
@@ -968999,7 +969043,7 @@ async function convertMarkdown({ absolutePathToMintJson, absoluteFilepathToMarkd
968999
969043
  };
969000
969044
  }
969001
969045
  function parseMintlifyFrontmatter(mdContent) {
969002
- const { data: data2, content: content5 } = (0, import_gray_matter11.default)(mdContent);
969046
+ const { data: data2, content: content5 } = (0, import_gray_matter12.default)(mdContent);
969003
969047
  return { data: data2, content: content5 };
969004
969048
  }
969005
969049
  function isExternalUrl3(url3) {
@@ -976840,7 +976884,7 @@ function getAutomationContextFromEnv() {
976840
976884
  config_branch: process.env.FERN_CONFIG_BRANCH,
976841
976885
  config_pr_number: process.env.FERN_CONFIG_PR_NUMBER,
976842
976886
  trigger: process.env.GITHUB_EVENT_NAME,
976843
- cli_version: "5.98.2"
976887
+ cli_version: "5.98.3"
976844
976888
  };
976845
976889
  }
976846
976890
  function isAutomationMode() {
@@ -977672,7 +977716,7 @@ var CliContext = class _CliContext {
977672
977716
  if (false) {
977673
977717
  this.logger.error("CLI_VERSION is not defined");
977674
977718
  }
977675
- return "5.98.2";
977719
+ return "5.98.3";
977676
977720
  }
977677
977721
  getCliName() {
977678
977722
  if (false) {
@@ -993226,7 +993270,7 @@ init_lib20();
993226
993270
  init_lib64();
993227
993271
  init_source();
993228
993272
  var import_fs44 = require("fs");
993229
- var import_gray_matter12 = __toESM(require_gray_matter(), 1);
993273
+ var import_gray_matter13 = __toESM(require_gray_matter(), 1);
993230
993274
  var import_path123 = __toESM(require("path"), 1);
993231
993275
  function calculateVisualColumn(text9, charIndex, tabWidth = 4) {
993232
993276
  let visualColumn = 0;
@@ -993305,7 +993349,7 @@ async function validateMdxFiles({
993305
993349
  try {
993306
993350
  parseMarkdownToTree(content5);
993307
993351
  } catch (error50) {
993308
- const { content: contentWithoutFrontmatter } = (0, import_gray_matter12.default)(content5);
993352
+ const { content: contentWithoutFrontmatter } = (0, import_gray_matter13.default)(content5);
993309
993353
  const totalLines = content5.split("\n").length;
993310
993354
  const contentLines = contentWithoutFrontmatter.split("\n").length;
993311
993355
  const frontmatterLineCount = totalLines - contentLines;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.98.2",
2
+ "version": "5.98.3",
3
3
  "repository": {
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/fern-api/fern.git",