isInstalled.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = isInstalled;
  6. function _xcode() {
  7. const data = _interopRequireDefault(require("xcode"));
  8. _xcode = function () {
  9. return data;
  10. };
  11. return data;
  12. }
  13. var _getGroup = _interopRequireDefault(require("./getGroup"));
  14. var _hasLibraryImported = _interopRequireDefault(require("./hasLibraryImported"));
  15. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  16. /**
  17. * Copyright (c) Facebook, Inc. and its affiliates.
  18. *
  19. * This source code is licensed under the MIT license found in the
  20. * LICENSE file in the root directory of this source tree.
  21. *
  22. */
  23. const memo = new Map();
  24. /**
  25. * Returns true if `xcodeproj` specified by dependencyConfig is present
  26. * in a top level `libraryFolder`
  27. */
  28. function isInstalled(projectConfig, dependencyConfig) {
  29. let project;
  30. if (memo.has(projectConfig.pbxprojPath)) {
  31. project = memo.get(projectConfig.pbxprojPath);
  32. } else {
  33. project = _xcode().default.project(projectConfig.pbxprojPath).parseSync();
  34. memo.set(projectConfig.pbxprojPath, project);
  35. }
  36. const libraries = (0, _getGroup.default)(project, projectConfig.libraryFolder);
  37. if (!libraries) {
  38. return false;
  39. }
  40. return (0, _hasLibraryImported.default)(libraries, dependencyConfig.projectName);
  41. }
  42. //# sourceMappingURL=isInstalled.js.map