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.

46 lines (45 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateTsConfigFiles = updateTsConfigFiles; const devkit_1 = require("@nx/devkit"); const path_1 = require("path"); function determineTsConfig(tree, projectName) { const project = (0, devkit_1.readProjectConfiguration)(tree, projectName); const appJson = (0, devkit_1.joinPathFragments)(project.root, 'tsconfig.app.json'); if (tree.exists(appJson)) return 'tsconfig.app.json'; const libJson = (0, devkit_1.joinPathFragments)(project.root, 'tsconfig.lib.json'); if (tree.exists(libJson)) return 'tsconfig.lib.json'; return 'tsconfig.json'; } function updateTsConfigFiles(tree, projectName, projectRoot) { // Determine which main tsconfig file to update (app or lib) const mainTsConfigFile = determineTsConfig(tree, projectName); const mainTsConfigPath = (0, path_1.join)(projectRoot, mainTsConfigFile); // Update main tsconfig (app or lib) to exclude jest.resolver.js if (tree.exists(mainTsConfigPath)) { (0, devkit_1.updateJson)(tree, mainTsConfigPath, (json) => { if (!json.exclude) { json.exclude = []; } if (!json.exclude.includes('jest.resolver.js')) { json.exclude.push('jest.resolver.js'); } return json; }); } // Update tsconfig.spec.json to include jest.resolver.js const specTsConfigPath = (0, path_1.join)(projectRoot, 'tsconfig.spec.json'); if (tree.exists(specTsConfigPath)) { (0, devkit_1.updateJson)(tree, specTsConfigPath, (json) => { if (!json.include) { json.include = []; } if (!json.include.includes('jest.resolver.js')) { json.include.push('jest.resolver.js'); } return json; }); } }