Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 3
feat : 패키지 매니저 마이그레이션#347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
472534ab092fcc8978edc9633b89da9a77f82d2e84File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,2 @@ | ||
| npx --no -- commitlint --edit ${1} | ||
| pnpm dlx commitlint --edit ${1} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| echo "🔍 Running lint check before push..." | ||
| npm run lint | ||
| pnpm run lint | ||
| echo "🔍 Running type check before push..." | ||
| npm run typecheck | ||
| pnpm run typecheck | ||
| echo "✅ All checks passed!" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # Next.js 호환성을 위한 설정 | ||
| shamefully-hoist=true | ||
| auto-install-peers=true | ||
| strict-peer-dependencies=false | ||
Comment on lines
+1
to
+4
| ||
| # 기본 설정 | ||
| registry=https://registry.npmjs.org/ | ||
| enable-pre-post-scripts=true | ||
| lockfile=true | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 22 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,42 @@ | ||
| module.exports = { | ||
| extends: ["@commitlint/config-conventional"], | ||
| parserPreset: { | ||
| parserOpts: { | ||
| headerPattern: /^([\p{Emoji_Presentation}\p{Extended_Pictographic}]|\w+)(?:\((.+)\))?[:\s]+(.+)$/u, | ||
| headerCorrespondence: ["type", "scope", "subject"], | ||
| }, | ||
| }, | ||
| rules: { | ||
| "type-enum": [2, "always", ["feat", "fix", "refactor", "style", "test", "docs", "chore"]], | ||
| "type-enum": [ | ||
| 2, | ||
| "always", | ||
| [ | ||
| "feat", | ||
| "fix", | ||
| "refactor", | ||
| "style", | ||
| "test", | ||
| "docs", | ||
| "chore", | ||
| // Gitmoji support | ||
| "✨", | ||
| "🐛", | ||
| "🔧", | ||
| "📝", | ||
| "💄", | ||
| "♻️", | ||
| "🔥", | ||
| "🚀", | ||
| "✅", | ||
| "🔒", | ||
| "⬆️", | ||
| "⬇️", | ||
| "🎨", | ||
| "🚧", | ||
| "💚", | ||
| "📦", | ||
| "🔀", | ||
| ], | ||
| ], | ||
| }, | ||
| }; |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
pnpm dlx vs npx --no behavior commitlint💡 Result:
Short answer: they’re different.
npx --no (aka --no-install) prevents npx from downloading a package; it only runs an existing local/global binary and will fail instead of installing. This is what commitlint docs use in husky hooks to avoid prompting to install. [1][3]
pnpm dlx always fetches a package temporarily from the registry and runs it (does not add it to package.json). It’s the pnpm equivalent of npx for one‑off remote execution. It does not implement an npx‑style “no‑install” that refuses to download. [2]
Practical guidance for commitlint + Husky:
Sources:
[1] npx docs (npm) — npx options and --no/--no-install behavior.
[2] pnpm dlx docs — dlx fetches and runs packages temporarily.
[3] commitlint local setup (Husky example uses "npx --no -- commitlint --edit $1").
🌐 Web query:
pnpm dlx automatic install prompt behavior missing package💡 Result:
Short answer: pnpm dlx does not "automatically install" a package into your project — it fetches the requested package temporarily from the registry and runs it. If the package cannot be resolved (not published, private/unreachable, or blocked by policy like minimumReleaseAge), dlx will fail with an error (or with the same resolution behavior as normal pnpm commands) rather than silently installing something different. There are related pnpm settings that control prompts and automatic installs for other commands (e.g., verify-deps-before-run), and there are known edge-case bugs (e.g., minimumReleaseAge interactions) discussed in the pnpm issue tracker. See pnpm dlx docs and related GitHub issues for details. [1][2][3]
Sources:
🌐 Web query:
npx --no flag purpose prevent install prompt💡 Result:
--no tells npx to answer the interactive "Ok to proceed?" prompt with "no" (i.e., refuse installing missing packages), so it prevents npx from prompting to download/install and causes the run to fail if the command isn’t already available. It’s the replacement for the older --no-install behavior. [1][2]
pnpm dlx에서pnpm exec로 변경하세요.npx --no에서pnpm dlx로의 전환은 기능적으로 다릅니다. 다음을 확인해주세요:npx --no의 역할: 원격 패키지 설치를 거부하고 로컬에 있는 패키지만 실행합니다. 패키지가 없으면 실행이 실패합니다.pnpm dlx의 동작: 항상 레지스트리에서 패키지를 임시로 다운로드하여 실행합니다.--no같은 플래그로 다운로드를 거부할 수 없습니다.올바른 대체 방법: commitlint가 devDependency로 설치되어 있다면
pnpm exec commitlint --edit ${1}을 사용하세요. 이것이npx --no동작과 동등합니다.현재 코드는 의도하지 않은 동작 변경을 포함하고 있습니다.
🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
커밋린트가 데브디펜던시인지 확인하고
해당 내용은 커밋메시지 허스키인데 크게 중요한가 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Length of output: 121
@manNomi, 확인 결과 commitlint는 devDependency로 설치되어 있습니다 (@commitlint/cli,@commitlint/config-conventional).중요도에 대해서는:
크게 중요하지 않습니다. 커밋 메시지 검증 훅이므로 프로덕션에 영향을 주지 않고,
pnpm dlx도 정상 동작합니다.다만 차이점은:
pnpm dlx: 매번 레지스트리에서 임시 다운로드 (약간 느림)pnpm exec: 로컬 설치된 패키지 실행 (원래npx --no동작과 동일)이미 로컬에 설치되어 있으니
pnpm exec commitlint --edit ${1}또는pnpm commitlint --edit ${1}로 변경하면 더 빠르고 원래 동작과 일치하지만, 현 상태로도 문제없이 작동합니다. 우선순위 낮은 개선사항으로 보시면 됩니다.🧠 Learnings used