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

chore!: Update @elastic/eui and @emotion/react in Feast UI #4597

Merged
merged 2 commits into from
Oct 6, 2024

Commits on Oct 3, 2024

  1. chore!: Update @elastic/eui and @emotion/react to latest versions

    This version of @elastic/eui supports React 18. Good to update
    @emotion/react to the latest version at the same time.
    
    Other dependency changes:
    
    - @emotion/css is now a peer dependency of @elastic/eui, so we need to
      add it to our dependencies.
    
    - prop-types is no longer a peer dependency of @elastic/eui, so we can
      remove it from our dependencies.
    
    - typescript needed an upgrade for TypeScript compilation to work in
      the `build:lib` script; it failed due to a syntax error in
      @types/lodash (dependency of @elastic/eui). Unfortunately this
      typescript version isn't within the version range of @elastic/eui's
      peer dependencies, but that one seems overly strict, especially since
      this version seems to work. Unfortunately this also introduces a
      warning in the `yarn start` about the typescript version being newer
      than what ESLint support, but again, everything seems fine. And to be
      honest, I don't know what else to do, this has been quite a challenge
      to get somehow working. :D
    
    Code changes:
    
    - EuiLoadingContent has been replaced with EuiSkeletonText.
    
    - EuiPageContent and EuiPageContentBody have been replaced with
      EuiPageTemplate, EuiPageTemplate.Header and EuiPageTemplate.Section.
    
    - EuiSideNav no longer takes a style prop, so it is dropped; the width
      seems fine without it.
    
    - EuiBasicTable now requires the field prop in its columns, and only
      takes objects in its items.
    
    - The `panelled` prop has been moved from Layout's EuiPageBody to each
      page's EuiPageTemplate, so that the page template's header gets the
      wanted background color.
    
    - The `sticky` prop passed to Layout's EuiPageSidebar needs to be an
      object with an offset, otherwise the offset is read from
      --euiFixedHeadersOffset that is unset if there is no fixed EuiHeader
      on the page.
    
    - Icons: Static class names no longer work for proper styling, we need
      to pass at least the className prop to the svg element. Passing all
      props allows possible other props to work too. Also, we no longer need
      separate components for differently sized icons (16, 32).
    
    - Some overview tab contents are wrapped in an additional EuiFlexGroup
      to add gaps between sections; they previously appeared through some
      component margins but not anymore.
    
    - Jest failed to parse chroma-js sources, probably something to do with
      it being an ES module (its support in Jest is limited:
      https://jest-archive-august-2023.netlify.app/docs/27.x/ecmascript-modules),
      so we use the build version of chroma-js with Jest, similarly to d3.
    
    BREAKING CHANGE: Consuming apps that use @elastic/eui should update it
    to a compatible version. If you use @elastic/eui components that have
    been renamed or replaced with others, you'll need to update your code
    accordingly.
    
    Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
    peruukki committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    76c77e1 View commit details
    Browse the repository at this point in the history
  2. chore: Update Node version from 17 to 20 in UI unit tests

    Node 17 is not an LTS (long-term support) version and apparently
    rejected by the latest versions of Elastic UI:
    
    > error @elastic/eui@95.12.0: The engine "node" is incompatible with
    > this module. Expected version "16.x || 18.x || >=20.x". Got "17.9.1"
    
    Let's try with the latest LTS version.
    
    Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
    peruukki committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    1548968 View commit details
    Browse the repository at this point in the history