@expo/cli
Version:
50 lines (49 loc) • 2.46 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "resolveOptionsAsync", {
enumerable: true,
get: ()=>resolveOptionsAsync
});
const _resolveDevice = require("./resolveDevice");
const _resolveNativeScheme = require("./resolveNativeScheme");
const _resolveXcodeProject = require("./resolveXcodeProject");
const _simctl = require("../../../start/platforms/ios/simctl");
const _resolveBundlerProps = require("../../resolveBundlerProps");
async function resolveOptionsAsync(projectRoot, options) {
const xcodeProject = (0, _resolveXcodeProject.resolveXcodeProject)(projectRoot);
const bundlerProps = await (0, _resolveBundlerProps.resolveBundlerPropsAsync)(projectRoot, options);
// Resolve the scheme before the device so we can filter devices based on
// whichever scheme is selected (i.e. don't present TV devices if the scheme cannot be run on a TV).
const { osType , name: scheme } = await (0, _resolveNativeScheme.resolveNativeSchemePropsAsync)(projectRoot, options, xcodeProject);
// Use the configuration or `Debug` if none is provided.
const configuration = options.configuration || "Debug";
// Resolve the device based on the provided device id or prompt
// from a list of devices (connected or simulated) that are filtered by the scheme.
const device = await (0, _resolveDevice.resolveDeviceAsync)(options.device, {
// It's unclear if there's any value to asserting that we haven't hardcoded the os type in the CLI.
osType: (0, _simctl.isOSType)(osType) ? osType : undefined,
xcodeProject,
scheme,
configuration
});
const isSimulator = (0, _resolveDevice.isSimulatorDevice)(device);
// This optimization skips resetting the Metro cache needlessly.
// The cache is reset in `../node_modules/react-native/scripts/react-native-xcode.sh` when the
// project is running in Debug and built onto a physical device. It seems that this is done because
// the script is run from Xcode and unaware of the CLI instance.
const shouldSkipInitialBundling = configuration === "Debug" && !isSimulator;
return {
...bundlerProps,
projectRoot,
isSimulator,
xcodeProject,
device,
configuration,
shouldSkipInitialBundling,
buildCache: options.buildCache !== false,
scheme
};
}
//# sourceMappingURL=resolveOptions.js.map
;