Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌱 Setup branding to be configurable during the build (#1664, #1742) #1738

Merged
merged 3 commits into from
Mar 15, 2024

Commits on Mar 14, 2024

  1. 🌱 Setup branding to be configurable during the build (#1664)

    ## Summary
    Refactor and enhance branding capabilities. Now branding is included
    from a single directory that contains at least `strings.json`,
    `manifest.json`, and `favicon.ico`. Any other assets may be placed in
    the directory and will be copied to the bundled app.
    
    Running the build as normal should show no difference.
    
    Running the build with `BRANDING=./some-other-brand npm run start:dev`
    will try to use a branding from the specified directory (that is relative to the
    project's source root).
    
    See `BRANDING.md` for more details.
    
    Resolves: #1682
    
    ## Details
    Branding changes:
      - Move Konveyor branding assets to a project top-level branding directory
    
      - Remove MTA branding assets
    
      - Remove profile/branding constants from `env` and client module
    
      - Embed branding strings and assets in the common module
        - `strings.json` is templated to allow the build to adjust asset
          URL path roots as necessary
        - `brandingAssetPath()`
    
      - server's index.html generation sources the template strings from the
        common module's branding strings
    
      - `HeaderApp` and `AppAboutModal` components support branding by using
        the `useBranding` hook
    
      - `BRANDING` as a relative path is computed from the project root
    
      - webpack build source branding assets directly from the common module
    
      - Unit tests, snapshots and jest configs updated as necessary
    
    Jest changes:
      - Use `react-i18next` mock from `client/__mocks__` as a more robust mock
        borrowed from react-i18n repos
    
      - Move `setupTests.ts` into `client/src/app/test-config` to keep jest
        test config code all in the same directory
    
    Related changes:
      - Upgrade rollup to v4, add new rollup plugins (copy, virtual)
    
    ---------
    
    Signed-off-by: Scott J Dickerson <[email protected]>
    Co-authored-by: Ian Bolton <[email protected]>
    Signed-off-by: Cherry Picker <[email protected]>
    sjd78 and ibolton336 committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    5f72efa View commit details
    Browse the repository at this point in the history
  2. 🌱 Downgrade to rollup v3 for multiarch builds (#1742)

    Following up on PRs #1664 and #1739, downgrade to `rollup@^3.0`. The v4
    of rollup has "native" code that runs the build, and that code does not
    currently work with s390 builds [1]. Since konveyor is built for x86,
    arm, ppc, and s390, all of those need to work.
    
    When the s390 builds can work with the wasm bits, we can upgrade to
    `rollup@^4.0` again.
    
    [1] - rollup/rollup#5354
    
    Signed-off-by: Scott J Dickerson <[email protected]>
    sjd78 committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    8ca2ef2 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2024

  1. Configuration menu
    Copy the full SHA
    049705d View commit details
    Browse the repository at this point in the history