code: function compare (checkDictionary, path, pathContent) {
          var subPromises = [];
          pathContent.forEach(function (name) {
              var JS_EXT = ".js",
                  JS_EXT_LENGTH = JS_EXT.length,
                  contentFullName = path + name,
                  contentFullNameLength = contentFullName.length;
              if (contentFullNameLength > JS_EXT_LENGTH
                  && contentFullName.indexOf(JS_EXT) === contentFullNameLength - JS_EXT_LENGTH) {
                  contentFullName = contentFullName.substring(START, contentFullNameLength - JS_EXT_LENGTH);
                  if (checkDictionary[contentFullName] === "obsolete") {
                      checkDictionary[contentFullName] = "exists";
                  } else {
                      checkDictionary[contentFullName] = "new";
                  }
              } else if (name.indexOf(".") === NOT_FOUND) {
                  subPromises.push(gpf.http.get("/fs/src/" + contentFullName)
                      .then(function (response) {
                          return JSON.parse(response.responseText);
                      })
                      .then(function (subPathContent) {
                          return compare(checkDictionary, contentFullName + "/", subPathContent);
                      }));
              }
          });
          if (!subPromises.length) {
              return Promise.resolve();
          }
          return Promise.all(subPromises);
      }
docs: endregion region Compare sources.json with repository