following semver for npm resolver