UNPKG

@nx/expo

Version:

The Expo Plugin for Nx contains executors and generators for managing and developing an expo application within your workspace. For example, you can directly build for different target platforms as well as generate projects and publish your code.

30 lines (29 loc) 1.19 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/expo: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); } } }