Latest Posts

All blog posts sorted by newest first.

[React] Building VRT (Visual Regression Testing) with Jest + Puppeteer

2026-03-07
Sharing how to build a VRT (Visual Regression Testing) environment for React components using Jest and Puppeteer. The approach involves server-side rendering components, capturing screenshots with Puppeteer, and comparing them with jest-image-snapshot.
see more →

[React] Building VRT + Accessibility Testing with Storybook Test Runner

2026-03-06
Sharing how to build VRT (Visual Regression Testing) and accessibility testing for React components using Storybook Test Runner and jest-image-snapshot.
see more →

[React] Testing Strategy for Shared Components in a Monorepo

2026-03-05
Sharing the process of establishing a testing strategy for React shared components in a monorepo. We compare Jest, Storybook, and Vitest for View testing with Props/State, event testing, and accessibility testing, and explain why we ultimately chose Vitest.
see more →

[React] Adopting React Compiler in a Monorepo

2026-03-04
Sharing the process of adopting React Compiler across a monorepo with 6 apps and shared packages, including issues encountered along the way — panicThreshold selection, eslint-disable strategies, ref.current false positives, and using the "use no memo" directive for troubleshooting.
see more →

Why GitHub Actions Workflows Don't Re-trigger — GITHUB_TOKEN, PAT, and GitHub Apps

2026-03-03
Learn why pushing with GITHUB_TOKEN in GitHub Actions doesn't trigger other workflows, and compare PAT vs GitHub Apps solutions with a step-by-step GitHub Apps setup guide.
see more →

[React] Practical Guide to React 19 Migration in a Large Monorepo

2026-03-03
Sharing real-world experience upgrading a large monorepo with 7 apps and shared component libraries to React 19. Covers key changes like forwardRef removal, RefObject type unification, useRef initial value requirement, JSX namespace changes, and migration strategies.
see more →

How to Enforce Node.js Versions Across Your Team — Using a Yarn Berry Plugin

2026-03-01
Learn how to enforce Node.js versions across both local development and CI environments by combining .nvmrc, the engines field in package.json, and a custom Yarn Berry plugin.
see more →

[Optimization] Reducing Bundle Size by 82% with lodash Tree Shaking: From 547KB to 97KB

2026-02-28
Sharing the experience of reducing bundle size from 547KB to 97KB (approximately 82%) by changing the lodash import method in a monorepo environment. Covers the entire process from setting up bundle analysis to preventing recurrence with ESLint rules.
see more →

Solving "Argument list too long" Error in GitHub Actions

2026-02-26
Learn about the cause of the "Argument list too long" error that occurs when there are many changed files in monorepo CI, and how to solve it by switching from Bash to JavaScript (actions/github-script).
see more →

A GitHub Actions Workflow to Restrict File Change Scope by Branch in a Monorepo

2026-02-26
Learn how to implement a GitHub Actions workflow that automatically validates whether changed files in a PR fall within the corresponding service directory based on the branch name in a monorepo.
see more →

Running ESLint Only on Changed Files in CI

2026-02-25
Learn how to run ESLint only on changed files in CI to introduce new ESLint rules without friction in a large-scale monorepo.
see more →

Introducing the PnP (Project in Project) Concept

2026-02-15
Let's learn about the PnP concept — creating and managing sub-projects within a main project — and how to adopt it.
see more →

SHARE
Twitter Facebook RSS