Ghost/core/server/lib/ghost-version.js
Hannah Wolfe 22e13acd65 Updated var declarations to const/let and no lists
- All var declarations are now const or let as per ES6
- All comma-separated lists / chained declarations are now one declaration per line
- This is for clarity/readability but also made running the var-to-const/let switch smoother
- ESLint rules updated to match

How this was done:

- npm install -g jscodeshift
- git clone https://github.com/cpojer/js-codemod.git
- git clone git@github.com:TryGhost/Ghost.git shallow-ghost
- cd shallow-ghost
- jscodeshift -t ../js-codemod/transforms/unchain-variables.js . -v=2
- jscodeshift -t ../js-codemod/transforms/no-vars.js . -v=2
- yarn
- yarn test
- yarn lint / fix various lint errors (almost all indent) by opening files and saving in vscode
- grunt test-regression
- sorted!
2020-04-29 16:51:13 +01:00

26 lines
796 B
JavaScript

const semver = require('semver');
const packageInfo = require('../../../package.json');
const version = packageInfo.version;
const plainVersion = version.match(/^(\d+\.)?(\d+\.)?(\d+)/)[0];
let _private = {};
_private.compose = function compose(type) {
switch (type) {
case 'pre':
return plainVersion + '-' + semver.prerelease(version)[0] + (semver.prerelease(version)[1] ? '.' + semver.prerelease(version)[1] : '');
default:
return version;
}
};
// major.minor
module.exports.safe = version.match(/^(\d+\.)?(\d+)/)[0];
// major.minor.patch-{prerelease}
module.exports.full = semver.prerelease(version) ? _private.compose('pre') : plainVersion;
// original string in package.json (can contain pre-release and build suffix)
module.exports.original = version;