Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
✅ Files skipped from review due to trivial changes (2)
🚧 Files skipped from review as they are similar to previous changes (3)
Walkthrough여러 GitHub Action의 빌드 출력을 ESM( Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
size-limit report 📦
|
🚀 Preview
|
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (4)
packages/wds/package.json (1)
57-57: 버전 범위 지정 방식이 일관되지 않습니다.
@radix-ui/react-scroll-area만 정확한 버전(1.2.0)을 사용하고, 다른 radix-ui 패키지들은 캐럿 범위(^1.x.x)를 사용합니다. 의도적인 고정이 아니라면 일관성을 위해 캐럿 범위로 변경하는 것을 권장합니다.♻️ 제안된 수정
- "@radix-ui/react-scroll-area": "1.2.0", + "@radix-ui/react-scroll-area": "^1.2.0",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/wds/package.json` at line 57, The dependency entry "@radix-ui/react-scroll-area" is pinned to "1.2.0" while other radix-ui packages use caret ranges; change the version spec for "@radix-ui/react-scroll-area" to use a caret range (for example "^1.2.0") to match the project's versioning convention and ensure consistent dependency resolution across packages..github/actions/jsx-tracking/package.json (1)
4-4:main필드가 실제 빌드 출력과 일치하지 않습니다.
main필드가 여전히dist/index.js를 가리키고 있지만, 빌드 스크립트는dist/index.mjs로 출력합니다. private GitHub Action이므로 실제 동작에는 영향을 주지 않지만, 일관성을 위해 수정을 권장합니다.♻️ 제안된 수정
- "main": "dist/index.js", + "main": "dist/index.mjs",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/actions/jsx-tracking/package.json at line 4, Update the package.json "main" field to match the build output: change the current "main": "dist/index.js" to point to the built module file "dist/index.mjs" so the package metadata matches the build artifacts (edit the "main" property in package.json)..github/actions/generate-mobile-docs/package.json (2)
19-19: createRequire 배너가 불필요할 수 있습니다.관련 코드 스니펫(
.github/actions/generate-mobile-docs/src/modules/base.ts:1-8)을 보면, 이 액션은 순수 ESM 패키지들(glob,@actions/core,@actions/exec,gray-matter)만 import합니다.jsx-tracking과 달리 CJS 전용 의존성이 없으므로createRequire배너는 방어적 코드입니다.현재 동작에 문제는 없지만, 향후 유지보수 시 참고하시기 바랍니다.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/actions/generate-mobile-docs/package.json at line 19, The build script's injected banner that defines createRequire (the "--banner:js=\"import{createRequire}from'module';const require=createRequire(import.meta.url);\"" portion of the "build" npm script) is unnecessary because this action only imports pure ESM dependencies; remove that banner from the "build" script so esbuild bundles without injecting the createRequire shim and keep the rest of the script (--platform=node --bundle --format=esm --outfile=dist/index.mjs) unchanged.
4-4:main필드가 실제 빌드 출력과 일치하지 않습니다.
jsx-tracking과 동일하게main필드가dist/index.js를 가리키고 있지만, 빌드 출력은dist/index.mjs입니다.♻️ 제안된 수정
- "main": "dist/index.js", + "main": "dist/index.mjs",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/actions/generate-mobile-docs/package.json at line 4, The package.json "main" field currently points to "dist/index.js" but the build emits "dist/index.mjs"; update the "main" entry in package.json to "dist/index.mjs" (or alternatively adjust the build output to produce dist/index.js) so the package's entrypoint matches the actual build artifact; reference the "main" field and the produced file "dist/index.mjs" to locate and fix the mismatch.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/src/features/docs/helpers/mdx.ts`:
- Line 113: The MDX config currently sets blockJS: false which enables MDX JS
expressions; change it to blockJS: true to disable inline JS expressions (in the
MDX options object where blockJS is defined) to reduce attack surface, and if
you actually need JS expressions keep blockJS: false but explicitly add
blockDangerousJS: true in the same options object to make the protection intent
explicit (look for the MDX options or the variable that contains blockJS in
docs/src/features/docs/helpers/mdx.ts).
In `@nx.json`:
- Around line 7-10: The "watch" target currently has "cache": true which is
incorrect for long-running watch processes; open the nx.json target definition
for the "watch" target and remove the "cache" property (or set it to false) so
that the watch target no longer uses Nx caching; keep the existing "dependsOn":
["^watch"] behavior intact and ensure any watch scripts (e.g., tsup --watch,
tsdown --watch) remain unaffected.
In `@package.json`:
- Line 68: package.json was updated to "lerna": "9.0.7" but lerna.json still
points to the old schema; update the "$schema" field in lerna.json to
"https://unpkg.com/lerna@9.0.7/schemas/lerna-schema.json" so the schema version
matches the lerna dependency (locate the "$schema" key in lerna.json and replace
the URL accordingly).
In `@packages/wds-mcp/package.json`:
- Line 5: The dependency "@modelcontextprotocol/sdk" is currently pinned with a
caret (^1.29.0) which allows minor upgrades that have previously broken
compatibility; update the package.json dependency entry for
"@modelcontextprotocol/sdk" to an exact version "1.29.0" (or at minimum change
to a patch-only range "~1.29.0") so only known-compatible releases are
installed, then run npm/yarn install and verify build/tests that involve any
code using the SDK (references: the dependency name
"@modelcontextprotocol/sdk").
---
Nitpick comments:
In @.github/actions/generate-mobile-docs/package.json:
- Line 19: The build script's injected banner that defines createRequire (the
"--banner:js=\"import{createRequire}from'module';const
require=createRequire(import.meta.url);\"" portion of the "build" npm script) is
unnecessary because this action only imports pure ESM dependencies; remove that
banner from the "build" script so esbuild bundles without injecting the
createRequire shim and keep the rest of the script (--platform=node --bundle
--format=esm --outfile=dist/index.mjs) unchanged.
- Line 4: The package.json "main" field currently points to "dist/index.js" but
the build emits "dist/index.mjs"; update the "main" entry in package.json to
"dist/index.mjs" (or alternatively adjust the build output to produce
dist/index.js) so the package's entrypoint matches the actual build artifact;
reference the "main" field and the produced file "dist/index.mjs" to locate and
fix the mismatch.
In @.github/actions/jsx-tracking/package.json:
- Line 4: Update the package.json "main" field to match the build output: change
the current "main": "dist/index.js" to point to the built module file
"dist/index.mjs" so the package metadata matches the build artifacts (edit the
"main" property in package.json).
In `@packages/wds/package.json`:
- Line 57: The dependency entry "@radix-ui/react-scroll-area" is pinned to
"1.2.0" while other radix-ui packages use caret ranges; change the version spec
for "@radix-ui/react-scroll-area" to use a caret range (for example "^1.2.0") to
match the project's versioning convention and ensure consistent dependency
resolution across packages.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 135d3d71-dc87-486a-a80c-e00d98bc3750
⛔ Files ignored due to path filters (3)
.github/actions/generate-mobile-docs/dist/index.mjsis excluded by!**/dist/**.github/actions/jsx-tracking/dist/index.mjsis excluded by!**/dist/**pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (19)
.github/actions/generate-mobile-docs/action.yml.github/actions/generate-mobile-docs/package.json.github/actions/jsx-tracking/action.yml.github/actions/jsx-tracking/package.json.gitignore.prettierignoredocs/package.jsondocs/src/features/docs/helpers/mdx.tsnx.jsonpackage.jsonpackages/eslint-plugin-wds/package.jsonpackages/wds-engine/package.jsonpackages/wds-lottie/package.jsonpackages/wds-mcp/package.jsonpackages/wds-nextjs/package.jsonpackages/wds/package.jsonscripts/api-generator/package.jsonscripts/design-docs-sync/package.jsontests/tree-shaking/package.json
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
변경 사항
의존성 업데이트
pnpm update --recursive로 range 내 패키지 최신화lerna8 → 9 (transitive로 nx 20 → 22 함께 업데이트,lerna repair로 nx config 마이그레이션)next-mdx-remote5 → 6 (serialize()에blockJS: false추가하여 기존 동작 유지)vite를 root devDependency로 추가하여 peer 버전 고정@modelcontextprotocol/sdk,axios,esbuild등 직접 의존성 버전 업데이트빌드 설정
.github/actions/generate-mobile-docs,jsx-tracking두 action을 ESM 빌드로 전환glob11.x의 transitive 의존성이 top-level await를 사용해 CJS 빌드 불가createRequirepolyfill 주입하여 Node.js CJS 호환성 유지dist/index.js→dist/index.mjsNx 마이그레이션
nx.json: deprecatedtasksRunnerOptions→targetDefaults.cache형식으로 자동 변환검증
pnpm build9개 패키지 빌드 성공pnpm test:unit166 tests passedpnpm -F generate-mobile-docs build/pnpm -F jsx-tracking build성공 및 smoke test 통과🤖 Generated with Claude Code
Summary by CodeRabbit
릴리스 노트