Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-123157

Export frontend-js-web as a Federated Module

    Details

    • Type: Task
    • Status: Closed
    • Priority: Minor
    • Resolution: Completed
    • Affects Version/s: None
    • Fix Version/s: Master
    • Labels:
      None

      Description

      In our path to a more robust, efficient and straightforward way to bundle my applications, we want to leverage Webpack 5 as much as we can for our new build infrastructure.

      Based on Analyze Webpack 5 Features and Bundler Parity, our best bet based on DXP's portlet-based architecture is to rely on Module Federation.

      The goal of this task is to provide a federated module from frontend-js-web so future modules can consume it.

      Acceptance Criteria

      • The frontend-js-web module generates a federated module based on the index.es.js file that exposes the API that can be consumed by a sample app.
      • The end result should be backwards compatible and all existing usages of the API via bundler2 should continue to be functional

      Additional Considerations

      • The module already builds a global.es.js bundle using webpack and it should continue to do so since it's used globally
      • The build should generate an additional federated module to replace current usages of loader and bundler2
      • The module has a watch mode that should remain functional

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ivan.zaera Ivan Zaera
              Reporter:
              jose.balsas Chema Balsas
              Engineering Assignee:
              Ivan Zaera
              Recent user:
              Rodrigo Cunha
              Participants of an Issue:
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Packages

                  Version Package
                  Master