nx/packages/remix/src/generators/cypress-component-configuration/cypress-component-configuration.impl.ts

50 lines
1.3 KiB
TypeScript

import {
formatFiles,
generateFiles,
readProjectConfiguration,
readNxJson,
type Tree,
} from '@nx/devkit';
import { join } from 'path';
import { type CypressComponentConfigurationSchema } from './schema';
import { cypressComponentConfigGenerator } from '@nx/react';
export function cypressComponentConfigurationGenerator(
tree: Tree,
options: CypressComponentConfigurationSchema
) {
return cypressComponentConfigurationGeneratorInternal(tree, {
addPlugin: false,
...options,
});
}
export async function cypressComponentConfigurationGeneratorInternal(
tree: Tree,
options: CypressComponentConfigurationSchema
) {
const nxJson = readNxJson(tree);
const addPluginDefault =
process.env.NX_ADD_PLUGINS !== 'false' &&
nxJson.useInferencePlugins !== false;
options.addPlugin ??= addPluginDefault;
await cypressComponentConfigGenerator(tree, {
project: options.project,
generateTests: options.generateTests,
skipFormat: true,
bundler: 'vite',
buildTarget: '',
addPlugin: options.addPlugin,
});
const project = readProjectConfiguration(tree, options.project);
generateFiles(tree, join(__dirname, './files'), project.root, { tmpl: '' });
if (!options.skipFormat) {
await formatFiles(tree);
}
}
export default cypressComponentConfigurationGenerator;