@nx/react-native
Version:
93 lines (92 loc) • 4.69 kB
JavaScript
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;
;