linkDependency.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = linkDependency;
  6. function _chalk() {
  7. const data = _interopRequireDefault(require("chalk"));
  8. _chalk = function () {
  9. return data;
  10. };
  11. return data;
  12. }
  13. function _cliTools() {
  14. const data = require("@react-native-community/cli-tools");
  15. _cliTools = function () {
  16. return data;
  17. };
  18. return data;
  19. }
  20. var _pollParams = _interopRequireDefault(require("./pollParams"));
  21. var _getPlatformName = _interopRequireDefault(require("./getPlatformName"));
  22. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  23. async function linkDependency(platforms, project, dependency) {
  24. const params = await (0, _pollParams.default)(dependency.params);
  25. Object.keys(platforms || {}).forEach(platform => {
  26. const projectConfig = project[platform];
  27. const dependencyConfig = dependency.platforms[platform];
  28. if (!projectConfig || !dependencyConfig) {
  29. return;
  30. }
  31. const {
  32. name
  33. } = dependency;
  34. const linkConfig = platforms[platform] && platforms[platform].linkConfig && platforms[platform].linkConfig();
  35. if (!linkConfig || !linkConfig.isInstalled || !linkConfig.register) {
  36. return;
  37. }
  38. const isInstalled = linkConfig.isInstalled(projectConfig, name, dependencyConfig);
  39. if (isInstalled) {
  40. _cliTools().logger.info(`${(0, _getPlatformName.default)(platform)} module "${_chalk().default.bold(name)}" is already linked`);
  41. return;
  42. }
  43. _cliTools().logger.info(`Linking "${_chalk().default.bold(name)}" ${(0, _getPlatformName.default)(platform)} dependency`);
  44. linkConfig.register(name, dependencyConfig, params, projectConfig);
  45. _cliTools().logger.info(`${(0, _getPlatformName.default)(platform)} module "${_chalk().default.bold(dependency.name)}" has been successfully linked`);
  46. });
  47. }
  48. //# sourceMappingURL=linkDependency.js.map