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

Keep the same rule for the versions instead of forcing ^ #14

Closed
lipis opened this issue Dec 4, 2015 · 4 comments · Fixed by #60
Closed

Keep the same rule for the versions instead of forcing ^ #14

lipis opened this issue Dec 4, 2015 · 4 comments · Fixed by #60
Assignees

Comments

@lipis
Copy link

lipis commented Dec 4, 2015

Here are some examples on how I would expect it to work out of the box:

~3     --> ~4
~2.1   --> ~4.2
~2.0.0 --> ~4.0.2
 1.2.0 -->  2.3.7 
 1.x.x -->  3.x.x
^2.1.9 --> ^3.0.1
 0.0.0 -->  3.0.2
@alexlawrence
Copy link

👍

We are using exact version numbers and they need to stay exact :-)
(For our scenario it would be sufficient to use --save-exact)

@matthaias
Copy link
Member

I will give it a look in the first days of 2016. I see the case of @alexlawrence, but @lipis do you really want to keep the rule of a version for minor 2 for the version with minor 4 by default?

@matthaias
Copy link
Member

updtr --save-exact is published as v0.1.10 @alexlawrence

@alexlawrence
Copy link

Nice, thank you. Will give it a shot.

@jhnns jhnns mentioned this issue Apr 25, 2017
@jhnns jhnns closed this as completed in #60 May 8, 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]
```
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

Successfully merging a pull request may close this issue.

3 participants