14682 Commits

Author SHA1 Message Date
Emily Xiong
b377c96d99
feat(java): add gradle kotlin plugin (#29464)
- [x] change init to create `createNodes` instead
- [x] unit tests
- [x] test-ci
- [x] test on windows
- [x] help metadata
- [x] external nodes

TODO:
- add publish executor?
- publish to maven central?

<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->
currently, it uses [project report
plugin](https://docs.gradle.org/current/userguide/project_report_plugin.html).
- pro: no need to maintain this plugin
- con: this plugin gives limited information

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
change the project report plugin to @nxn/gradle/plugin-v1
now the @nx/gradle plugin will use project graph plugin
(dev.nx.gradle.project-graph) created in this pr.
this plugin will create json file that is exactly what nx project grpah
expected.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-23 13:13:25 -04:00
Nicholas Cunningham
296f326b94
docs(nx-dev): fix node support matrix (#30829) 2025-04-23 20:34:17 +04:00
James Henry
8c4e8105e2
chore(core): add maxRetries to temp-fs cleanup (#30828) 2025-04-23 12:00:55 -04:00
Jack Hsu
121a42a417
fix(js): remove check that ts plugin is used for ts sync generator (#30743)
This PR ensures that when `@nx/js/typescript` is not used, we do not add
`@nx/js:typescript-sync` sync generator to targets such as build, serve,
etc.

It resolves issues where `nx init` into a repo that is compatible with
TS solution will add the sync generator, even if the plugin is unused.
It leads to errors everytime users run a task like build. The error is
like this:

```
[@nx/js:typescript-sync] The `@nx/js/typescript` plugin is not registered

...

> Would you like to ignore the sync failures and continue running the task?
Yes
No
```

It makes it confusing for users, especially new users that don't know
what sync generators are. They will always run into the error and have
to choose to continue despite the failure.

**Note:** In a future follow-up, we could consider adding better info
and prompts so we can let users know that Nx also helps keep workspace
up to date, and can learn more about it.

## Current Behavior
Users see an error when running `nx add @nx/vite` and then `nx build
<project>`.

## Expected Behavior


## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-23 08:10:00 -04:00
Juri
d506c727d3 docs(nx-dev): add JPG version of hero img for social media 2025-04-23 12:00:54 +02:00
Juri Strumpflohner
b11124a40d
docs(nx-dev): some adjustments to the test splitting article (#30823)
quick updates to an upcomign blog post:
https://nx-dev-git-blog-fix-splitting-techniques-article-nrwl.vercel.app/blog/test-splitting-techniques
2025-04-23 10:27:21 +02:00
Jason Jean
16fc5517f0
fix(core): fix issue with summary missing outputs (#30819)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

Some tasks end but don't have their terminal outputs printed. When that
is the case, an error occurred where task terminal output was attempted
to be printed but did not exist.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

Tracking terminal outputs is restored to being part of printing task
terminal output.. and printing task terminal output is guaranteed when
pseudo terminal is used.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-22 21:47:42 -04:00
Jason Jean
59d92af548
fix(core): wait for exit before getting terminal output (#30816)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

An error is occurring where it cannot find the terminal output for a
task. Turns out this is because it is trying to get terminal output
basically immediately after the task has started instead of after it has
exited.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

Terminal output is retrieved after the task has exited. At this point,
terminal output is available.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-22 21:43:38 -04:00
Colum Ferry
745abdaecf
fix(angular): convert-to-rspack correctly migrating existing custom webpack configs (#30778)
## Current Behavior
The `createConfig` helper from `@nx/angular-rspack` became an async
function.
This meant that the handling of custom webpack configs in the migration
done by `convert-to-rspack` was incorrect.

## Expected Behavior
Ensure the migration is handled correctly.
Ensure that Module Federation migrations work correctly.

## Related Issues
Fixes https://github.com/nrwl/angular-rspack/issues/53
2025-04-22 15:54:51 +01:00
Nicholas Cunningham
3f2a40ffec
chore(rspack): update convert inferred generator description (#30799)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->
Currently, the `convert-to-inferred` generator description inside the
rspack package references Webpack when it should reference Rspack
instead.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
The `convert-to-inferred` generator description should reference Rspack
instead of Webpack.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes
2025-04-22 08:12:24 -06:00
Jason Jean
4e68270efd
feat(core): clean up unneeded continuous tasks after tasks are done (#30746)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

Continuous tasks go until the process is done.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

Continuous tasks are cleaned up after they're no longer needed. AKA once
their dependent tasks are done.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-22 09:52:51 -04:00
D. Ror.
99d45a3dcd
docs(misc): update add-dotnet.md (#27540)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

See
1ff848c54b/packages/core/src/generators/init/generator.ts (L30-L41)

## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Co-authored-by: Miroslav Jonaš <missing.manual@gmail.com>
2025-04-22 12:04:33 +00:00
Miroslav Jonaš
65f8e7fa80
docs(nx-dev): add blog post for test splitting techniques (#30621)
This PR creates a new enterprise blog post for test task-splitting
techniques

<img width="876" alt="image"
src="https://github.com/user-attachments/assets/1fe26716-e947-4c46-974c-d4d286e50d4e"
/>


## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #

---------

Co-authored-by: Juri <juri.strumpflohner@gmail.com>
Co-authored-by: Isaac Mann <isaacplmann@gmail.com>
2025-04-22 13:50:34 +02:00
Philip Fulcher
7735cc2b12 docs(nx-dev): adjusting publish date 2025-04-22 11:24:18 +02:00
Philip Fulcher
117d655398 docs(nx-dev): updating youtube link for nx cloud update 2025-04-22 11:24:18 +02:00
Philip Fulcher
e4793ee011 docs(nx-dev): fixing typoes in Nx Cloud update post 2025-04-22 11:24:18 +02:00
Philip Fulcher
54934de162 docs(nx-dev): add nx cloud update for april 2025 2025-04-22 11:24:18 +02:00
mauicode26
50a7859cc6
docs(core): update typo in mental-model.md (#30797)
## Current Behavior
Typo in `mental-model.md`.

## Expected Behavior
No typos in `mental-model.md`.

## Related Issue(s)
N/A
2025-04-22 11:08:11 +02:00
Jack Hsu
8619c1de90
fix(core): migrate-ui-api should always use its own migrate module (#30779)
This PR fixes an issue if the user is not updated to an Nx version that
provides the new Migrate UI API, then it will load the run version and
error out.

<img width="2672" alt="Screenshot 2025-04-17 at 10 18 45 AM"
src="https://github.com/user-attachments/assets/2720922b-6ef5-4162-a3f1-d1ccedb60acd"
/>

The fix is to always use the local `migrate.js` module.

## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
Migrate UI is broken if the migrated version does not have the new API

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
Migrate UI should always work

Fixes #
2025-04-17 15:53:12 -04:00
Benjamin Cabanes
1a267aded9
docs(nx-dev): update nx in brand kits (#30781)
Replaced the existing nx-logos-assets.zip file with a new version.
2025-04-17 12:21:40 -04:00
Juri
e73889f6b4 docs(nx-dev): add webinar link to AI article 2025-04-17 17:30:10 +02:00
Juri
4dbc3c7156 fix(nx-dev): toc should only include headings from the article body 2025-04-17 16:52:53 +02:00
Jack Hsu
178e6ef3c7
fix(react): mark react-router dev/start targets as continuous (#30776)
This PR marks dev/start from `@nx/react/router-plugin` as continuous.
Otherwise, running e2e will hang.

Repro: 
- `npx create-nx-workspace@next org --preset=react-monorepo
--appName=demo --e2eTestRunner=playwright` and pick RR For SSR
- Run `nx e2e demo-e2e`




## Current Behavior
<!-- This is the behavior we have today -->

e2e hangs because dev does not finish, and it is not marked as
continuous

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
dev and start from RR should work with e2e

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-17 10:27:48 -04:00
Jack Hsu
26489d1f50
fix(graph): ensure deps from graph-client->migrate-ui exists so taliwind styles are compiled correctly (#30762)
This PR removes the `// nx-ignore-next-line` from graph client to the
migrate lib import. Without the dep being there, the tailwind styles
will not include classes used by migrate UI.


<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
Styles are broken for migrate UI

## Expected Behavior
Styles should work

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-17 10:27:40 -04:00
Isaac Mann
b67fa37598
docs(core): fix broken links (#30775)
Fix broken link to react router github repo
2025-04-17 13:58:37 +00:00
Leosvel Pérez Espinosa
3eb9f6a822
feat(angular): remove deprecated functionalities for v21 (#30769)
Remove the deprecated functionalities scheduled to be removed in Nx v21.

BREAKING CHANGE: Remove the deprecated data persistence operators
previously exported in `@nx/angular` and the deprecated testing utils
previously exported in `@nx/angular/testing`.
2025-04-17 09:12:32 -04:00
Jack Hsu
5c30d1b95a
chore(repo): remove vite paths plugin from our own Storybook files (#30756)
This PR fixes an issue that blocks FreeBSD release for some reason.

When we use the `@nx/vite/plugins/nx-tsconfig-paths.plugin` plugin and
both `CI=1` and `NX_PREFER_TS_NODE=true` are set, then the graph fails
to compute. For example, running this will error out:

```shell
CI=1 NX_DAEMON=false NX_CACHE_PROJECT_GRAPH=false NX_PREFER_TS_NODE=true nx report
```

The error is like this:

```shell
⚠️ Unable to construct project graph.
Failed to process project graph.
     - graph/migrate/.storybook/main.ts: TypeError: Cannot set property level of [object Object] which has only a getter
      at Object.<anonymous> (/Users/jack/projects/nx/packages/nx/src/utils/output.ts:38:23)
      at Module._compile (node:internal/modules/cjs/loader:1554:14)
      at Module.m._compile (/Users/jack/projects/nx/node_modules/.pnpm/ts-node@10.9.1_@swc+core@1.5.7_@swc+helpers@0.5.11__@types+node@20.16.10_typescript@5.7.3/node_modules/ts-node/src/index.ts:1618:23)
      at node:internal/modules/cjs/loader:1706:10
      at Object.require.extensions.<computed> [as .ts] (/Users/jack/projects/nx/node_modules/.pnpm/ts-node@10.9.1_@swc+core@1.5.7_@swc+helpers@0.5.11__@types+node@20.16.10_typescript@5.7.3/node_modules/ts-node/src/index.ts:1621:12)
      at Module.load (node:internal/modules/cjs/loader:1289:32)
      at Function._load (node:internal/modules/cjs/loader:1108:12)
      at TracingChannel.traceSync (node:diagnostics_channel:322:14)
      at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
      at Module.require (node:internal/modules/cjs/loader:1311:12)
   - graph/ui-code-block/.storybook/main.ts: TypeError: Cannot set property level of [object Object] which has only a getter
      at Object.<anonymous> (/Users/jack/projects/nx/packages/nx/src/utils/output.ts:38:23)
      at Module._compile (node:internal/modules/cjs/loader:1554:14)
      at Module.m._compile (/Users/jack/projects/nx/node_modules/.pnpm/ts-node@10.9.1_@swc+core@1.5.7_@swc+helpers@0.5.11__@types+node@20.16.10_typescript@5.7.3/node_modules/ts-node/src/index.ts:1618:23)
      at node:internal/modules/cjs/loader:1706:10
      at Object.require.extensions.<computed> [as .ts] (/Users/jack/projects/nx/node_modules/.pnpm/ts-node@10.9.1_@swc+core@1.5.7_@swc+helpers@0.5.11__@types+node@20.16.10_typescript@5.7.3/node_modules/ts-node/src/index.ts:1621:12)
      at Module.load (node:internal/modules/cjs/loader:1289:32)
      at Function._load (node:internal/modules/cjs/loader:1108:12)
      at TracingChannel.traceSync (node:diagnostics_channel:322:14)
      at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
      at Module.require (node:internal/modules/cjs/loader:1311:12)
   - graph/ui-project-details/.storybook/main.ts: TypeError: Cannot set property level of [object Object] which has only a getter
      at Object.<anonymous> (/Users/jack/projects/nx/packages/nx/src/utils/output.ts:38:23)
      at Module._compile (node:internal/modules/cjs/loader:1554:14)
      at Module.m._compile (/Users/jack/projects/nx/node_modules/.pnpm/ts-node@10.9.1_@swc+core@1.5.7_@swc+helpers@0.5.11__@types+node@20.16.10_typescript@5.7.3/node_modules/ts-node/src/index.ts:1618:23)
      at node:internal/modules/cjs/loader:1706:10
      at Object.require.extensions.<computed> [as .ts] (/Users/jack/projects/nx/node_modules/.pnpm/ts-node@10.9.1_@swc+core@1.5.7_@swc+helpers@0.5.11__@types+node@20.16.10_typescript@5.7.3/node_modules/ts-node/src/index.ts:1621:12)
      at Module.load (node:internal/modules/cjs/loader:1289:32)
      at Function._load (node:internal/modules/cjs/loader:1108:12)
      at TracingChannel.traceSync (node:diagnostics_channel:322:14)
      at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
      at Module.require (node:internal/modules/cjs/loader:1311:12)
```

This is an issue for us only because we are pointing
`@nx/vite/plugins/nx-tsconfig-paths.plugin` to source. Normally, this
would already be in JS, and not need to go through `ts-node` or SWC.

I'm unsure what the exact cause is. There was nothing obvious in how we
register `ts-node`, and nothing in `ts-node` to suggest different
behavior with `CI=1`.

## Current Behavior
FreeBSD release is blocked

See: https://github.com/nrwl/nx/actions/runs/14500499978/job/40678818950

## Expected Behavior
FreeBSD release works

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-17 09:08:45 -04:00
Isaac Mann
ca4c0762da
docs(core): add april webinar (#30773)
Adds the 2025 April webinar to the webinar listing
2025-04-17 13:07:47 +00:00
Isaac Mann
cd913a9221
docs(core): add migrate keyword to feature page (#30771)
Add migrate keyword to Automate Update Dependencies feature page
2025-04-17 08:42:16 -04:00
Leosvel Pérez Espinosa
46bd9e5eb4
chore(nx-dev): ignore the public directory in the eslint configuration (#30770)
## Current Behavior

The `nx-dev:lint` task is processing the `public` directory. That
directory is meant to contain assets that ESLint shouldn't process. It
results in extra time being spent linting the project, and it could
result in some errors due to linting some generated output that's copied
there (e.g. `documentation` and `tutorials` directories).

## Expected Behavior

The `nx-dev:lint` task should not process the `public` directory.

## Related Issue(s)

Fixes #
2025-04-17 07:59:45 -04:00
Colum Ferry
0749b76e50
docs(angular): add getting started document for angular-rspack (#30767)
## Current Behavior
There is no Getting Started document for helping people to get up and
running quickly with Angular Rspack applications.
There is only a blog post about scaffolding the applications.

## Expected Behavior
Add a Getting Started document to help people get up and running
2025-04-17 12:40:13 +01:00
Juri
701bbb1401 docs(nx-dev): article about Nx and AI 2025-04-17 13:35:58 +02:00
Leosvel Pérez Espinosa
fed4da8651
feat(misc): remove generation of target defaults for atomized e2e tasks (#30730)
## Current Behavior

A target default (`dependsOn: [^build]`) for atomized e2e tasks is
always generated to work around a previous limitation where tasks
couldn't depend on continuous tasks. That meant we couldn't add the
dependency to the app's serve task and had to add it to the build task.

With continuous tasks now working, that limitation no longer exists.
We're now able to correctly infer the task dependency on the app's serve
task, and therefore, we can and need to remove the generation of
`dependsOn: [^build]` in target defaults so it doesn't override what the
Cypress and Playwright plugins infers.

## Expected Behavior

A target default (`dependsOn: [^build]`) for atomized e2e tasks should
not be generated. Instead, the Cypress and Playwright plugins will infer
the correct `dependsOn` for the task(s) run in the configured web server
command.

## Related Issue(s)

Fixes #
2025-04-17 13:27:24 +02:00
Benjamin Cabanes
1dd7d569e3
docs(nx-dev): enable WebinarNotifier for April 30th event (#30759)
Reactivated the `WebinarNotifier` component and updated references to reflect the new webinar scheduled for April 30th, 2025.
2025-04-16 21:55:20 +00:00
Jason Jean
9c9ddb571e
fix(core): disable tui when CI=true (#30754)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

When `CI=true`, the TUI is still enabled by default.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

When `CI=true`, the TUI is disabled unless it is explicitly enabled with
`NX_TUI=true`.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-16 17:21:11 -04:00
Nicholas Cunningham
8dc057519f
chore(misc): remove Node.js 18 version from nightly matrix (#30758)
This PR updates our nightly test configuration to align with the current
Node.js ecosystem.

Node.js v18 has reached end-of-life, so we're updating our nightly tests
to ensure compatibility with actively maintained Node.js versions.
2025-04-16 17:00:34 -04:00
Nicholas Cunningham
8b02fd48f7
fix(core): improve flaky ci test (#30738)
This PR updates `lerna-smoke-tests.test.ts` test file to improve the
consistency of the snapshots.
The serializer has been updated to reduce flakiness from spacing and
line breaks.
2025-04-16 15:08:16 -04:00
Colum Ferry
4b4226d2e0
docs(angular): add guide on i18n for Angular Rspack (#30732)
## Current Behavior
There is currently no documetation on how to configure i18n for Angular
Rspack applications

## Expected Behavior
Add documetation giving details on how to configure i18n for Angular
Rspack applications
2025-04-16 18:38:22 +01:00
Nicholas Cunningham
a911318017
feat(graph): Create Migrate UI (#30734)
This PR introduces a new UI in Nx Console designed to assist users with
managing migrations more effectively.

Each migration is now presented with its status and actions, allowing
users to interact directly.
If any issues arise, users can address them in isolation without
disrupting the overall flow. The migrate ui provides a clear overview of
the migration state, helping users track progress and understand what
actions are required at each step.
2025-04-16 12:40:37 -04:00
Colum Ferry
67732d6217
feat(angular): update angular-rspack to 20.7 (#30737) 2025-04-16 11:59:21 -04:00
Colum Ferry
c37007ec6c
fix(angular): handle ssr with convert-to-rspack (#30752)
## Current Behavior
The `convert-to-rspack` generator for `@nx/angular` does not currently
handle SSR Webpack applications correctly.

## Expected Behavior
Ensure that the `convert-to-rspack` generator handles SSR correctly.
2025-04-16 16:31:51 +01:00
Juri
4f8b407a75 feat(nx-dev): add course preview component 2025-04-16 17:02:54 +02:00
MaxKless
5dcec84e63
docs(react): update react lib generator (#30527)
the examples are outdated, the new ones make more sense
2025-04-16 11:01:24 -04:00
Juri
8844e245fb docs(nx-dev): update PNPM article linking to Nx PNM course 2025-04-16 15:22:38 +02:00
Mike Hartington
68c481f7d1
feat(nx-dev): add React landing page (#30612)
Co-authored-by: Juri <juri.strumpflohner@gmail.com>
2025-04-16 07:59:43 -04:00
Colum Ferry
6b081363c1
feat(webpack): set default sassImplementation to sass-embedded (#30580)
## Current Behavior
The `sassImplementation` option for Webpack and Rspack is set to `sass`
by default.
`sass-embedded` offers a faster alternative.

## Expected Behavior
Switch the default `sassImplementation` option to `sass-embedded`.
2025-04-16 11:06:57 +01:00
Jason Jean
caa26a781d
chore(repo): update nx to 21.0.0-beta.4 (#30710)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

This repo uses Nx 20.8.0-rc.0

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

This repo uses Nx 21.0.0-beta.4

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-15 19:10:16 +00:00
Jason Jean
06eaf7a4fb
fix(nx-dev): refer to the youtube video instead of storing the videos… (#30739)
… again ourselves

<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

This article has parts of a youtube video baked into it as mp4 files.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

The article points to the youtube video instead of baking in mp4 files.


https://nx-dev-git-fix-docs-nrwl.vercel.app/blog/nx-made-cursor-smarter#lets-see-it-in-action


![image](https://github.com/user-attachments/assets/35ae025e-2632-4c32-9d1d-a6420d97d229)


## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-15 18:16:44 +00:00
Jason Jean
31548a1282
fix(core): only register forced shutdown when tui is enabled (#30735)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

The `registerForcedShutdownCallback` lifecycle hook does not exist if
the TUI is not enabled as it is not on CI. But Nx tries to invoke it
anyways so it causes an error in CI:
https://github.com/nrwl/nx/actions/runs/14471341199/job/40585817051?pr=30710#step:11:31

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

The `registerForcedShutdownCallback` is only utilized when the TUI is
enabled so it will not be invoked on CI where it does not exist.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2025-04-15 16:13:01 +00:00
Isaac Mann
e5ed477c5a
docs(core): partners page (#30376)
Creates a
[/partners](https://nx-dev-git-nx-dev-partners-nrwl.vercel.app/partners)
page

---------

Co-authored-by: Jordan Powell <jordan@jpdesigning.com>
2025-04-15 11:54:03 -04:00