diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-10-13 15:50:54 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-10-13 15:50:54 +0200 |
commit | 269d08a35fb1e5a235b4db078293d0bd3f8565ff (patch) | |
tree | 4080be0ef4fdd384d19182d38a2b8ccd7956367d /lib/version.js | |
parent | f626e83e48fbe3039aa21f5df610d9004f5f75c4 (diff) | |
download | gitbook-269d08a35fb1e5a235b4db078293d0bd3f8565ff.zip gitbook-269d08a35fb1e5a235b4db078293d0bd3f8565ff.tar.gz gitbook-269d08a35fb1e5a235b4db078293d0bd3f8565ff.tar.bz2 |
Correctly handle pre-version for plugins checks
Diffstat (limited to 'lib/version.js')
-rw-r--r-- | lib/version.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/version.js b/lib/version.js new file mode 100644 index 0000000..f0ae187 --- /dev/null +++ b/lib/version.js @@ -0,0 +1,19 @@ +var semver = require('semver'); +var pkg = require('../package.json'); + +var VERSION = pkg.version; +var VERSION_STABLE = VERSION.replace(/\-(\S+)/g, ''); + +// Test if current current gitbook version satisfies a condition +// We can't directly use samver.satisfies since it will break all plugins when gitbook version is a prerelease (beta, alpha) +function satisfies(condition) { + // Test with real version + if (semver.satisfies(VERSION, condition)) return true; + + // Test with future stable release + return semver.satisfies(VERSION_STABLE, condition); +} + +module.exports = { + satisfies: satisfies +}; |