Resolve all semver range versions from NPM in package.json in a specify date.
add the key date in package.json:
{
"date": "2019-01-07"
}but, the follow is better:
{
"date": "2019-01-07T18:14:39.683Z"
}because this is an NPM time standard.
Then, type
lamp package.jsonor
lamp path/to/package.jsonThen, all dependencies will be downgraded - or upgrade - to best satisfies range in specify date.
To install, clone this repo and type:
make
make install # try with superthis download all dependencies and install. Be happy.
If package.json is:
{
"date": "2015-06-30",
"dependencies": {
"express": "^4.10.6",
"lodash": "~3.9.0",
"karma": "^0.13.0-rc.1"
},
"devDependencies": {
"mongoose": "^4.5.9",
"mocha": "2.2.0"
}
}the command lamp package.json results in:
{
"date": "2015-06-30",
"dependencies": {
"express": "4.13.0",
"lodash": "3.9.3",
"karma": "0.13.0-rc.6"
},
"devDependencies": {
"mocha": "2.2.0",
"mongoose": "^4.5.9"
}
}express,lodashandkarmawere changed;mochawasn't range; and- in specify date,
mongoose@^4.5.9didn't exist.
also works to peerDependencies, optionalDependencies and globalDependencies.
Support any types of range:
- "package": "^1.2.3"
- "package": "~1.2.3"
- "package": ^1.2.3-alpha.1"
- "package": "^1.x"
- "package": "4.x"
- "package": "*"
- "package": "latest"
- "package": ">=10"
- "package": "^2.x < 2.9"
- "package": "0.x || 10.0.x"
- ...
To execute the tests
make test -BAll dependencies are installed when make executable.
pip3 install requests
pip3 install semantic_version
pip3 install parsimonious
pip3 install pyinstaller
pip3 install colorama
pip3 install semverBuild on Python 3.6.