UNPKG

@nx/react-native

Version:

The Nx Plugin for React Native contains generators for managing React Native applications and libraries within an Nx workspace. It provides: -Integration with libraries such as Jest, Detox, and Storybook. -Scaffolding for creating buildable libraries th

93 lines (92 loc) 4.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertToInferred = convertToInferred; const devkit_1 = require("@nx/devkit"); const aggregate_log_util_1 = require("@nx/devkit/src/generators/plugin-migrations/aggregate-log-util"); const executor_to_plugin_migrator_1 = require("@nx/devkit/src/generators/plugin-migrations/executor-to-plugin-migrator"); const plugin_1 = require("../../../plugins/plugin"); const post_target_transformer_1 = require("./lib/post-target-transformer"); const process_start_options_1 = require("./lib/process-start-options"); const create_process_options_1 = require("./lib/create-process-options"); async function convertToInferred(tree, options) { const projectGraph = await (0, devkit_1.createProjectGraphAsync)(); const migrationLogs = new aggregate_log_util_1.AggregatedLog(); const migratedProjects = await (0, executor_to_plugin_migrator_1.migrateProjectExecutorsToPlugin)(tree, projectGraph, '@nx/react-native/plugin', plugin_1.createNodesV2, { buildAndroidTargetName: 'build-android', buildIosTargetName: 'build-ios', bundleTargetName: 'bundle', podInstallTargetName: 'pod-install', runAndroidTargetName: 'run-android', runIosTargetName: 'run-ios', startTargetName: 'start', syncDepsTargetName: 'sync-deps', upgradeTargetName: 'upgrade', }, [ { executors: ['@nx/react-native:build-android'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs, (0, create_process_options_1.createProcessOptions)('@nx/react-native:build-android', ['port', 'resetCache'], [])), targetPluginOptionMapper: (targetName) => ({ buildAndroidTargetName: targetName, }), }, { executors: ['@nx/react-native:build-ios'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs, (0, create_process_options_1.createProcessOptions)('@nx/react-native:build-ios', ['port', 'resetCache'], ['buildFolder'])), targetPluginOptionMapper: (targetName) => ({ buildIosTargetName: targetName, }), }, { executors: ['@nx/react-native:run-android'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs, (0, create_process_options_1.createProcessOptions)('@nx/react-native:run-android', ['port', 'resetCache'], ['appId', 'appIdSuffix', 'deviceId'])), targetPluginOptionMapper: (targetName) => ({ runAndroidTargetName: targetName, }), }, { executors: ['@nx/react-native:pod-install'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs), targetPluginOptionMapper: (targetName) => ({ podInstallTargetName: targetName, }), }, { executors: ['@nx/react-native:run-ios'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs, (0, create_process_options_1.createProcessOptions)('@nx/react-native:run-ios', ['port', 'resetCache'], ['buildFolder'])), targetPluginOptionMapper: (targetName) => ({ runIosTargetName: targetName, }), }, { executors: ['@nx/react-native:start'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs, process_start_options_1.processStartOptions), targetPluginOptionMapper: (targetName) => ({ startTargetName: targetName, }), }, { executors: ['@nx/react-native:sync-deps'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs), targetPluginOptionMapper: (targetName) => ({ startTargetName: targetName, }), }, { executors: ['@nx/react-native:upgrade'], postTargetTransformer: (0, post_target_transformer_1.postTargetTransformer)(migrationLogs), targetPluginOptionMapper: (targetName) => ({ upgradeTargetName: targetName, }), }, ], options.project); if (migratedProjects.size === 0) { throw new executor_to_plugin_migrator_1.NoTargetsToMigrateError(); } if (!options.skipFormat) { await (0, devkit_1.formatFiles)(tree); } return () => { migrationLogs.flushLogs(); }; } exports.default = convertToInferred;