global-package-version
Version:
Check npm package version in browser console
57 lines (45 loc) • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _browserOrNode = require('browser-or-node');
var defaultOptions = {
wrapper: 'packageVersion',
customPackageName: null
}; /* global window */
var hyphenCaseToCamelCase = function hyphenCaseToCamelCase(str) {
if (typeof str === 'string') {
return str.replace(/-([a-z])/g, function (g) {
return g[1].toUpperCase();
});
}
return str;
};
var assignToGlobal = function assignToGlobal(packageName, packageVersion, options) {
var wrapper = options.wrapper ? options.wrapper : 'packageVersion';
if (_browserOrNode.isBrowser) {
window[wrapper] = window[wrapper] || {};
window[wrapper][packageName] = packageVersion;
}
if (_browserOrNode.isNode) {
global[wrapper] = global[wrapper] || {};
global[wrapper][packageName] = packageVersion;
}
};
var globalPackageVersion = function globalPackageVersion(packageJson) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var convertedPackageName = void 0;
var packageVersion = void 0;
// eslint-disable-next-line no-param-reassign
options = Object.assign({}, defaultOptions, options);
if (packageJson && packageJson.name && packageJson.version) {
if (options.customPackageName) convertedPackageName = options.customPackageName;else convertedPackageName = hyphenCaseToCamelCase(packageJson.name);
packageVersion = packageJson.version;
} else {
convertedPackageName = 'package__not__found';
packageVersion = 'package__not__found';
}
assignToGlobal(convertedPackageName, packageVersion, options);
};
exports.default = globalPackageVersion;
module.exports = exports['default'];