14378 Commits

Author SHA1 Message Date
Juri
46cac5bd56 docs(nx-dev): article about monorepos being AI future-proof 2025-02-17 17:04:07 +01:00
Benjamin Cabanes
80e6ca1251
docs(nx-dev): update descriptions of nx (#30054)
Revised the description across documentation, metadata, and SEO content
to emphasize Nx's AI-powered architectural awareness alongside its
monorepo optimization and advanced CI capabilities.
2025-02-17 10:35:34 -05:00
Colum Ferry
090364ad39
feat(module-federation): add NxModuleFederationPlugin for inferred usage (#30003)
## Current Behaviour
Currently, Module Federation with Nx is forced to use executors to
provide the best DX.

## Expected Behaviour
As part of the transition to inferred targets, we will need Rspack
plugins that replicates the DX provided by our executors.
Add `NxModuleFederationPlugin` and `NxModuleFederationDevServerPlugin`
to handle this.
2025-02-17 15:21:36 +00:00
Jordan
f659d2fd5e
chore(misc): update .gitignore help link (#30051)
<!-- 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
Currently when we generate a `.gitignore` file we include a help link to
http://help.github.com/ignore-files/ which is no longer a valid url.

## Expected Behavior
It should link to the new help link
https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files

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

Fixes #29794
2025-02-17 09:52:57 -05:00
Denis Bendrikov
af930c396d
feat(testing): add type annotation for Jest configuration export (#30059) 2025-02-17 16:49:07 +04:00
Alejandro Forero
d8345147ed
fix(release): allow preid option in release command (#29264) 2025-02-17 15:17:15 +04:00
Juri Strumpflohner
804df721a7
docs(misc): update links on adopting Nx page from Turbo (#30060) 2025-02-15 21:18:12 +04:00
Emily Xiong
fc39b3dc49
fix(react): add release option for @nx/react:lib --publishable (#29776) 2025-02-15 13:27:18 +04:00
Nicholas Cunningham
3152502629
feat(react): Update react-router-dom to latest (#29919)
Update `react-router-dom` and `remix` package versions to latest.
Currently, there should be no breaking changes from our generators.
2025-02-14 14:10:56 -07:00
James Henry
1257621031
docs(nx-dev): update migration guide (#30052) 2025-02-15 00:43:38 +04:00
Benjamin Cabanes
0006fbfc0b
docs(nx-dev): update tag in hero subtitle (#30053)
Replaced an instance of `<strong>` with `<Strong>` to maintain
consistent tag usage across the component. It ensures readability and
uniformity in the codebase styling.
2025-02-14 14:35:24 -05:00
Austin Fahsl
d36e4aa9ee
docs(nx-dev): creating conformance rules docs adjustments (#30038) 2025-02-14 20:19:26 +04:00
James Henry
888957a010
fix(release): ensure tags for version match stable variant before prerelease (#30047) 2025-02-14 11:08:34 -05:00
Benjamin Cabanes
2413a4393c
docs(nx-cloud): update home hero subtitle (#30049)
Revised the text to highlight the new AI-powered architectural awareness
and adjusted formatting for better readability on larger screens.
2025-02-14 10:49:17 -05:00
Colum Ferry
309a2a9228
fix(rspack): pin rspack 1.2.2 (#29997)
## Current Behavior
Rspack v1.2.3 was released with some issues around resolving and
transforming modules throwing errors at build time.

## Expected Behavior
Pin Rpsack to 1.2.2 until a solution for the above problem can be
resolved.
2025-02-14 08:04:11 -05:00
James Henry
b10856bb32
feat(release): configure when all branches should be checked for a matching releaseTagPattern (#30044) 2025-02-14 17:02:02 +04:00
Hikari Hayashi
b821d2954b
fix(core): add the extends field to nx-schema.json (#30027) 2025-02-14 09:26:29 +00:00
Emily Xiong
ef08108f7a
fix(core): change to use init generator during import (#30029)
<!-- 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 -->
- call init generator using implementationFactory, causing issue because
schema.json file isnt respected, and then NX_INTERACTIVE is never set to
true

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
- change back to run init command

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

Fixes #
2025-02-13 22:02:12 -05:00
Nicholas Cunningham
3c0820f707
fix(vite): prevent asset copying when NX_GRAPH_CREATION is enabled (#30037)
This PR includes updates to the `nxCopyAssetsPlugin` function in the
`packages/vite/plugins/nx-copy-assets.plugin.ts` file to improve asset
handling and daemon integration.

The most important changes include adding a check for
`NX_GRAPH_CREATION`.

Additionally, it also contains a check to ensure that before attempting
to watch for file changes the daemon should be available.
2025-02-13 22:01:57 -05:00
Leosvel Pérez Espinosa
13319a857d
fix(js): improve the @nx/js/typescript plugin performance (#30024)
Improve the perf of the `@nx/js/typescript` plugin both in cold and warm
scenarios. The main changes done are:

- Batch some processing to do it once instead of doing it per config
file (avoids some duplicated processing)
- Use a custom TS host to read tsconfig files to reduce I/O operations
- Cache tsconfig files' reads

Benchmark results in a repo with 656 TS projects:

```
# Before the changes

Cold (NX_CACHE_PROJECT_GRAPH=false): ~2285 ms
Warm (NX_CACHE_PROJECT_GRAPH=true): ~2142 ms

# After the changes

Cold (NX_CACHE_PROJECT_GRAPH=false): ~597 ms
Warm (NX_CACHE_PROJECT_GRAPH=true): ~220 ms
```

Note: Once https://github.com/nrwl/nx/pull/29935 is merged. I'll send
another change to batch the file hashes.

## Current Behavior

## Expected Behavior

## Related Issue(s)

Fixes #
2025-02-13 14:26:38 -05:00
Craigory Coppola
c2e89f87b5
feat(core): add multi hash fn (#29935)
Adds function to compute multiple glob hashes in native code at the same time, greatly speeding up certain plugin performance.
2025-02-13 14:21:54 -05:00
Jack Hsu
2ebdd2e5a2
feat(nx-dev): add Faro for observability (#30021)
This PR adds frontend observability using Grafana Faro. It will provide
traffic data and performance data.
2025-02-13 14:12:21 -05:00
Mike Hartington
4cdbd2cb32
docs(misc): add canonical urls to website (#30025) 2025-02-13 12:01:12 -05:00
Leosvel Pérez Espinosa
eb0505b1ad
fix(vite): ignore vite temp files in eslint config (#29909)
## Current Behavior

Vite config temp files can sometimes cause errors to be thrown by
ESLint.

## Expected Behavior

Vite config temp files should be ignored by ESLint.

## Related Issue(s)

Fixes #
2025-02-13 17:04:26 +01:00
Leosvel Pérez Espinosa
9e204f973c
feat(webpack): add option to opt out of watching buildable dependencies (#29984)
Add a `watchDependencies` options to the relevant webpack executors and
plugins to allow opting out of watching buildable dependencies.

## Current Behavior

## Expected Behavior

## Related Issue(s)

Fixes #29961
2025-02-13 17:00:54 +01:00
Craigory Coppola
9234241570
fix(testing): remove dependency on @nx/vite and @nx/webpack from @nx/playwright (#30023) 2025-02-13 15:16:31 +00:00
Isaac Mann
b5df8c25be
chore(nx-dev): webinar page styling (#30010)
Updates the /webinar page styling
2025-02-13 09:52:37 -05:00
Chau Tran
1c2d0860b5
feat(graph): update graph lib to latest nx graph (#29768) 2025-02-13 06:58:03 -06:00
Emily Xiong
b8ee838e23
fix(gradle): log gradlew output for verbose (#29966)
<!-- 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 -->

## 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 #
2025-02-12 20:33:40 -05:00
James Henry
8b1cd482e3
fix(core): tweaks to nx init (#30002)
<!-- 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 -->

## 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 #
2025-02-12 15:37:42 -05:00
Leosvel Pérez Espinosa
672318de7f
fix(core): handle nullable lock when creating project graph (#30000)
## Current Behavior

The project graph construction can throw an error when the lock is not
created:
https://github.com/nrwl/nx/issues/29821#issuecomment-2653007563.

## Expected Behavior

The project graph construction should correctly handle the nullable
lock.

## Related Issue(s)

Fixes #
2025-02-12 12:21:23 -05:00
Philip Fulcher
0ff3d70108
docs(nx-dev): add vattenfall article (#29896)
- **doccs(nx-dev): add vattenfall article**
- **feat(nx-dev): add testimonial markdown component**
2025-02-12 09:43:39 -07:00
Benjamin Cabanes
9d95520fa3
docs(nx-dev): update NxPowerpack-Trial PDF & remove old duplicate file (#30004)
The duplicate PDF file in the `docs/shared/features` directory was
removed. The updated version of `NxPowerpack-Trial-v1.1.pdf` is now
properly placed in the `public/assets/powerpack` directory.
2025-02-12 10:29:26 -05:00
Nicholas Cunningham
4e04979a36
fix(rspack): should be inferred by default (#29736)
This PR updates the Rspack Plugin to be inferred by default.

### Currently
When you generate a project using rspack it would not be inferred and
would add the executor to `project.json`.

### After
Generating a project using rspack will add it to inferred plugins inside
`nx.json` and update the `rspack.config.js` to be a standard config and
use Nx plugins.
2025-02-12 07:24:39 -07:00
Emily Xiong
7c5fcf3566
fix(gradle): fix gradle undefined dependency target (#29943)
<!-- 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 -->
got this error:
```
 NX   Cannot read properties of undefined (reading '1')

TypeError: Cannot read properties of undefined (reading '1')
    at fileDataDepTarget (/Users/emily/code/tmp/spring-boot/.nx/installation/node_modules/nx/src/config/project-graph.js:13:18)
    at ProjectGraphBuilder.calculateTargetDepsFromFiles (/Users/emily/code/tmp/spring-boot/.nx/installation/node_modules/nx/src/project-graph/project-graph-builder.js:271:74)
```

this happens because the project in the dependency file is in format
like `:spring-boot-project:spring-boot-autoconfigure (*)`. need to take
out the text after space.

## 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 #
2025-02-11 20:14:58 -05:00
Benjamin Cabanes
e77280f7d4
docs(nx-dev): update webinar description to highlight React apps and DX (#29990)
Revised the text to emphasize building modern React applications with
platform-native tools.
2025-02-11 21:06:22 +00:00
Ryan Bas
2d9a673ec8
fix(linter): dependency-check-support-catalogs (#29923)
<!-- 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
Currently there doesn't seem to be support for pnpm catalogs in the
dependency check which throws an error.



## Expected Behavior
Catalog should be supported and at least not throw an error since its a
default rule in some generators.
I noticed that also that only `workspace:*` was implemented so I added
the other possible options.

https://pnpm.io/workspaces#publishing-workspace-packages

I copy and pasted a test twice to add tests for this.

I mean ideally I guess we would check the `pnpm-workspace` file and say
is this catalog defined, I don't think that's up my ally for this
purpose and I'm not sure if how its implemented does that for the
workspace protocols as well.

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

Fixes #
closed #29903, #29959


Gave it a shot, not sure if this is gonna be comprehensive enough. But
let me know! happy to try and get this right.

---------

Co-authored-by: Jack Hsu <jack.hsu@gmail.com>
2025-02-11 15:20:51 -05:00
Benjamin Cabanes
3815df40e1
docs(nx-dev): add webinar details for February 26th (#29989)
Added the webinar notifier and related links to reflect the new date of
February 26th. Revised webinar description to emphasize new topics.
Reintroduced and adjusted UI references in enterprise hero section for
better event promotion.
2025-02-11 15:17:25 -05:00
Isaac Mann
61302f53c6
docs(core): update webinars (#29988)
Update the webinar content
2025-02-11 13:10:40 -05:00
Colum Ferry
c1ebcb9129
feat(vite): add support for vite 6 (#29871)
## Current Behavior
Nx currently supports Vite at version 5. Nx does not generate vite
configurations using Vite 6 which has been released.
 

## Expected Behavior
Nx should use Vite 6 for vite projects.

## TODO
- [x] Add Package Update Migrations for Existing Projects
- [x] Add AST migrations to handle breaking change in resolve.extensions
- [x] Add migration to install `jsx` or `jiti` to handle processing TS
postcss config files
2025-02-11 11:28:23 -05:00
Leosvel Pérez Espinosa
db4544844c
fix(angular): do not generate @nx/dependency-checks block in flat root eslint config (#29980)
## Current Behavior

Generating a buildable Angular library results in a block for the
`@nx/dependency-checks` being added to the root ESLint Flat Config file
every time.

## Expected Behavior

Generating a buildable Angular library should not add a block for the
`@nx/dependency-checks` to the root ESLint Flat Config file. The
configuration is meant to be added to the project configuration, which
it already does.

## Related Issue(s)

Fixes #29970
2025-02-11 17:06:44 +01:00
Emily Xiong
22a519a612
chore(gradle): add max to code owners (#29967)
<!-- 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 -->

## 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 #
2025-02-11 09:47:58 -05:00
Leosvel Pérez Espinosa
713b9fbaaf
feat(linter): add runtimeHelpers option to @nx/dependency-checks rule (#29954) 2025-02-11 15:30:07 +04:00
Victor Savkin
9672949f82 chore(repo): optimize assignment rules 2025-02-10 16:14:58 -05:00
Jason Jean
435e4056a9
fix(core): fix plugin error indexes (#29936)
<!-- 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 errors were misaligned to the plugin index they pertained to.

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

The errors are not misaligned to the plugin index they pertain to.

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

Fixes #
2025-02-10 14:03:09 -05:00
Emily Xiong
540aeff488
fix(js): allow publishable library to run release command (#29775)
<!-- 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 -->
- there is no option `fallbackCurrentVersionResolver: 'disk',`
- can't run release for newly created publishable libraries

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
- move code to add release for publishable libraries into its own file
to be reused by other stacks
- add `fallbackCurrentVersionResolver: 'disk',` to project's
release.version. generatorOptions

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

Fixes https://github.com/nrwl/nx/issues/29723
2025-02-10 14:02:15 -05:00
Miroslav Jonaš
48421fdb9e
docs(nx-dev): fix grammar on hero.tsx (#29955)
<!-- 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 -->

## 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 #
2025-02-10 17:09:56 +00:00
Juri
c8072fa20e feat(nx-dev): add company video 2025-02-10 16:11:59 +01:00
Jack Hsu
d5b8908449
fix(linter): install @eslint/eslintrc package as necessary (#29933)
When flat compat is necessary, we don't ensure that `@eslint/eslintrc`
is installed, even though we import it. Depending on the package manager
and hoisting, it may still work, but as we see with pnpm v10, it is not
working without an explicit dependency in `package.json`.

<!-- 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
Some app generators are broken is we use eslint compat.

## Expected Behavior
App generators should work.

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

Fixes #29845
2025-02-10 10:06:28 -05:00
Leosvel Pérez Espinosa
1841690c63
chore(repo): update nx packages to 20.5.0-beta.2 (#29873)
## Current Behavior

## Expected Behavior

## Related Issue(s)

Fixes #
2025-02-10 10:50:06 +01:00