Skip to content

Commit 7c5c5bb

Browse files
committed
[INTERNAL][WIP] VersionInfo: with manifest infos
minor adjustments
1 parent bff2bad commit 7c5c5bb

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

lib/processors/versionInfoGenerator.js

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const processManifest = async (manifestResource) => {
3131
id: undefined
3232
};
3333

34-
// sap.ui5/dependencies is used for the manifestHints
34+
// sap.ui5/dependencies is used for the "manifestHints/libs"
3535
if (manifestObject["sap.ui5"]) {
3636
const manifestDependencies = manifestObject["sap.ui5"]["dependencies"];
3737
if (manifestDependencies) {
@@ -44,7 +44,7 @@ const processManifest = async (manifestResource) => {
4444
}
4545
}
4646

47-
// sap.app/embeds is required for "components" in sap-ui-version.json
47+
// sap.app/embeds is used for "components"
4848
if (manifestObject["sap.app"]) {
4949
const manifestEmbeds = manifestObject["sap.app"]["embeds"];
5050
if (manifestEmbeds) {
@@ -59,6 +59,14 @@ const processManifest = async (manifestResource) => {
5959
* Library Info
6060
*
6161
* @typedef {object<string, object>} DependencyInfos
62+
*
63+
* * @example
64+
* {
65+
* sap.chart: {
66+
* lazy: true
67+
* },
68+
* sap.f: { }
69+
* }
6270
*/
6371

6472
/**
@@ -120,20 +128,7 @@ const clone = (obj) => {
120128
return JSON.parse(JSON.stringify(obj));
121129
};
122130

123-
/**
124-
*
125-
* @param {Map<string, DependencyInfos>} libraryInfosMap
126-
* @param {string} libName
127-
* @param {object} newObject
128-
*/
129-
const setManifestHints = (libraryInfosMap, libName, newObject) => {
130-
const existingEntry = libraryInfosMap.get(libName);
131-
const newLibs = merge(existingEntry, newObject);
132-
libraryInfosMap.set(libName, newLibs);
133-
};
134-
135-
const merge = (existingEntry, newObject) => {
136-
const newLibs = clone(newObject);
131+
const merge = (existingEntry, newLibs) => {
137132
if (existingEntry) {
138133
Object.keys(existingEntry).forEach((libName) => {
139134
if (!existingEntry[libName].lazy && newLibs[libName] && newLibs[libName].lazy) {
@@ -171,8 +166,10 @@ const resolve = (libName, libraryInfosMap, resolvedCache) => {
171166
const childResolved = resolve(childLibName, libraryInfosMap, resolvedCache);
172167
resolved = merge(resolved, childResolved);
173168
});
174-
resolved = merge(resolved, manifestHint);
175-
setManifestHints(libraryInfosMap, libName, resolved);
169+
resolved = merge(resolved, libraryInfosMap.get(libName));
170+
171+
// set a copy of the resolved libraries to avoid modifying it while iterating (recursively)
172+
libraryInfosMap.set(libName, clone(resolved));
176173
resolvedCache.set(libName, resolved);
177174
return resolved;
178175
};

0 commit comments

Comments
 (0)