Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't update package.json if latest version is included in version range #46

Closed
cloudlena opened this issue Aug 19, 2016 · 1 comment
Closed

Comments

@cloudlena
Copy link

cloudlena commented Aug 19, 2016

If I have dependencies of which the installed version is not up to date but the latest version is still included in the range which I have stated in my package.json, I would expect updtr not to write to my package.json but just update the installed version after a successful test instead. It's not necessary to write to the package.json in this case. That only creates unnecessary commits. We could also make this a flag for the CLI which defaults to the behavior described above. What do you guys think?

@cloudlena cloudlena changed the title Don't update package.json if latest version is included Don't update package.json if latest version is included in version range Aug 19, 2016
@jhnns jhnns mentioned this issue Apr 25, 2017
jhnns added a commit that referenced this issue May 8, 2017
### Changes

- A batch update is attempted for all **non-breaking** updates according to semver
- All **breaking** updates are still performed in a sequential manner
- If the batch update fails, the failed update tasks are performed sequentially to find out, which module was breaking
- During a rollback, the next module update is installed in parallel
- The `package.json` is now written in the end after the whole operation
- The updtr tries to preserve the semver range style. If the style can not be preserved, it falls back to caret ranges.
- This behavior can be changed by specifying a `--save` option
- By specifying the `update-to=non-breaking` option, you can now choose to install non-breaking updates. It replaces the old `--wanted` flag
- Re-design of the default reporter (it's now called `dense`)
- Missing dependencies are now installed automatically before running `npm outdated`

### Fixes

- Fixes #14 #47 #46 #13 #51 #58
- Provides a workaround for #48 by sorting all dependencies

BREAKING CHANGE: New and changed CLI options

``` 
  --use, -u             Specify the package manager to use  [choices: "npm", "yarn"] [default: "npm"]
  --exclude, --ex       Space separated list of module names that should not be updated  [array]
  --update-to, --to     Specify which updates you want to install  [choices: "latest", "non-breaking", "wanted"] [default: "latest"]
  --save, -s            Specify how updated versions should be saved to the package.json  [choices: "smart", "caret", "exact"] [default: "smart"]
  --reporter, -r        Choose a reporter for the console output  [choices: "dense", "none"] [default: "dense"]
  --test, -t            Specify a custom test command. Surround with quotes.
  --test-stdout, --out  Show test stdout if the update fails  [boolean]
  --registry, --reg     Specify a custom registry to use
  --version             Show version number  [boolean]
  --help                Show help  [boolean]
```
@jhnns
Copy link
Member

jhnns commented Mar 25, 2018

Has been fixed with the rewrite

@jhnns jhnns closed this as completed Mar 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants