Фарматы версій залежнасцей у npm у JavaScript

У файле package.json версіі ўсталяваных пакетаў могуць паказвацца ў розных фарматах. Давайце вывучым гэтыя фарматы на прыкладзе ўяўнай бібліятэкі somelib.

У наступным прыкладзе патрабуецца дакладная версія 2.4.2:

package.json{
  "dependencies": {
    "somelib": "2.4.2"
  }
}

У наступным прыкладзе патрабуецца апошняя версія, сумяшчальная з 2.4.2:

package.json{
  "dependencies": {
    "somelib": "^2.4.2"
  }
}

У наступным прыкладзе праект працуе з версіямі 2.4.2, 2.4.3, 2.4.4 і гэтак далей:

package.json{
  "dependencies": {
    "somelib": "~2.4.2"
  }
}

У наступным прыкладзе праект працуе з версіямі 2.4, 2.5, 2.6 і гэтак далей:

package.json{
  "dependencies": {
    "somelib": "~2.4"
  }
}

У наступным прыкладзе праект працуе з любой патч-версіяй пакета 2.4:

package.json{
  "dependencies": {
    "somelib": "2.4.x"
  }
}

У наступным прыкладзе праект працуе з любой мінорнай версіяй версіі 2:

package.json{
  "dependencies": {
    "somelib": "2.x"
  }
}

У наступным прыкладзе праект працуе з версіяй 2.4 і вышэй:

package.json{
  "dependencies": {
    "somelib": ">=2.4"
  }
}

У наступным прыкладзе праект працуе з любой версіяй у дыяпазоне ад 2.4.2 да 3.1.1:

package.json{
  "dependencies": {
    "somelib": "2.4.2 3.1.1"
  }
}