@nx/expo
Version:
46 lines (45 loc) • 1.88 kB
JavaScript
;
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;
});
}
}