Skip to content

fix: harden landing, packages, and release workflow - #8

Merged
Todari merged 1 commit into
mainfrom
fix/landing-npm-release-hardening
Jul 31, 2026
Merged

fix: harden landing, packages, and release workflow#8
Todari merged 1 commit into
mainfrom
fix/landing-npm-release-hardening

Conversation

@Todari

@Todari Todari commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • rebuild the landing page content, metadata, accessibility, pre-rendering, and responsive interactions
  • harden core/react runtime behavior and add regression coverage
  • modernize lint/test/build tooling and add React 18/19, Next.js 16, and browser compatibility checks
  • connect npm trusted publishing through release.yml with provenance and no long-lived npm token
  • add a patch changeset for both public packages

Verification

  • pnpm lint && pnpm type-check && pnpm test && pnpm build
  • pnpm test:compat
  • pnpm test:e2e (Chromium, Firefox, WebKit)
  • pnpm audit --prod

Summary by CodeRabbit

  • 새로운 기능
    • 데모 사이트에 서버 렌더링과 사전 렌더링을 지원합니다.
    • 키보드 탐색, 건너뛰기 링크, 포커스 표시, 다크 모드 및 모션 감소 설정을 지원합니다.
    • 코드 예제 복사와 복사 실패 시 대체 동작을 제공합니다.
  • 버그 수정
    • 픽셀 그림자가 기존 부모 필터와 형제 인스턴스의 필터를 보존합니다.
    • 테마 변경 시 업데이트 안정성과 여러 픽셀 인스턴스 간 동작을 개선했습니다.
  • 문서
    • PNG 출력, 지원 CSS, ref 전달 컴포넌트 및 패키지 사용법을 명확히 안내합니다.
  • 테스트
    • 주요 브라우저와 React·Next.js 환경의 호환성 검증을 강화했습니다.

@cursor

cursor Bot commented Jul 31, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
react-pixel-ui Ready Ready Preview Jul 31, 2026 6:59am

@Todari
Todari merged commit ba4979c into main Jul 31, 2026
7 checks passed
@Todari
Todari deleted the fix/landing-npm-release-hardening branch July 31, 2026 07:01
@github-actions github-actions Bot mentioned this pull request Jul 31, 2026
@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0be6f307-81d2-4cb5-957e-ba3878170dd3

📥 Commits

Reviewing files that changed from the base of the PR and between 537c64a and 1e495c6.

⛔ Files ignored due to path filters (2)
  • apps/demo/public/og.png is excluded by !**/*.png
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (47)
  • .changeset/fuzzy-pixels-coordinate.md
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • README.md
  • apps/demo/.eslintrc.js
  • apps/demo/e2e/landing.spec.ts
  • apps/demo/eslint.config.js
  • apps/demo/index.html
  • apps/demo/package.json
  • apps/demo/public/llms.txt
  • apps/demo/scripts/prerender.mjs
  • apps/demo/src/App.css
  • apps/demo/src/App.tsx
  • apps/demo/src/entry-server.tsx
  • apps/demo/src/ga.ts
  • apps/demo/src/main.tsx
  • apps/demo/src/vite-env.d.ts
  • apps/demo/vercel.json
  • apps/demo/vite.config.ts
  • docs/MIGRATION.md
  • docs/RELEASING.md
  • package.json
  • packages/core/.eslintrc.js
  • packages/core/README.md
  • packages/core/eslint.config.js
  • packages/core/package.json
  • packages/core/src/composer.ts
  • packages/core/src/types.ts
  • packages/eslint-config/library.js
  • packages/eslint-config/package.json
  • packages/eslint-config/react.js
  • packages/react/.eslintrc.js
  • packages/react/README.md
  • packages/react/eslint.config.js
  • packages/react/package.json
  • packages/react/src/components/Pixel.tsx
  • packages/react/src/components/PixelButton.tsx
  • packages/react/src/context/PixelConfigProvider.tsx
  • packages/react/src/hooks/usePixelRef.test.tsx
  • packages/react/src/hooks/usePixelRef.ts
  • packages/react/src/utils/parent-filter-manager.test.ts
  • packages/react/src/utils/parent-filter-manager.ts
  • packages/react/src/utils/theme-observer.test.ts
  • packages/react/src/utils/theme-observer.ts
  • playwright.config.ts
  • scripts/next-smoke.mjs
  • scripts/package-smoke.mjs

Walkthrough

React 픽셀 필터와 테마 감시를 공유 방식으로 변경했습니다. 데모에 SSR, hydration, 접근성, 브라우저 테스트를 추가했습니다. ESLint flat config와 npm trusted publishing을 구성하고 패키지 문서를 갱신했습니다.

Changes

React 렌더링 동작

Layer / File(s) Summary
부모 필터 및 테마 관리
packages/react/src/hooks/usePixelRef.ts, packages/react/src/utils/*, packages/react/src/components/Pixel.tsx
부모 필터를 보존하면서 여러 usePixelRef 인스턴스의 필터를 관리합니다. 루트 테마 옵저버를 공유합니다. 관련 테스트를 추가했습니다.
스타일 병합 및 API 문서
packages/react/src/components/Pixel.tsx, packages/react/src/context/PixelConfigProvider.tsx, packages/react/README.md, README.md
기존 자식 스타일과 테두리 shorthand를 보존합니다. PixelConfigProvider, PixelBox, PixelButton, usePixelRef 동작을 문서화합니다.

데모 및 검증

Layer / File(s) Summary
SSR 및 prerender
apps/demo/src/entry-server.tsx, apps/demo/src/main.tsx, apps/demo/scripts/prerender.mjs, apps/demo/vite.config.ts, apps/demo/package.json
SSR 번들을 생성하고 prerender된 HTML을 hydration합니다. 버전 상수를 빌드 시 주입합니다.
랜딩 페이지 및 접근성
apps/demo/src/App.tsx, apps/demo/src/App.css, apps/demo/index.html, apps/demo/public/llms.txt, apps/demo/e2e/landing.spec.ts
데모 콘텐츠, 키보드 접근성, 복사 기능, 반응형 스타일, 메타데이터와 Playwright 검증을 추가합니다.
호환성 및 패키지 smoke test
.github/workflows/ci.yml, playwright.config.ts, scripts/next-smoke.mjs, scripts/package-smoke.mjs, package.json
React 18·19, Next.js, Chromium·Firefox·WebKit, ESM·CommonJS 패키지 렌더링을 검증합니다.

패키지 및 릴리스

Layer / File(s) Summary
core 문서 및 PNG 출력
packages/core/README.md, packages/core/src/composer.ts, packages/core/src/types.ts, docs/MIGRATION.md
core 사용법을 프레임워크 독립 API 기준으로 갱신합니다. 그라디언트와 합성 이미지 설명을 PNG 기준으로 변경합니다.
ESLint 및 npm 릴리스
packages/eslint-config/*, packages/core/package.json, packages/react/package.json, .github/workflows/release.yml, docs/RELEASING.md
ESLint 9 flat config를 적용합니다. 패키지 provenance와 OIDC 기반 trusted publishing을 설정합니다.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

  • Todari/react-pixel-ui#6: CI 및 릴리스 워크플로 변경이 관련되지만, 변경된 단계와 React/core 수정 사항은 다릅니다.

Sequence Diagram(s)

sequenceDiagram
  participant CI
  participant DemoBuild
  participant Browser
  participant Playwright
  CI->>DemoBuild: build client, SSR, and prerender output
  DemoBuild->>Browser: serve prerendered demo
  Browser->>Browser: hydrate existing root HTML
  Playwright->>Browser: run Chromium, Firefox, and WebKit tests
  Browser-->>Playwright: return accessibility and interaction results
Loading

Poem

토끼가 필터를 살포시 묶고
형제 픽셀 곁에 나란히 앉네.
PNG 별빛이 화면에 번지고
SSR 문이 먼저 열리네.
깡충, 테스트도 모두 통과!

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/landing-npm-release-hardening

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant