[pull] main from fern-api:main#686
Merged
Merged
Conversation
…nguages (#15481) * feat(cli): support BCP 47 locale tags in docs.yml translations and languages Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: use Omit to override language field type in ParsedDocsSettingsConfig Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: add ts-expect-error for BCP 47 Language type widening in DocsDefinitionResolver Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: revert generated SDK files and use string type directly for BCP 47 Language Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…et (#15485) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…DK (#15482) * chore(typescript): bump docs-yml generator to 3.66.1 and regenerate SDK Propagates the JsonError/ParseError minification-safe constructor fix (new.target.prototype + this.name) to the checked-in docs-yml SDK copy. Depends on fernapi/fern-typescript-sdk:3.66.1 being published first. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(typescript): add missing QueryStringBuilder.ts for docs-yml SDK Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(typescript): fix context7 type error in parseDocsConfiguration CjsFdrSdk.docs.v1.commons.IntegrationsConfig only has `intercom`; context7 is resolved separately as context7File so it must not be set on the SDK type. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…has no phantom deps (#15314) fix(generator-cli): bundle workspace deps for autoversion so dist/api.js has no phantom deps Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ormatting (#15489) Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
….yml (#15488) * feat(docs): support simplified string syntax for translations in docs.yml * feat(docs-validator): add @fern-api/configuration dependency * fix: update pnpm-lock.yaml and fix biome formatting Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * chore: regenerate docs-yml schema and SDK types Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: normalize TranslationConfig before destructuring in loadTranslationPages Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…5494) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…15389) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: barry.zou <barry.zou@buildwithfern.com>
… not exist (#15491) * fix(generator-cli): handle 422 from GitHub updateRef when branch does not exist GitHub's updateRef API returns HTTP 422 with 'Reference does not exist' when the target branch has not been created yet, but isNotFoundError() only checked for 404. The createRef fallback was therefore unreachable, breaking all first-generation and post-lockfile-reset flows that use signed commit push. * fix: revert premature catalog pin bump to 0.9.17 (not yet published) Co-Authored-By: tanmay.singh <tstanmay13@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…leProperties defaults with SDK generator (#15413) * fix: align dynamic snippets inlinePathParameters/inlineFileProperties defaults with SDK generator Co-Authored-By: ryanstep <ryanstep@umich.edu> * fix: add ?? true fallback for inlineFileProperties in getFileUploadRequestBodyObjectFields Co-Authored-By: ryanstep <ryanstep@umich.edu> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…lays (#15478) * feat(cli): support i18n overrides for navigation labels via YAML overlays Add support for translating navigation labels (tabs, products, versions, sections, pages, announcements) via YAML overlay files in translations/<lang>/fern/. The overlay files use the same format as write-translation output and are deep-merged over the source navigation configuration when building per-locale DocsDefinitions. Implementation: - Add TranslationNavigationOverlay types to ParsedDocsConfiguration - Add loadTranslationNavigationOverlays() to parseDocsConfiguration.ts - Add applyTranslatedNavigationOverlays() nav tree walker - Wire overlays into publishDocs.ts and both preview servers - Add unit tests for the nav tree overlay application Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: re-export TranslationNavigationOverlay from docs-resolver to avoid missing dependency in docs-preview Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: move import before exports to satisfy biome organizeImports Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: add slug field to TabOverlay for reliable tab matching in i18n overlays Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * style: fix biome formatting Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix: prevent mutation of base nav tree when applying tab overlays applyTabOverlayToNode was called directly on the original child node from the base definition's nav tree, mutating it in place. This caused the base (English) locale to show translated tab titles. Fixed by walking the node first (creating a new copy) before applying tab overlay mutations, consistent with how product and version overlays already work. Added unit test to verify the original root is not mutated. Co-Authored-By: Deep Singhvi <deep@buildwithfern.com> * fix(cli): address PR review feedback for i18n nav overlays - Fix path traversal security vulnerability: validate that resolved nav file paths don't escape the translations directory before loading - Fix positional matching bug: only use overlays without slugs for positional fallback to prevent incorrectly applying a slug-targeted overlay to the wrong sibling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(cli): address remaining i18n overlay edge cases - Fix multi-product tab/navigation collision: store tabs and navigation per-product in ProductOverlay instead of merging globally - Fix sidebarGroup handling: add handler for sidebarGroup parent type so top-level pages in sidebars get translated - Apply tab variant overlays: add applyVariantOverlays function to translate variant titles/subtitles - Remove dead code: remove unused displayName fallback in findTabNavOverlay that could never match (comparing translated vs source-language strings) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )