ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ , Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Π½Π° 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
