Skip to content

Conversation

@YusukeHirao
Copy link
Member

Summary

  • Move breadcrumbs, navigation, title features from kamado/features to @kamado-io/page-compiler/features
  • Add transform options (transformBreadcrumbItem, transformNavNode) for customizing output
  • Change getBreadcrumbs from async to sync function
  • Deprecate kamado/features for removal in v2.0.0

Changes

Feature Migration

  • getBreadcrumbs, getNavTree, getTitleList, getTitle moved to @kamado-io/page-compiler/features
  • kamado/features now re-exports from @kamado-io/page-compiler with deprecation warnings

New Transform Options

  • transformBreadcrumbItem: Synchronous function to customize breadcrumb items
    • Remove page property from BreadcrumbItem (no longer needed for sync operation)
  • transformNavNode: Synchronous function to customize or filter navigation nodes
    • Return null/undefined to remove nodes from tree

Breaking Changes (scheduled for v2.0.0)

  • kamado/features will be removed in v2.0.0
  • Migration: Import from @kamado-io/page-compiler/features instead

Test Plan

  • ✅ All existing tests pass (97 tests)
  • ✅ New comprehensive test coverage for breadcrumbs and navigation features
  • ✅ Build successful
  • ✅ Lint passed

🤖 Generated with Claude Code

Mark getBreadcrumbs, getNavTree, titleList, getTitle, and

getTitleFromStaticFile as deprecated. These will be moved to

@kamado-io/page-compiler in the next major version.
Copy breadcrumbs, nav, title, and title-list modules to

page-compiler/src/features/ and import directly instead of

from kamado/features. This prepares for v2.0.0 where

kamado/features will be removed.
Add MILESTONE.md to track breaking changes for v2.0.0 including

the removal of kamado/features module. Update CHANGELOG.md with

deprecation notices for all affected functions.
…ion features

Add synchronous transformItem option to getBreadcrumbs for customizing breadcrumb items.

Add transformNode option to getNavTree for customizing or filtering navigation nodes.

Change getBreadcrumbs from async to sync function.

Remove page property from BreadcrumbItem (async access no longer needed).

Update PageCompilerOptions to expose transformBreadcrumbItem and transformNavNode.

Add comprehensive test coverage for both features.
…guide

Add documentation for transformBreadcrumbItem and transformNavNode options.

Update MILESTONE.md to reflect completed feature migration tasks.

Clarify that features are internal to @kamado-io/page-compiler and accessed via transform options.
@YusukeHirao YusukeHirao merged commit 7e9cb70 into main Jan 9, 2026
1 check passed
@YusukeHirao YusukeHirao deleted the feat/move-page-features branch January 9, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants