Fixed versions of npm dependencies for save backward compatibility #13
Conversation
Please, accept first: https://github.com/unclechu/gulp-livescript/commit/56615d6fa8cbcb056d26943710a621b16e1a8949 and publish it to npm (it's fix for backward compatibility for LS 1.2.0 for gulp-livescript 1.2.1). And after that accept this: https://github.com/unclechu/gulp-livescript/commit/f5d906cd3656957b8b2ad78caa9f839176422de7 and publish to npm for 1.3.0 LiveScript. Thank you. |
And don't forget to create git-tags for 1.2.1 and 1.3.0 of course :) |
Related to #11 |
Okay, that sounds more reasonable. Will do this tonight(GMT+8), thanks! |
BTW, why you chose to change all |
Because it can broke backward compatibility in the future too (as in this case with LS 1.3.0), we must shure that all be fine with dependencies. And new major version by authors of dependencies packages will not destroy our work. |
hmm, but the new npm behavior is default using |
I don't know why "^" using by default in npm, but if you bother about backward compatibility you should never use "^" or "*" or ">" or ">=". You have an example here, it can make problems. |
Another way to deal with LS version is to use peerDependencies wtih a broader range of accepted versions, so the package using gulp-livescript can decide to use specific versions of LS if desired. |
@clkao I would vote for |
I believe this creates complications, it isn't rational to set |
peerDependencies +1 |
Release
|
@tomchentw++, @unclechu++ |
I was chatting with some people in #npm channel on freenode (irc). We came to the conclusion that this is a bug in LiveScript. Because it looks like developers of LiveScript doesn't uses semver and brake backward compatibility in minor releases (but it permissible only for major releases). In that case we need to use "~" instead of "^" for "LiveScript" package version dependency. I'll create pull request. |
No description provided.