Release Note 18.2 (2024β03β28)
https://github.com/nrwl/nx/releases/tag/18.2.0
[Angular] Support Angular 17.3
As usual, Nx is up to date with the latest version of Angular!
[Core] Scope Nx Plugin Project Crystal πππ
feat(core): add ability to scope plugins #22379
There is no way to users to filter where plugins are applied. Only by the plugin author.
This means that errors thrown make the plugin unusable and more modifications to the project graph are made than desired.
Plugins can be scoped via include
and exclude
which are both lists of file patterns.
{
plugins: [
{
plugin: '@nx/jest/plugin',
include: ['packages/**/*'],
exclude: ['e2e/**/*']
}
]
}
This will scope running the plugin to processing only those config files.
Fixes #
In my previous article, ββ Target Exclusions in Nx Project Crystal,β I introduced alternatives for excluding certain projects from specific plugins.
For instance, you might not want a test
target in an e2e
project simply because thereβs a jest.config.ts
file present.
Now, an official method is available for excluding or including plugins for a specific project. Within your nx.json
file, you can now specify the exclude
or include
options:
{
"plugins": [
{
"plugin": "@nx/jest/plugin",
"options": {
"targetName": "test",
"exclude": ["my-lib-e2e/**/*"]
}
}
]
}
[Gradle] New Gradle Integration
You can now leverage the new Gradle integration with the @nx/gradle:init
generator. To initialize, simply run:
nx g @nx/gradle:init
This initialization will also add the @nx/gradle/plugin
to your nx.json
:
{
"plugins": [
{
"plugin": "@nx/gradle/plugin",
"options": {
"testTargetName": "build",
"classesTargetName": "test",
"buildTargetName": "classes"
}
}
]
}
This plugin will:
Integrate your Gradle projects into the Nx Dependency Tree by scanning all Gradle configurations.
Discover your projects by scanning the Gradle configuration matching the pattern
**/build.{gradle.kts,gradle}
, and then assign the targetsbuild
,test
, andclasses
.
[Cypress] New target open-cypress
is added by the @nx/cypress/plugin
feat(testing): infer open-cypress task #22556
Infer a new task named open-cypress
, which runs the command cypress open
from the project root.
Fixes #22389
If youβre working with Nx Project Crystal and have a Cypress project that includes a cypress.config.*
file, the @nx/cypress/plugin
will automatically add related targets to your project.
A new target, open-cypress
, will now be added to your project configuration:
"open-cypress": {
"command": "cypress open",
"options": {
"cwd": ".",
},
You have the flexibility to use a different name by specifying the new plugin option openTargetName
:
{
"plugins": [
{
"plugin": "@nx/cypress/plugin",
"options": {
"targetName": "e2e",
"ciTargetName": "e2e-ci",
"componentTestingTargetName": "component-test",
"openTargetName": "open-cypress" // <-- NEW
}
}
]
}
Looking for some help? π€
**Connect with me on Twitter β’ LinkedIn β’ Github
Top comments (0)