Skip to content

chore: update findable-ui to latest (#207)#208

Open
frano-m wants to merge 3 commits intomainfrom
fran/207-findable
Open

chore: update findable-ui to latest (#207)#208
frano-m wants to merge 3 commits intomainfrom
fran/207-findable

Conversation

@frano-m
Copy link
Copy Markdown
Collaborator

@frano-m frano-m commented Feb 2, 2026

Closes #207.

This pull request updates the project to use Node.js version 22.12.0 and upgrades several dependencies to their latest major versions. It also simplifies the Next.js configuration, removes unused code, and ensures compatibility with React 19. Additionally, minor TypeScript improvements were made across several files.

Platform and Dependency Upgrades

  • Updated Node.js version requirement to 22.12.0 in README.md, workflow files, shell scripts, and package.json, ensuring consistency across documentation and build processes. [1] [2] [3] [4] [5] [6]
  • Upgraded major dependencies in package.json, including @databiosphere/findable-ui, @mui/material, next, and react to their latest versions, and added/updated several related packages for compatibility with React 19 and Next.js 15.

Configuration Simplification

  • Simplified next.config.mjs by removing complex webpack alias logic and ESM transpilation, now only transpiling @databiosphere/findable-ui.

Codebase Maintenance

  • Removed a disabled Playwright test for the Alignments tab in e2e/hprc-sort.spec.ts, cleaning up unused code.
  • Added next-env.d.ts to .eslintignore to prevent linting of generated TypeScript environment definitions.

TypeScript Compatibility

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the project to Node.js 22.12.0 and updates major dependencies including React 19, Next.js 15, and the @databiosphere/findable-ui library. The changes simplify the Next.js configuration by removing complex webpack aliases and ESM package handling, while adding explicit JSX imports for React 19 compatibility.

Changes:

  • Updated Node.js from 20.10.0 to 22.12.0 across all configuration files and documentation
  • Upgraded React from 18 to 19, Next.js from 14 to 15, and numerous other dependencies to their latest major versions
  • Simplified Next.js configuration by removing webpack aliases and reducing transpiled packages to only @databiosphere/findable-ui
  • Added explicit JSX imports from React in TypeScript files for React 19 type system compatibility
  • Added jest.config.js and cleaned up test files

Reviewed changes

Copilot reviewed 16 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Major dependency upgrades including React 19, Next.js 15, and related packages; Node.js version updated to 22.12.0
next.config.mjs Simplified configuration by removing webpack aliases and ESM package list, now only transpiling findable-ui
pages/index.tsx Added JSX import from React for React 19 compatibility
pages/_document.tsx Added JSX import from React for React 19 compatibility
pages/_app.tsx Added JSX import from React for React 19 compatibility
pages/[entityListType]/index.tsx Added JSX import from React for React 19 compatibility
app/components/Table/components/TableCell/components/TypographyNoWrap/typographyNoWrap.tsx Added JSX import and reformatted interface definition
app/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenuItems/components/LabelIconMenuItem/labelIconMenuItem.tsx Added JSX import alongside existing ElementType import
app/components/Index/components/FileDownload/fileDownload.tsx Added JSX import alongside existing useRef import
jest.config.js Added Jest configuration file with jsdom test environment
e2e/hprc-sort.spec.ts Removed commented-out disabled test for Alignments tab
next-env.d.ts Updated with Next.js 15 generated references and documentation URL
README.md Updated Node.js version requirement from 20.10.0 to 22.12.0
.eslintignore Added next-env.d.ts to prevent linting of generated file
.gitignore Added .claude/rules* to ignored files
cgl-data.humanpangenome.org Updated Node.js version in build script from 20.10.0 to 22.12.0
cc-data.humanpangenome.dev.clevercanary.com Updated Node.js version in build script from 20.10.0 to 22.12.0
.github/workflows/run-playwright-tests.yml Updated Node.js version in workflow from 20.10.0 to 22.12.0
.github/workflows/run-checks.yml Updated Node.js version in workflow from 20.10.0 to 22.12.0

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

frano-m and others added 2 commits April 2, 2026 15:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 20 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 20 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -1,5 +1,6 @@
import { Redirect } from "@databiosphere/findable-ui/lib/components/Redirect/redirect";
import { useConfig } from "@databiosphere/findable-ui/lib/hooks/useConfig";
import { JSX } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSX is only used as a type here. Prefer a type-only import (import type { JSX } from "react";) to avoid emitting an unnecessary runtime named import and to stay compatible with TS/SWC transpilation.

Suggested change
import { JSX } from "react";
import type { JSX } from "react";

Copilot uses AI. Check for mistakes.
import fsp from "fs/promises";
import { GetStaticPaths, GetStaticProps, GetStaticPropsContext } from "next";
import { ParsedUrlQuery } from "querystring";
import { JSX } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSX is only used in type positions. Use a type-only import (import type { JSX } from "react";) so the transpiler doesn’t treat it as a runtime named import.

Suggested change
import { JSX } from "react";
import type { JSX } from "react";

Copilot uses AI. Check for mistakes.
@@ -1,4 +1,5 @@
import Document, { Head, Html, Main, NextScript } from "next/document";
import { JSX } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSX is only referenced as a return type. Use import type { JSX } from "react"; (or React.JSX.Element) to ensure no runtime named import is generated.

Suggested change
import { JSX } from "react";
import type { JSX } from "react";

Copilot uses AI. Check for mistakes.
@@ -1,5 +1,6 @@
import "@databiosphere/findable-ui";
import { AzulEntitiesStaticResponse } from "@databiosphere/findable-ui/lib/apis/azul/common/entities";
import { JSX } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSX is only used as a type annotation. Prefer import type { JSX } from "react"; to avoid a runtime named import and keep type/value imports clearly separated.

Suggested change
import { JSX } from "react";
import type { JSX } from "react";

Copilot uses AI. Check for mistakes.
Typography as MTypography,
TypographyProps as MTypographyProps,
} from "@mui/material";
import { JSX } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSX is only used as a return type here. Use a type-only import (import type { JSX } from "react";) so it can’t be emitted as a runtime named import.

Suggested change
import { JSX } from "react";
import type { JSX } from "react";

Copilot uses AI. Check for mistakes.
@@ -1,5 +1,5 @@
import { OpenInNewIcon } from "@databiosphere/findable-ui/lib/components/common/CustomIcon/components/OpenInNewIcon/openInNewIcon";
import { ElementType } from "react";
import { ElementType, JSX } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both ElementType and JSX are types here. Prefer a type-only import (import type { ElementType, JSX } from "react";) to avoid a runtime named import.

Suggested change
import { ElementType, JSX } from "react";
import type { ElementType, JSX } from "react";

Copilot uses AI. Check for mistakes.
import { DownloadIcon } from "@databiosphere/findable-ui/lib/components/common/CustomIcon/components/DownloadIcon/downloadIcon";
import { IconButton } from "@databiosphere/findable-ui/lib/components/common/IconButton/iconButton";
import { useRef } from "react";
import { JSX, useRef } from "react";
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JSX is only used as a return type. Prefer import type { JSX } from "react"; and keep useRef as the value import.

Suggested change
import { JSX, useRef } from "react";
import type { JSX } from "react";
import { useRef } from "react";

Copilot uses AI. Check for mistakes.
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.

Update findable-ui to latest

3 participants