@nx/cypress:configuration

Add a Cypress configuration to an existing project.

This is a generator to add a cypress e2e configuration to an existing project.

1nx g @nx/cypress:configuration --project=my-cool-project --devServerTarget=some-app:serve 2

Running this generator, adds the required files to run cypress tests for a project, Mainly a cypress.config.ts file and default files in the <project-root>/cypress/ directory. Tests will be located in <project-root>/cypress/e2e/* by default.

You can customize the directory used via the --directory flag, the value is relative to the project root.

For example if you wanted to place the files inside an e2e folder

1nx g @nx/cypress:configuration --project=my-cool-project --devServerTarget=some-app:serve --directory=e2e 2

Providing a --devServerTarget is optional if you provide a --baseUrl or the project you're adding the configuration to has a serve target already. Otherwise, a --devServerTarget is recommend for the @nx/cypress:cypress executor to spin up the dev server for you automatically when needed.

Usage

1nx generate configuration ... 2
1nx g cypress-e2e-configuration ... #same 2

By default, Nx will search for configuration in the default collection provisioned in workspace.json.

You can specify the collection explicitly as follows:

1nx g @nx/cypress:configuration ... 2

Show what will be generated without writing to disk:

1nx g configuration ... --dry-run 2

Options

project

Required
string

The project to add a Cypress configuration to

devServerTarget

string

A devServerTarget,'<projectName>:<targetName>[:<configName>], that will be used to run tests against. This is usually the app this project will be used in. Pass --baseUrl if you wish to not use a devServerTarget.

directory

string
Default: cypress

A directory where the project is placed relative from the project root

linter

string
Accepted values: none, eslint

The tool to use for running lint checks.

port

oneOf [string, number]

Set the 'port' option on the e2e target. It's recommend to set a different port so you can run tests e2e targets in parallel. Most dev servers support using '0' to automatically find a free port. The value 'cypress-auto' can be used if the underlying dev server does not support automatically finding a free port.

baseUrl

string

The address (with the port) which your application is running on. If you wish to start your application when running the e2e target, then use --devServerTarget instead.

bundler

string
Default: webpack
Accepted values: vite, webpack, none

The Cypress bundler to use.

js

boolean
Default: false

Generate JavaScript files rather than TypeScript files.

jsx

boolean
Default: true

Whether or not this project uses JSX.

setParserOptionsProject

boolean
Default: false

Whether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.

rootProject

InternalHidden
boolean
Default: false

Create a application at the root of the workspace

skipFormat

Internal
boolean
Default: false

Skip formatting files.

skipPackageJson

Internal
boolean
Default: false

Do not add dependencies to package.json.