semantic-versioning

Check versions in package json against actual node_modules

青春壹個敷衍的年華 提交于 2019-12-10 19:08:57
问题 Imagine the situation: We have a project with node_modules gitignored. While fixing a task developer1 updated package.json to newer version of some module, e.g. "dependencies": { "async": "^1.5.2", // was 1.5.1 ... Then he runned npm install locally to get updated module, performed tests, finished task and pushed changes on the server. Developer2 pulled changes from server and get app broken because still having previous version of async locally (1.5.1). And developer2 can waste a huge amount

Should major SemVer updates cascade?

时光毁灭记忆、已成空白 提交于 2019-12-07 08:32:27
问题 So "myLibrary" references "anotherLibrary". Both libraries follow http://semver.org/ If I release a new version of myLibrary that forces consumers to update to a new major version of anotherLibrary should the major version of myLibrary also increment? 回答1: This is specifically answered in the FAQ section of semver, where it is recommended that the major version be not bumped up. http://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api 回答2: It really

bash regex to match semantic version number

ぐ巨炮叔叔 提交于 2019-12-06 20:05:36
问题 I have the following: versionNumber=$(sw_vers -productVersion) # Finds version number versionShort=${versionNumber:0:4} # Cut string to 1 decimal place for calculation which works when versions are like this: 10.9.2 10.9.5 but it will not match 10.10.3 as it will return only 10.1 but I want the versionShort to be set to 10.10 I am wanting to match the major version, the first dot and the minor version as above. 回答1: Regexpless solution - cut off last dot and whatever follows it: versionShort=

How to publish beta nuget packages out of AppVeyor

折月煮酒 提交于 2019-12-06 04:48:25
问题 Here is the behavior I'm trying to achieve in AppVeyor Build the code (stamp AssemblyInfo with 1.2.3.{build} ) Test the code Create the nuget package if the tests passed Publish the beta package if the package created successfully ( 1.2.3-beta-{build} ) Also make the package available in artifacts. Ideally when publishing a nuget package it would be published as prerelease. In NuGet, this is done by adding alpha characters to the end of the package version. It is also considered bad practice

What does semantic versioning imply about parameter name changes?

99封情书 提交于 2019-12-06 04:01:51
问题 Trying to explain the importance of semantic versioning to a friend, I faced the following dilemma. Let's say we have library libfoo , version 1.2.3 that exposes the following function: def foo(x, y): """ Compute the sum of the operands. :param x: The first argument. :param y: The second argument. :returns: The sum of `x` and `y`. """ return x + y Now assume that this function and its documentation change to: def foo(a, b): """ Compute the sum of the operands. :param a: The first argument.

Is there a workaround for `npm publish -f`

拈花ヽ惹草 提交于 2019-12-05 21:00:19
问题 Now that npm publish -f is deprecated, is there a workaround or a package that makes it possible to overwrite a target version after it's been published? I know about semver; I still want npm publish -f . 回答1: someone said this on npm's github issue: @nmrony You cannot overwrite previously-published packages anymore (since February 2014, if I recall correctly). https://github.com/npm/npm/issues/8305#issuecomment-236412989 回答2: This will probably not be viable but there's an overkill method

Should major SemVer updates cascade?

江枫思渺然 提交于 2019-12-05 12:02:46
So "myLibrary" references "anotherLibrary". Both libraries follow http://semver.org/ If I release a new version of myLibrary that forces consumers to update to a new major version of anotherLibrary should the major version of myLibrary also increment? This is specifically answered in the FAQ section of semver, where it is recommended that the major version be not bumped up. http://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api It really depends on if the public API of the main library changes. I tend to treat libraries as a black box. I don't need

Is there a workaround for `npm publish -f`

眉间皱痕 提交于 2019-12-05 03:19:44
Now that npm publish -f is deprecated, is there a workaround or a package that makes it possible to overwrite a target version after it's been published? I know about semver ; I still want npm publish -f . someone said this on npm's github issue: @nmrony You cannot overwrite previously-published packages anymore (since February 2014, if I recall correctly). https://github.com/npm/npm/issues/8305#issuecomment-236412989 This will probably not be viable but there's an overkill method npm unpublish --force - will delete your entire project wait 24 hours npm publish You can unpublish a specific

How to publish beta nuget packages out of AppVeyor

让人想犯罪 __ 提交于 2019-12-04 10:56:14
Here is the behavior I'm trying to achieve in AppVeyor Build the code (stamp AssemblyInfo with 1.2.3.{build} ) Test the code Create the nuget package if the tests passed Publish the beta package if the package created successfully ( 1.2.3-beta-{build} ) Also make the package available in artifacts. Ideally when publishing a nuget package it would be published as prerelease. In NuGet, this is done by adding alpha characters to the end of the package version. It is also considered bad practice to overwrite an existing package (indeed, many nuget implementations do not allow this). AppVeyor does

What does semantic versioning imply about parameter name changes?

夙愿已清 提交于 2019-12-04 08:45:56
Trying to explain the importance of semantic versioning to a friend, I faced the following dilemma. Let's say we have library libfoo , version 1.2.3 that exposes the following function: def foo(x, y): """ Compute the sum of the operands. :param x: The first argument. :param y: The second argument. :returns: The sum of `x` and `y`. """ return x + y Now assume that this function and its documentation change to: def foo(a, b): """ Compute the sum of the operands. :param a: The first argument. :param b: The second argument. :returns: The sum of `a` and `b`. """ return a + b My first impression was