λ³Έ κΈμ PNPM λ¬Έμμ μ‘°μ¬ν μλ£λ₯Ό λ°νμΌλ‘ claud.aiκ° μμ±ν κΈμ λλ€
PNPM v10μμ κ°μ₯ μ£Όλͺ©ν λ§ν λ³κ²½μ¬ν μ€ νλλ ν¨ν€μ§ νΈμ΄μ€ν μ μ± μ λ³νμ λλ€. μ΄λ² κΈμμλ μ΄μ λ²μ κ³Ό v10μμμ νΈμ΄μ€ν λμ λ°©μ μ°¨μ΄λ₯Ό μμΈν μ΄ν΄λ³΄κ³ , μ€μ νλ‘μ νΈμμ μ΄λ»κ² λμν΄μΌ νλμ§ μμλ³΄κ² μ΅λλ€.
PNPMμ κΈ°λ³Έμ μΌλ‘ μ격ν ν¨ν€μ§ 격리λ₯Ό μ§ν₯ν©λλ€. μ΄λ λ€μκ³Ό κ°μ νΉμ§μ κ°μ§λλ€:
node_modules/.pnpm λλ ν 리μ μ μ₯package.jsonμ λͺ
μλ μ§μ μ μΈ μμ‘΄μ±λ§ μ κ·Ό κ°λ₯μ΄λ¬ν ꡬ쑰λ node_modules μ§μ₯μ λ°©μ§νκ³ , μ μ¬μ μΈ λ³΄μ μνμ μ€μ¬μ€λλ€.
μ΄μ λ²μ μμλ κ°λ°μ κ²½ν(DX)μ μν΄ νΉμ ν¨ν€μ§λ€μ λν΄ μλ νΈμ΄μ€ν μ μ 곡νμ΅λλ€.
node_modules
βββ .pnpm/ # μ€μ ν¨ν€μ§λ€μ΄ μ μ₯λλ μμΉ
βββ eslint/ # μλμΌλ‘ νΈμ΄μ€ν
λ eslint
βββ prettier/ # μλμΌλ‘ νΈμ΄μ€ν
λ prettier
βββ your-project/ # νλ‘μ νΈ μμ‘΄μ±
μ΄λ VSCode λ±μ IDEμμ ν¬λ§·ν°λ λ¦°ν°λ₯Ό μ½κ² μ°Ύμ μ μλλ‘ νκΈ° μν κ²μ΄μμ΅λλ€.
v10μμλ 보μ κ°νλ₯Ό μν΄ μλ νΈμ΄μ€ν μ μμ ν μ κ±°νμ΅λλ€.
node_modules
βββ .PNPM/ # λͺ¨λ ν¨ν€μ§κ° μ΄κ³³μλ§ μ μ₯λ¨
μ΄μ λ λͺ¨λ νΈμ΄μ€ν μ΄ λͺ μμ μΈ μ€μ μ ν΅ν΄μλ§ κ°λ₯ν©λλ€:
{
"pnpm": {
"public-hoist-pattern": [
"*eslint*",
"*prettier*",
"@types/*",
"typescript"
]
}
}
λ¨Όμ νλ‘μ νΈμμ νΈμ΄μ€ν μ΄ νμν λꡬλ€μ νμ ν©λλ€:
{
"pnpm": {
"public-hoist-pattern": [
// λ¦°ν°/ν¬λ§·ν°
"*eslint*",
"*prettier*",
// TypeScript
"@types/*",
"typescript",
// κΈ°ν κ°λ° λꡬ
"*webpack*",
"*babel*"
],
// νΈμ΄μ€ν
λ ν¨ν€μ§μ μ€λ³΅ μ€μΉ λ°©μ§
"shamefully-hoist": false
}
}
μ΄λ² λ³κ²½μ λ€μκ³Ό κ°μ μλ―Έλ₯Ό κ°μ§λλ€:
PNPM v10μ νΈμ΄μ€ν μ μ± λ³κ²½μ λ¨κΈ°μ μΌλ‘λ μΆκ° μ€μ μ΄ νμν λΆνΈν¨μ κ°μ Έμ¬ μ μμ΅λλ€. νμ§λ§ μ₯κΈ°μ μΌλ‘λ λ μμ νκ³ μμΈ‘ κ°λ₯ν μμ‘΄μ± κ΄λ¦¬λ₯Ό κ°λ₯νκ² ν κ²μ λλ€. νΉν λκ·λͺ¨ νλ‘μ νΈλ λͺ¨λ Έλ ν¬ νκ²½μμ μ΄λ¬ν μ격ν κ΄λ¦¬λ ν° μ΄μ μ΄ λ μ μμ΅λλ€.
λ μμΈν λ΄μ©μ PNPM v10 Braking changesλ₯Ό μ°Έκ³ νμκΈ° λ°λλλ€.