use semver module for version validation
conditional dependency tracking
add `replace` option & tests
0.5.2