PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@expo/cli/node_modules/@expo/config-plugins/build/ios

Просмотр файла: Target.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.TargetType = void 0;
exports.findApplicationTargetWithDependenciesAsync = findApplicationTargetWithDependenciesAsync;
exports.findFirstNativeTarget = findFirstNativeTarget;
exports.findNativeTargetByName = findNativeTargetByName;
exports.findSignableTargets = findSignableTargets;
exports.getNativeTargets = getNativeTargets;
exports.getXCBuildConfigurationFromPbxproj = getXCBuildConfigurationFromPbxproj;
exports.isTargetOfType = isTargetOfType;

function _BuildScheme() {
  const data = require("./BuildScheme");

  _BuildScheme = function () {
    return data;
  };

  return data;
}

function _Xcodeproj() {
  const data = require("./utils/Xcodeproj");

  _Xcodeproj = function () {
    return data;
  };

  return data;
}

function _string() {
  const data = require("./utils/string");

  _string = function () {
    return data;
  };

  return data;
}

let TargetType;
exports.TargetType = TargetType;

(function (TargetType) {
  TargetType["APPLICATION"] = "com.apple.product-type.application";
  TargetType["EXTENSION"] = "com.apple.product-type.app-extension";
  TargetType["WATCH"] = "com.apple.product-type.application.watchapp";
  TargetType["APP_CLIP"] = "com.apple.product-type.application.on-demand-install-capable";
  TargetType["STICKER_PACK_EXTENSION"] = "com.apple.product-type.app-extension.messages-sticker-pack";
  TargetType["OTHER"] = "other";
})(TargetType || (exports.TargetType = TargetType = {}));

function getXCBuildConfigurationFromPbxproj(project, {
  targetName,
  buildConfiguration = 'Release'
} = {}) {
  const [, nativeTarget] = targetName ? findNativeTargetByName(project, targetName) : findFirstNativeTarget(project);
  const [, xcBuildConfiguration] = (0, _Xcodeproj().getBuildConfigurationForListIdAndName)(project, {
    configurationListId: nativeTarget.buildConfigurationList,
    buildConfiguration
  });
  return xcBuildConfiguration !== null && xcBuildConfiguration !== void 0 ? xcBuildConfiguration : null;
}

async function findApplicationTargetWithDependenciesAsync(projectRoot, scheme) {
  const applicationTargetName = await (0, _BuildScheme().getApplicationTargetNameForSchemeAsync)(projectRoot, scheme);
  const project = (0, _Xcodeproj().getPbxproj)(projectRoot);
  const [, applicationTarget] = findNativeTargetByName(project, applicationTargetName);
  const dependencies = getTargetDependencies(project, applicationTarget);
  return {
    name: (0, _string().trimQuotes)(applicationTarget.name),
    type: TargetType.APPLICATION,
    dependencies
  };
}

function getTargetDependencies(project, parentTarget) {
  if (!parentTarget.dependencies || parentTarget.dependencies.length === 0) {
    return undefined;
  }

  return parentTarget.dependencies.map(({
    value
  }) => {
    const {
      target: targetId
    } = project.getPBXGroupByKeyAndType(value, 'PBXTargetDependency');
    const [, target] = findNativeTargetById(project, targetId);
    const type = isTargetOfType(target, TargetType.EXTENSION) ? TargetType.EXTENSION : TargetType.OTHER;
    return {
      name: (0, _string().trimQuotes)(target.name),
      type,
      dependencies: getTargetDependencies(project, target)
    };
  });
}

function isTargetOfType(target, targetType) {
  return (0, _string().trimQuotes)(target.productType) === targetType;
}

function getNativeTargets(project) {
  const section = project.pbxNativeTargetSection();
  return Object.entries(section).filter(_Xcodeproj().isNotComment);
}

function findSignableTargets(project) {
  const targets = getNativeTargets(project);
  const signableTargetTypes = [TargetType.APPLICATION, TargetType.APP_CLIP, TargetType.EXTENSION, TargetType.WATCH, TargetType.STICKER_PACK_EXTENSION];
  const applicationTargets = targets.filter(([, target]) => {
    for (const targetType of signableTargetTypes) {
      if (isTargetOfType(target, targetType)) {
        return true;
      }
    }

    return false;
  });

  if (applicationTargets.length === 0) {
    throw new Error(`Could not find any signable targets in project.pbxproj`);
  }

  return applicationTargets;
}

function findFirstNativeTarget(project) {
  const targets = getNativeTargets(project);
  const applicationTargets = targets.filter(([, target]) => isTargetOfType(target, TargetType.APPLICATION));

  if (applicationTargets.length === 0) {
    throw new Error(`Could not find any application target in project.pbxproj`);
  }

  return applicationTargets[0];
}

function findNativeTargetByName(project, targetName) {
  const nativeTargets = getNativeTargets(project);
  const nativeTargetEntry = nativeTargets.find(([, i]) => (0, _string().trimQuotes)(i.name) === targetName);

  if (!nativeTargetEntry) {
    throw new Error(`Could not find target '${targetName}' in project.pbxproj`);
  }

  return nativeTargetEntry;
}

function findNativeTargetById(project, targetId) {
  const nativeTargets = getNativeTargets(project);
  const nativeTargetEntry = nativeTargets.find(([key]) => key === targetId);

  if (!nativeTargetEntry) {
    throw new Error(`Could not find target with id '${targetId}' in project.pbxproj`);
  }

  return nativeTargetEntry;
}
//# sourceMappingURL=Target.js.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!