Files
freeCodeCamp/curriculum/challenges/russian/05-apis-and-microservices/managing-packages-with-npm/use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency.russian.md

3.2 KiB
Raw Blame History

id, title, challengeType, forumTopicId, localeTitle
id title challengeType forumTopicId localeTitle
587d7fb5367417b2b2512c02 Use the Tilde-Character to Always Use the Latest Patch Version of a Dependency 2 301532 Используйте символ тильды, чтобы всегда использовать последнюю версию патча зависимости

Description

В последнем вызове мы сказали npm включать только определенную версию пакета. Это полезный способ заморозить ваши зависимости, если вам нужно убедиться, что различные части вашего проекта остаются совместимыми друг с другом. Но в большинстве случаев вы не хотите пропустить исправления ошибок, так как они часто включают в себя важные исправления безопасности и (мы надеемся) не нарушают работу. Чтобы позволить зависимости npm обновляться до последней версии PATCH, вы можете поставить префикс версии зависимости с символом тильды (~). В package.json наше текущее правило о том, как npm может обновить момент, - использовать только определенную версию (2.10.2), но мы хотим разрешить последнюю версию 2.10.x. Пример "some-package-name": "~1.3.8" allows updates to any 1.3.x version. Инструкции Используйте символ тильды (~), чтобы поставить префикс версии момента в ваших зависимостях и позволить npm обновить ее до любой новой версии PATCH. Обратите внимание, что сами номера версий менять не следует.

Instructions

In the package.json file, your current rule for how npm may upgrade moment is to use a specific version (2.10.2). But now, you want to allow the latest 2.10.x version. Use the tilde (~) character to prefix the version of moment in your dependencies, and allow npm to update it to any new PATCH release. Note: The version numbers themselves should not be changed.

Tests

tests:
  - text: '"dependencies" should include "moment"'
    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: '"moment" version should match "~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); })