Skip to content

Conversation

caponetto
Copy link

@caponetto caponetto commented Aug 29, 2025

related: #348

This pull request introduces several enhancements to the frontend workspace, focusing on enabling module federation, improving test configuration and reliability, and updating environment and dependency management. The changes modernize the build setup, enhance testability, and streamline the handling of shared modules and assets. These changes are heavily based on Model Registry frontend code so that both repositories are aligned.

Module Federation & Build System Updates:

  • Added module federation support using @module-federation/enhanced, including a new moduleFederation.js config and integration into the webpack build process. This enables sharing and exposing modules across different applications.

Dependency and Asset Management:

  • Updated package.json to include new dependencies: @module-federation/enhanced, mod-arch-core, mod-arch-kubeflow, and mod-arch-shared.
  • Improved webpack and Cypress configs to correctly resolve and process assets (like SVGs) and styles from mod-arch-shared and related packages.

Testing Improvements:

  • Refactored Cypress test utilities by introducing a reusable NavBar page object for namespace selection, and updated tests to use this abstraction for better maintainability.
  • Removed outdated namespace selector tests and updated intercepts and assertions to align with API and UI changes.

Environment and Configuration Updates:

  • Updated environment files to add new variables (such as IS_PROJECT_ROOT_DIR, PORT, MANDATORY_NAMESPACE, etc.) and adjust URL prefixes for local development and testing.

Jest Configuration:

  • Expanded transformIgnorePatterns in jest.config.js to support new shared modules, ensuring they are properly transpiled during tests.

These changes collectively improve the modularity, scalability, and testability of the frontend workspace, preparing it for more robust integration with other modules and future development.

Preview on KF Central Dashboard

Screen.Recording.2025-08-28.at.1.30.01.PM.mov

@github-project-automation github-project-automation bot moved this to Needs Triage in Kubeflow Notebooks Aug 29, 2025
@google-oss-prow google-oss-prow bot added the area/frontend area - related to frontend components label Aug 29, 2025
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign ederign for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@lucferbux
Copy link

wow this is amazing, great job here @caponetto I'll take a look later today in case there's any feedback from monarch, but overall seems great, thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/frontend area - related to frontend components area/v2 area - version - kubeflow notebooks v2 size/XXL
Projects
Status: Needs Triage
Development

Successfully merging this pull request may close these issues.

2 participants