@nx/angular
Version:
45 lines (44 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceAppNameWithPath = replaceAppNameWithPath;
function replaceAppNameWithPath(node, appName, root) {
if (typeof node === 'string') {
const matchPattern = new RegExp(`([^a-z0-9]*(${appName}))|((${appName})[^a-z0-9:]*)`, 'gi');
if (!!node.match(matchPattern) &&
node !== 'application' &&
node !== 'library') {
const r = node.replace(appName, root);
return r.startsWith('/apps') || r.startsWith('/libs')
? r.substring(1)
: r;
}
else {
return node;
}
}
else if (Array.isArray(node)) {
return node.map((j) => replaceAppNameWithPath(j, appName, root));
}
else if (typeof node === 'object' && node) {
const forbiddenPropertyList = [
'prefix',
'builder',
'executor',
'browserTarget',
'tags',
'defaultConfiguration',
'maximumError',
'name',
'type',
'outputHashing',
'buildTarget',
]; // Some of the properties should not be renamed
return Object.keys(node).reduce((m, c) => ((m[c] = !forbiddenPropertyList.includes(c)
? replaceAppNameWithPath(node[c], appName, root)
: node[c]),
m), {});
}
else {
return node;
}
}