ДоступСн ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ NPM 7.0

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° NPM 7.0, входящСго Π² поставку Node.js ΠΈ примСняСмого для распространСния ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° языкС JavaScript. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ NPM обслуТиваСт Π±ΠΎΠ»Π΅Π΅ 1.3 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΊΠΎΠ»ΠΎ 12 ΠΌΠ»Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ мСсяц фиксируСтся ΠΎΠΊΠΎΠ»ΠΎ 75 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ. NPM 7.0 стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ выпуском, сформированным послС ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ NPM Inc ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ GitHub. Новая вСрсия Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² поставку Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ выпуска ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js 15, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оТидаСтся 20 октября. Для установки NPM 7.0, Π½Π΅ доТидаясь Π½ΠΎΠ²ΠΎΠΉ вСрсии Node.js, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «npm i -g npm@7».

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ области (Workspaces), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚ зависимости ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для ΠΈΡ… установки Π·Π° ΠΎΠ΄ΠΈΠ½ шаг.
  • АвтоматичСская установка peer-зависимостСй (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ… для опрСдСлСния Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ рассчитан Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Π½Ρ‘ΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ). Peer-зависимости ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ package.json Π² сСкции «peerDependencies». Π Π°Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ зависимости ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΠΎ Π² NPM 7.0 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ опрСдСлённая peer-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ зависимого ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Π΄Π΅Ρ€Π΅Π²Π΅ node_modules.
  • Вторая вСрсия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (package-lock v2) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»Π°-Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ yarn.lock. Новый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ повторяСмыС сборки ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всё, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΏΠΎΠ»Π½ΠΎΠΉ сборки Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². NPM Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ yarn.lock Π² качСствС источника ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ….
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для упрощСния сопровоТдСния ΠΈ увСличСния надёТности. НапримСр, ΠΊΠΎΠ΄ для инспСктирования ΠΈ управлСния Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ node_modules ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρ‘Π½ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Arborist.
  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° использованиС поля package.exports, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² require().
  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пСрСписан ΠΏΠ°ΠΊΠ΅Ρ‚ npx, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «npm exec» для запуска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «npm audit», ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π² Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ€Π΅ΠΆΠΈΠΌΠ° «—json».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru