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

31 lines (30 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = update; const devkit_1 = require("@nx/devkit"); const node_fs_1 = require("node:fs"); /** * Remove ensure-symlink target. * It is going to be supported by react-native version 0.73 by default. */ async function update(tree) { const projects = (0, devkit_1.getProjects)(tree); for (const [projectName, config] of projects.entries()) { if (config.targets?.['ensure-symlink']?.executor === '@nx/react-native:ensure-symlink') { removeTargets(config.targets, 'ensure-symlink'); (0, devkit_1.updateProjectConfiguration)(tree, projectName, config); (0, node_fs_1.rmSync)(`${config.root}/node_modules`, { recursive: true, force: true }); } } } function removeTargets(targets, targetNameToRemove) { for (const targetName in targets) { if (targetName === targetNameToRemove) { delete targets[targetName]; } if (targets[targetName]?.dependsOn?.length) { targets[targetName].dependsOn = targets[targetName].dependsOn.filter((dependsOn) => dependsOn !== targetNameToRemove); } } }