Формати верзија зависности у 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"
  }
}

У следећем примеру пројекат ради са било којом мањом (minor) верзијом верзије 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"
  }
}