freeCodeCamp/curriculum/challenges/russian/05-apis-and-microservices/managing-packages-with-npm/manage-npm-dependencies-by-...

4.3 KiB
Raw Blame History

id title localeTitle challengeType
587d7fb5367417b2b2512c01 Manage npm Dependencies By Understanding Semantic Versioning Управляйте зависимостями npm, понимая семантическое управление версиями 2

Description

Версии пакетов npm в разделе зависимостей вашего package.json следуют так называемому семантическому версионированию (SemVer), отраслевому стандарту управления версиями программного обеспечения, целью которого является упрощение управления зависимостями. Библиотеки, фреймворки или другие инструменты, опубликованные на npm, должны использовать SemVer, чтобы четко определить, каких изменений ожидают проекты, зависящие от пакета, в случае их обновления. SemVer не имеет смысла в проектах без общедоступных API - поэтому, если ваш проект не похож на приведенные выше примеры, используйте другой формат управления версиями. Так зачем тебе понимать SemVer? Знание SemVer может быть полезно при разработке программного обеспечения, которое использует внешние зависимости (что вы почти всегда делаете). Однажды, ваше понимание этих цифр избавит вас от случайного внесения критических изменений в ваш проект, не понимая, почему вещи, которые «сработали вчера», неожиданно не срабатывают. Вот как Semantic Versioning работает в соответствии с официальным сайтом: Учитывая номер версии MAJOR.MINOR.PATCH, увеличивайте версию: MAJOR при внесении несовместимых изменений API, версию MINOR при добавлении функциональности обратно-совместимым способом и PATCH версия, когда вы делаете обратно совместимые исправления ошибок. Это означает, что PATCH являются исправлениями ошибок, а MINOR добавляют новые функции, но ни одна из них не нарушает то, что работало раньше. Наконец, ОСНОВНЫЕ добавляют изменения, которые не будут работать с более ранними версиями. Пример Семантический номер версии: 1.3.8 Инструкции В разделе зависимостей вашего package.json измените версию момента, чтобы она соответствовала ОСНОВНОЙ версии 2, МИНОР версии 10 и ПАТЧ версии 2

Instructions

Tests

tests:
  - text: «Зависимости» должны включать «момент»
    testString: 'getUserInput => $.get(getUserInput(''url'') + ''/_api/package.json'').then(data => { var packJson = JSON.parse(data); assert.property(packJson.dependencies, ''moment'', ''"dependencies" does not include "moment"''); }, xhr => { throw new Error(xhr.responseText); })'
  - text: «момент» версия должна быть «2.10.2»
    testString: 'getUserInput => $.get(getUserInput(''url'') + ''/_api/package.json'').then(data => { var packJson = JSON.parse(data); assert.match(packJson.dependencies.moment, /^[\^\~]?2\.10\.2/, ''Wrong version of "moment". It should be 2.10.2''); }, xhr => { throw new Error(xhr.responseText); })'

Challenge Seed

Solution

// solution required