design-angular-kit
Version:
Un toolkit Angular conforme alle linee guida di design per i servizi web della PA
49 lines • 2.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPackageVersionFromPackageJson = exports.addPackageToPackageJson = exports.toSemVerObject = void 0;
const SEMVER_WITH_PREFIX_REGEX = /^[\^~]?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9A-Za-z-][0-9A-Za-z-]*))*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/;
function sortObjectByKeys(obj) {
return Object.keys(obj)
.sort()
.reduce((result, key) => {
result[key] = obj[key];
return result;
}, {});
}
/** Get a SemVerObject given a semver string */
function toSemVerObject(versionString) {
var _a;
const [semVer, major, minor, patch, prerelease, buildmetadata] = (_a = versionString.match(SEMVER_WITH_PREFIX_REGEX)) !== null && _a !== void 0 ? _a : [];
return { semVer, major, minor, patch, prerelease, buildmetadata };
}
exports.toSemVerObject = toSemVerObject;
/** Adds a package to the package.json in the given host tree. */
function addPackageToPackageJson(host, pkg, version) {
if (host.exists('package.json')) {
const sourceText = host.read('package.json').toString('utf-8');
const json = JSON.parse(sourceText);
if (!json.dependencies) {
json.dependencies = {};
}
if (!json.dependencies[pkg]) {
json.dependencies[pkg] = version;
json.dependencies = sortObjectByKeys(json.dependencies);
}
host.overwrite('package.json', JSON.stringify(json, null, 2));
}
return host;
}
exports.addPackageToPackageJson = addPackageToPackageJson;
/** Gets the version of the specified package by looking at the package.json in the given tree. */
function getPackageVersionFromPackageJson(tree, name) {
if (!tree.exists('package.json')) {
return null;
}
const packageJson = JSON.parse(tree.read('package.json').toString('utf8'));
if (packageJson.dependencies && packageJson.dependencies[name]) {
return packageJson.dependencies[name];
}
return null;
}
exports.getPackageVersionFromPackageJson = getPackageVersionFromPackageJson;
//# sourceMappingURL=utils.js.map
;