nx/packages/jest/src/generators/jest-project/lib/update-workspace.ts
2021-01-25 12:52:30 -05:00

44 lines
1.1 KiB
TypeScript

import { JestProjectSchema } from '../schema';
import {
readProjectConfiguration,
Tree,
updateProjectConfiguration,
joinPathFragments,
normalizePath,
} from '@nrwl/devkit';
export function updateWorkspace(tree: Tree, options: JestProjectSchema) {
const projectConfig = readProjectConfiguration(tree, options.project);
projectConfig.targets.test = {
executor: '@nrwl/jest:jest',
outputs: [
joinPathFragments(
normalizePath('coverage'),
normalizePath(projectConfig.root)
),
],
options: {
jestConfig: joinPathFragments(
normalizePath(projectConfig.root),
'jest.config.js'
),
passWithNoTests: true,
},
};
const isUsingTSLint =
projectConfig.targets.lint?.executor ===
'@angular-devkit/build-angular:tslint';
if (isUsingTSLint) {
projectConfig.targets.lint.options.tsConfig = [
...(projectConfig.targets.lint.options.tsConfig || []),
joinPathFragments(
normalizePath(projectConfig.root),
'tsconfig.spec.json'
),
];
}
updateProjectConfiguration(tree, options.project, projectConfig);
}