docs(core): add info about defaultConfiguration (#13775)

This commit is contained in:
Caleb Ukle 2022-12-12 15:55:28 -06:00 committed by GitHub
parent e5265d6348
commit f0b581d144
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 1 deletions

View File

@ -22,7 +22,7 @@ The `configurations` property provides extra sets of values that will be merged
```
You can select a configuration like this: `nx build mylib --configuration=production`
or `nx run mylib:build:configuration=production`.
or `nx run mylib:build:production`.
The following code snippet shows how the executor options get constructed:
@ -36,3 +36,31 @@ require(`@nrwl/jest`).executors['jest']({
The selected configuration adds/overrides the default options, and the provided command line args add/override the
configuration options.
## Default Configuration
When using multiple configurations for a given target, it's helpful to provide a default configuration.
For example, running e2e tests for multiple environments. By default it would make sense to use a `dev` configuration for day to day work, but having the ability to run against an internal staging environment for the QA team.
```json {% fileName="project.json" %}
{
"e2e": {
"executor": "@nrwl/cypress:cypress",
"options": {
"cypressConfig": "apps/my-app-e2e/cypress.config.ts"
},
"configurations": {
"dev": {
"devServerTarget": "my-app:serve"
},
"qa": {
"baseUrl": "https://some-internal-url.example.com"
}
},
"defaultConfiguration": "dev"
}
}
```
When running `nx e2e my-app-e2e`, the _dev_ configuration will be used. In this case using the local dev server for `my-app`.
You can always run the other configurations by explicitly providing the configuration i.e. `nx e2e my-app-e2e --configuration=qa` or `nx run my-app-e2e:e2e:qa`

View File

@ -30,6 +30,10 @@
"type": "string"
}
},
"defaultConfiguration": {
"type": "string",
"description": "The name of a configuration to use as the default if a configuration is not provided"
},
"configurations": {
"type": "object",
"description": "provides extra sets of values that will be merged into the options map",