Skip to content

Conversation

@herokwon
Copy link
Owner

@herokwon herokwon commented Dec 5, 2025

🔍 Overview

Update all project dependencies to latest stable versions and migrate ESLint configuration to the new flat config format (eslint.config.mjs). Ensures compatibility with updated tooling including Storybook, Vite, TypeScript, and Vitest, etc.


🛠 Changes

  • Updated core dependencies
  • Migrated ESLint from legacy config to flat config format (eslint.config.mjs) with TypeScript-aware rules and improved React/Storybook support
  • Added explicit React.JSX.Element return types and TypeScript improvements across components.
  • Fixed minor code quality issues:
    • Storybook main.ts config simplification
    • Test assertions (toBeChecked/toHaveValue)
    • Tailwind class optimizations
  • Updated pnpm-lock.yaml and package.json peerDependencies for compatibility

❗ Related Issues

@herokwon herokwon self-assigned this Dec 5, 2025
Copilot AI review requested due to automatic review settings December 5, 2025 13:39
@herokwon herokwon added ⚙️ Setting Set up dev environment dependencies Pull requests that update a dependency file labels Dec 5, 2025
@changeset-bot
Copy link

changeset-bot bot commented Dec 5, 2025

⚠️ No Changeset found

Latest commit: aec14a4

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

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 updates dependencies to their latest versions and refactors the type system to simplify polymorphic component patterns. Key changes include removing the BlockLabel generic parameter from type utilities, migrating ESLint configuration to the new flat config format (.mjs), and improving code quality throughout the codebase.

  • Simplified type system by removing the BlockLabel parameter and explicitly adding LabelProps where needed
  • Updated dependencies including React 19, Storybook 10, and Tailwind 4
  • Migrated ESLint configuration from eslint.config.js to eslint.config.mjs with improved type-aware rules

Reviewed changes

Copilot reviewed 50 out of 51 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
package.json Updated all dependencies to latest versions, including major version updates for Storybook (9→10)
eslint.config.mjs New ESLint flat config with enhanced type-checking rules and React best practices
eslint.config.js Removed old ESLint configuration file
src/types/polymorphic.ts Removed BlockLabel generic parameter, simplified type definitions with clearer documentation
src/types/common.ts Removed EssentialProps, extracted LabelProps and TestIdProps as separate interfaces
src/types/html-tag.ts Added ContainerHtmlTag type export
src/data/html-tag.ts Added CONTAINER_HTML_TAGS constant array
src/layouts/Box/Box.tsx Explicitly added LabelProps to component props, updated return type annotation
src/layouts/Grid/Grid.tsx Changed to extend BoxProps, updated return type to React.JSX.Element
src/layouts/Flex/Flex.tsx Changed to extend BoxProps, updated return type to React.JSX.Element
src/layouts/Container/Container.tsx Refactored to use ContainerHtmlTag, improved type safety with Record<>
src/layouts/Flex/Flex.stories.tsx Updated Tailwind classes to use newer syntax (e.g., shrink-0 vs flex-shrink-0)
src/layouts/Box/Box.stories.tsx Updated spacing utility classes to numeric format
src/components/*/**.tsx Added explicit LabelProps, updated return types to React.JSX.Element, improved type annotations
src/components/*/**.test.tsx Improved test assertions using Testing Library matchers, removed unnecessary type casts and async markers
src/utils/is-local-url.ts Changed type to interface for IsLocalOptions
src/utils/cn.ts Added explicit return type annotation
vite.config.ts Added src/main.tsx and src/App.tsx to coverage exclusions
src/App.tsx Changed empty fragment to render <main /> element, added return type
src/tests/main.test.tsx Removed test file for development-only entry point
src/tests/App.test.tsx Removed test file for development-only component
src/tests/index.test.ts Removed unnecessary async markers from tests
src/tests/client.test.ts Removed unnecessary async markers from tests
.storybook/main.ts Simplified regex test to use .includes(), removed unnecessary async from callback

@herokwon herokwon linked an issue Dec 5, 2025 that may be closed by this pull request
4 tasks
@herokwon herokwon merged commit 83423d3 into main Dec 5, 2025
7 checks passed
@herokwon herokwon deleted the chore/update-deps-and-configs branch December 5, 2025 14:04
@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ⚙️ Setting Set up dev environment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update dependency versions and related environment configuration compatibility

2 participants