oidc-client
Version:
OpenID Connect (OIDC) & OAuth2 client library
88 lines • 11.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
const core_1 = require("@angular-devkit/core");
const schematics_1 = require("@angular-devkit/schematics");
const json_utils_1 = require("./json-utils");
const pkgJsonPath = '/package.json';
var NodeDependencyType;
(function (NodeDependencyType) {
NodeDependencyType["Default"] = "dependencies";
NodeDependencyType["Dev"] = "devDependencies";
NodeDependencyType["Peer"] = "peerDependencies";
NodeDependencyType["Optional"] = "optionalDependencies";
})(NodeDependencyType = exports.NodeDependencyType || (exports.NodeDependencyType = {}));
function addPackageJsonDependency(tree, dependency) {
const packageJsonAst = _readPackageJson(tree);
const depsNode = json_utils_1.findPropertyInAstObject(packageJsonAst, dependency.type);
const recorder = tree.beginUpdate(pkgJsonPath);
if (!depsNode) {
// Haven't found the dependencies key, add it to the root of the package.json.
json_utils_1.appendPropertyInAstObject(recorder, packageJsonAst, dependency.type, {
[dependency.name]: dependency.version,
}, 2);
}
else if (depsNode.kind === 'object') {
// check if package already added
const depNode = json_utils_1.findPropertyInAstObject(depsNode, dependency.name);
if (!depNode) {
// Package not found, add it.
json_utils_1.insertPropertyInAstObjectInOrder(recorder, depsNode, dependency.name, dependency.version, 4);
}
else if (dependency.overwrite) {
// Package found, update version if overwrite.
const { end, start } = depNode;
recorder.remove(start.offset, end.offset - start.offset);
recorder.insertRight(start.offset, JSON.stringify(dependency.version));
}
}
tree.commitUpdate(recorder);
}
exports.addPackageJsonDependency = addPackageJsonDependency;
function getPackageJsonDependency(tree, name) {
const packageJson = _readPackageJson(tree);
let dep = null;
[
NodeDependencyType.Default,
NodeDependencyType.Dev,
NodeDependencyType.Optional,
NodeDependencyType.Peer,
].forEach(depType => {
if (dep !== null) {
return;
}
const depsNode = json_utils_1.findPropertyInAstObject(packageJson, depType);
if (depsNode !== null && depsNode.kind === 'object') {
const depNode = json_utils_1.findPropertyInAstObject(depsNode, name);
if (depNode !== null && depNode.kind === 'string') {
const version = depNode.value;
dep = {
type: depType,
name: name,
version: version,
};
}
}
});
return dep;
}
exports.getPackageJsonDependency = getPackageJsonDependency;
function _readPackageJson(tree) {
const buffer = tree.read(pkgJsonPath);
if (buffer === null) {
throw new schematics_1.SchematicsException('Could not read package.json.');
}
const content = buffer.toString();
const packageJson = core_1.parseJsonAst(content, core_1.JsonParseMode.Strict);
if (packageJson.kind != 'object') {
throw new schematics_1.SchematicsException('Invalid package.json. Was expecting an object');
}
return packageJson;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS9kZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwrQ0FBa0Y7QUFDbEYsMkRBQXVFO0FBQ3ZFLDZDQUl1QjtBQUd2QixNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFDcEMsSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLDhDQUF3QixDQUFBO0lBQ3hCLDZDQUF1QixDQUFBO0lBQ3ZCLCtDQUF5QixDQUFBO0lBQ3pCLHVEQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFMVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQUs3QjtBQVNELFNBQWdCLHdCQUF3QixDQUFDLElBQVUsRUFBRSxVQUEwQjtJQUM3RSxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLFFBQVEsR0FBRyxvQ0FBdUIsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLDhFQUE4RTtRQUM5RSxzQ0FBeUIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDbkUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU87U0FDdEMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNQO1NBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUNyQyxpQ0FBaUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsb0NBQXVCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osNkJBQTZCO1lBQzdCLDZDQUFnQyxDQUM5QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFVBQVUsQ0FBQyxJQUFJLEVBQ2YsVUFBVSxDQUFDLE9BQU8sRUFDbEIsQ0FBQyxDQUNGLENBQUM7U0FDSDthQUFNLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUMvQiw4Q0FBOEM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDL0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO0tBQ0Y7SUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUEvQkQsNERBK0JDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsSUFBVSxFQUFFLElBQVk7SUFDL0QsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsSUFBSSxHQUFHLEdBQTBCLElBQUksQ0FBQztJQUN0QztRQUNFLGtCQUFrQixDQUFDLE9BQU87UUFDMUIsa0JBQWtCLENBQUMsR0FBRztRQUN0QixrQkFBa0IsQ0FBQyxRQUFRO1FBQzNCLGtCQUFrQixDQUFDLElBQUk7S0FDeEIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbEIsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUNELE1BQU0sUUFBUSxHQUFHLG9DQUF1QixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsb0NBQXVCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDakQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDOUIsR0FBRyxHQUFHO29CQUNKLElBQUksRUFBRSxPQUFPO29CQUNiLElBQUksRUFBRSxJQUFJO29CQUNWLE9BQU8sRUFBRSxPQUFPO2lCQUNqQixDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBM0JELDREQTJCQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsSUFBVTtJQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtRQUNuQixNQUFNLElBQUksZ0NBQW1CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUMvRDtJQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUVsQyxNQUFNLFdBQVcsR0FBRyxtQkFBWSxDQUFDLE9BQU8sRUFBRSxvQkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxRQUFRLEVBQUU7UUFDaEMsTUFBTSxJQUFJLGdDQUFtQixDQUFDLCtDQUErQyxDQUFDLENBQUM7S0FDaEY7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHsgSnNvbkFzdE9iamVjdCwgSnNvblBhcnNlTW9kZSwgcGFyc2VKc29uQXN0IH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7XG4gIGFwcGVuZFByb3BlcnR5SW5Bc3RPYmplY3QsXG4gIGZpbmRQcm9wZXJ0eUluQXN0T2JqZWN0LFxuICBpbnNlcnRQcm9wZXJ0eUluQXN0T2JqZWN0SW5PcmRlcixcbiB9IGZyb20gJy4vanNvbi11dGlscyc7XG5cblxuY29uc3QgcGtnSnNvblBhdGggPSAnL3BhY2thZ2UuanNvbic7XG5leHBvcnQgZW51bSBOb2RlRGVwZW5kZW5jeVR5cGUge1xuICBEZWZhdWx0ID0gJ2RlcGVuZGVuY2llcycsXG4gIERldiA9ICdkZXZEZXBlbmRlbmNpZXMnLFxuICBQZWVyID0gJ3BlZXJEZXBlbmRlbmNpZXMnLFxuICBPcHRpb25hbCA9ICdvcHRpb25hbERlcGVuZGVuY2llcycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZURlcGVuZGVuY3kge1xuICB0eXBlOiBOb2RlRGVwZW5kZW5jeVR5cGU7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBvdmVyd3JpdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkUGFja2FnZUpzb25EZXBlbmRlbmN5KHRyZWU6IFRyZWUsIGRlcGVuZGVuY3k6IE5vZGVEZXBlbmRlbmN5KTogdm9pZCB7XG4gIGNvbnN0IHBhY2thZ2VKc29uQXN0ID0gX3JlYWRQYWNrYWdlSnNvbih0cmVlKTtcbiAgY29uc3QgZGVwc05vZGUgPSBmaW5kUHJvcGVydHlJbkFzdE9iamVjdChwYWNrYWdlSnNvbkFzdCwgZGVwZW5kZW5jeS50eXBlKTtcbiAgY29uc3QgcmVjb3JkZXIgPSB0cmVlLmJlZ2luVXBkYXRlKHBrZ0pzb25QYXRoKTtcbiAgaWYgKCFkZXBzTm9kZSkge1xuICAgIC8vIEhhdmVuJ3QgZm91bmQgdGhlIGRlcGVuZGVuY2llcyBrZXksIGFkZCBpdCB0byB0aGUgcm9vdCBvZiB0aGUgcGFja2FnZS5qc29uLlxuICAgIGFwcGVuZFByb3BlcnR5SW5Bc3RPYmplY3QocmVjb3JkZXIsIHBhY2thZ2VKc29uQXN0LCBkZXBlbmRlbmN5LnR5cGUsIHtcbiAgICAgIFtkZXBlbmRlbmN5Lm5hbWVdOiBkZXBlbmRlbmN5LnZlcnNpb24sXG4gICAgfSwgMik7XG4gIH0gZWxzZSBpZiAoZGVwc05vZGUua2luZCA9PT0gJ29iamVjdCcpIHtcbiAgICAvLyBjaGVjayBpZiBwYWNrYWdlIGFscmVhZHkgYWRkZWRcbiAgICBjb25zdCBkZXBOb2RlID0gZmluZFByb3BlcnR5SW5Bc3RPYmplY3QoZGVwc05vZGUsIGRlcGVuZGVuY3kubmFtZSk7XG5cbiAgICBpZiAoIWRlcE5vZGUpIHtcbiAgICAgIC8vIFBhY2thZ2Ugbm90IGZvdW5kLCBhZGQgaXQuXG4gICAgICBpbnNlcnRQcm9wZXJ0eUluQXN0T2JqZWN0SW5PcmRlcihcbiAgICAgICAgcmVjb3JkZXIsXG4gICAgICAgIGRlcHNOb2RlLFxuICAgICAgICBkZXBlbmRlbmN5Lm5hbWUsXG4gICAgICAgIGRlcGVuZGVuY3kudmVyc2lvbixcbiAgICAgICAgNCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChkZXBlbmRlbmN5Lm92ZXJ3cml0ZSkge1xuICAgICAgLy8gUGFja2FnZSBmb3VuZCwgdXBkYXRlIHZlcnNpb24gaWYgb3ZlcndyaXRlLlxuICAgICAgY29uc3QgeyBlbmQsIHN0YXJ0IH0gPSBkZXBOb2RlO1xuICAgICAgcmVjb3JkZXIucmVtb3ZlKHN0YXJ0Lm9mZnNldCwgZW5kLm9mZnNldCAtIHN0YXJ0Lm9mZnNldCk7XG4gICAgICByZWNvcmRlci5pbnNlcnRSaWdodChzdGFydC5vZmZzZXQsIEpTT04uc3RyaW5naWZ5KGRlcGVuZGVuY3kudmVyc2lvbikpO1xuICAgIH1cbiAgfVxuXG4gIHRyZWUuY29tbWl0VXBkYXRlKHJlY29yZGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VKc29uRGVwZW5kZW5jeSh0cmVlOiBUcmVlLCBuYW1lOiBzdHJpbmcpOiBOb2RlRGVwZW5kZW5jeSB8IG51bGwge1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IF9yZWFkUGFja2FnZUpzb24odHJlZSk7XG4gIGxldCBkZXA6IE5vZGVEZXBlbmRlbmN5IHwgbnVsbCA9IG51bGw7XG4gIFtcbiAgICBOb2RlRGVwZW5kZW5jeVR5cGUuRGVmYXVsdCxcbiAgICBOb2RlRGVwZW5kZW5jeVR5cGUuRGV2LFxuICAgIE5vZGVEZXBlbmRlbmN5VHlwZS5PcHRpb25hbCxcbiAgICBOb2RlRGVwZW5kZW5jeVR5cGUuUGVlcixcbiAgXS5mb3JFYWNoKGRlcFR5cGUgPT4ge1xuICAgIGlmIChkZXAgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGVwc05vZGUgPSBmaW5kUHJvcGVydHlJbkFzdE9iamVjdChwYWNrYWdlSnNvbiwgZGVwVHlwZSk7XG4gICAgaWYgKGRlcHNOb2RlICE9PSBudWxsICYmIGRlcHNOb2RlLmtpbmQgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBkZXBOb2RlID0gZmluZFByb3BlcnR5SW5Bc3RPYmplY3QoZGVwc05vZGUsIG5hbWUpO1xuICAgICAgaWYgKGRlcE5vZGUgIT09IG51bGwgJiYgZGVwTm9kZS5raW5kID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gZGVwTm9kZS52YWx1ZTtcbiAgICAgICAgZGVwID0ge1xuICAgICAgICAgIHR5cGU6IGRlcFR5cGUsXG4gICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICB2ZXJzaW9uOiB2ZXJzaW9uLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcDtcbn1cblxuZnVuY3Rpb24gX3JlYWRQYWNrYWdlSnNvbih0cmVlOiBUcmVlKTogSnNvbkFzdE9iamVjdCB7XG4gIGNvbnN0IGJ1ZmZlciA9IHRyZWUucmVhZChwa2dKc29uUGF0aCk7XG4gIGlmIChidWZmZXIgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbignQ291bGQgbm90IHJlYWQgcGFja2FnZS5qc29uLicpO1xuICB9XG4gIGNvbnN0IGNvbnRlbnQgPSBidWZmZXIudG9TdHJpbmcoKTtcblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IHBhcnNlSnNvbkFzdChjb250ZW50LCBKc29uUGFyc2VNb2RlLlN0cmljdCk7XG4gIGlmIChwYWNrYWdlSnNvbi5raW5kICE9ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oJ0ludmFsaWQgcGFja2FnZS5qc29uLiBXYXMgZXhwZWN0aW5nIGFuIG9iamVjdCcpO1xuICB9XG5cbiAgcmV0dXJuIHBhY2thZ2VKc29uO1xufVxuIl19