41 lines
1.2 KiB
TypeScript
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;
|