Available for new projects in 2026 - Available 2026 - Get in touch

🍒 Cherry-Picked Nx v18.2 Updates

Exploring My Selected Features from Nx Releases

🍒 Cherry-Picked Nx v18.2 Updates
GitHub Release 18.2.0 · nrwl/nx

[Angular] Support Angular 17.3

As usual, Nx is up to date with the latest version of Angular!

[Core] Scope Nx Plugin Project Crystal 💛💛💛

GitHub feat(core): add ability to scope plugins by FrozenPandaz · Pull Request #22379 · nrwl/nx

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 targets build, test, and classes.

[Cypress] New targetopen-cypress is added by the @nx/cypress/plugin

GitHub feat(testing): infer open-cypress task by leosvelperez · Pull Request #22556 · nrwl/nx

If you’re working with Nx Project Crystal and have a Cypress project that includes a cypress.config.* file, the @nx/cypress/pluginwill 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
      }
    }
  ]
}

Want to go further?

If you're looking to improve your Developer Experience, build AI Frameworks, or optimize your CI/CD pipelines with Nx, feel free to reach out — I'm always happy to share real-world setups and practical tips.

Jonathan Gelin

Build on Foundations,
Scale with AI.

I design AI-powered workflows and engineering foundations that make teams faster, happier, and more consistent.