nx/packages/react/src/generators/cypress-component-configuration/cypress-component-configuration.ts
2022-12-15 04:28:53 +00:00

41 lines
1.2 KiB
TypeScript

import {
ensurePackage,
formatFiles,
readProjectConfiguration,
Tree,
} from '@nrwl/devkit';
import { nxVersion } from '../../utils/versions';
import { addFiles } from './lib/add-files';
import { FoundTarget, updateProjectConfig } from './lib/update-configs';
import { CypressComponentConfigurationSchema } from './schema.d';
/**
* This is for using cypresses own Component testing, if you want to use test
* storybook components then use componentCypressGenerator instead.
*
*/
export async function cypressComponentConfigGenerator(
tree: Tree,
options: CypressComponentConfigurationSchema
) {
await ensurePackage(tree, '@nrwl/cypress', nxVersion);
const { cypressComponentProject } = await import('@nrwl/cypress');
const projectConfig = readProjectConfiguration(tree, options.project);
const installTask = await cypressComponentProject(tree, {
project: options.project,
skipFormat: true,
});
const found: FoundTarget = await updateProjectConfig(tree, options);
await addFiles(tree, projectConfig, options, found);
if (options.skipFormat) {
await formatFiles(tree);
}
return () => {
installTask();
};
}
export default cypressComponentConfigGenerator;