Π²ΡΠΏΡΡΠΊ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° , Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ Node.js ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ JavaScript. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ NPM ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 1.3 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 12 ΠΌΠ»Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π ΠΌΠ΅ΡΡΡ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 75 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² Π·Π°Π³ΡΡΠ·ΠΎΠΊ. NPM 7.0 ΡΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΡΠ»Π΅ NPM Inc ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ GitHub. ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ 20 ΠΎΠΊΡΡΠ±ΡΡ. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ NPM 7.0, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Node.js, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«npm i -g npm@7Β».
:
- Π Π°Π±ΠΎΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ (), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°ΡΡΡΠΈΡΠ°Π½ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π°ΠΏΡΡΠΌΡΡ Π² Π½ΡΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ). Peer-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ package.json Π² ΡΠ΅ΠΊΡΠΈΠΈ Β«peerDependenciesΒ». Π Π°Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π²ΡΡΡΠ½ΡΡ, Π½ΠΎ Π² NPM 7.0 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΠΉ, ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ peer-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈΠ»ΠΈ Π²ΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² Π΄Π΅ΡΠ΅Π²Π΅ node_modules.
- ΠΡΠΎΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ (package-lock v2) ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΉΠ»Π°-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ yarn.lock. ΠΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π΅ΡΠ΅Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². NPM ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ yarn.lock Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°Ρ .
- ΠΡΠΎΠ²Π΅Π΄ΡΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π΅ΡΠ΅Π²ΠΎΠΌ node_modules ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠ½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ .
- ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ package.exports, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² require().
- ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ ΠΏΠ°ΠΊΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«npm execΒ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«npm auditΒ», ΠΊΠ°ΠΊ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ Π² ΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ° Β«βjsonΒ».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
