1788 Commits

Author SHA1 Message Date
Jack Hsu
2d210b8d0e
fix(bundling): webpack and rspack builds respect output.clean config option (#30573)
This PR fixes and issue where the standard `output.clean` option is
ignored and replaced by the Nx-specific `deleteOutputPath` option on the
`NxAppWebpackPlugin` and `NxAppRspackPlugin` plugins.

We want to allow users to use standards over our own features, so if we
see that `output.clean` is set in webpack/rspack config, then we use
that value.

For example, an Rspack config could be:

```js
const { NxAppRspackPlugin } = require("@nx/rspack/app-plugin");
const { join } = require("path");

module.exports = {
  output: {
    path: join(__dirname, "dist/demo"),
    clean: false, // <-- THIS DOES NOT WORK!
  },
  plugins: [
    new NxAppRspackPlugin({
      // ...
    }),
  ],
};
```

But even though `output.clean` is `false`, each build will still delete
`dist`. The only way to disable that behavior is to use the Nx-specific
option like this:

```js
const { NxAppRspackPlugin } = require("@nx/rspack/app-plugin");
const { join } = require("path");

module.exports = {
  output: {
    path: join(__dirname, "dist/demo"),
  },
  plugins: [
    new NxAppRspackPlugin({
      deleteOutputPath: false,
      // ...
    }),
  ],
};
```


## Current Behavior

Setting `output.clean` in Webpack/Rspack config does nothing, and we
always default our own `deleteOutputPath` to `true`.

## Expected Behavior
Setting `output.clean` standard option is respected.

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

Fixes #
2025-04-01 21:16:05 -04:00
Craigory Coppola
f5d3ba5dcd
docs(core): add some docs for maxCacheSize (#30569)
## Current Behavior
`maxCacheSize` is not documented

## Expected Behavior
`maxCacheSize` is documented

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

Fixes #
2025-04-01 16:35:44 -04:00
Isaac Mann
b50727adb4
docs(core): brew install nx (#30571)
Adds instructions to install Nx globally with Homebrew
2025-04-01 20:34:05 +00:00
Juri Strumpflohner
6ba90cdbb1
docs(misc): minor self-hosted cache docs fixes (#30554)
Minor updates to wording for the self-hosted cache pages
2025-03-31 15:35:48 -04:00
Juri Strumpflohner
a22f4fce49
docs(misc): new self-hosted cache updates (#30550)
Adds the new updates around self-hosted caching possibilities.
2025-03-31 13:28:42 -04:00
Nicholas Cunningham
415979e554
fix(nextjs): update documentation for buildable libraries and bundler configuration (#30500)
<!-- 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 docs does not differentiate between inferred target
outputs and executor outputs.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Since the outputs differ we should highlight the difference in our docs.
Also, if we pass a bundler to the Next.js lib app generator it should
respect that option.

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

Fixes #
2025-03-27 09:50:46 -06:00
Jordan
12af01453a
docs(core): improve grammar of keep-nx-versions-in-sync (#30308) 2025-03-22 15:51:36 +04:00
Jack Hsu
533e9ffc25
docs(react): update react monorepo tutorial (#30454)
This PR updates the React monorepo tutorial.

- Remove video embeds since the content is outdated (e.g. shows old TS
setup) -- we have a separate task to update and add back later
- Update the generated files to ensure they are in sync
- Update to show Playwright instead of Cypress since that is the default
- Remove one mention of `project.json` for configuration, and point to
the Inferred Tasks page instead to learn how tasks are automatically
configured
- Update code example for `apps/react-store/src/app/app.tsx` to render
`Welcome react-store` instead of `Home` so that unit and e2e tests still
pass without having to update those as well (better for the flow of the
tutorial)
2025-03-21 16:45:43 -04:00
Juri
59624c2add docs(core): remove workspaceLayout which is deprecated 2025-03-18 21:20:43 +01:00
Nicholas Cunningham
edf2c1ec0e
docs(react): add React Router with Nx documentation to surface the support for React Router (#30384)
This PR introduces a guide for using React Router with Nx and updates
the Remix guide to reflect the transition to React Router.
2025-03-18 13:47:42 -06:00
Colum Ferry
68ad76f829 docs(angular): add angular rspack version matrix 2025-03-18 16:08:37 +01:00
Colum Ferry
04005515ef
docs(angular): add angular-rspack missing features and benchmarks (#30407)
## Current Behavior
We do not have the missing features and limitations listed on the docs
for angular rspack
We do not have the benchmarks listed on the docs

## Expected Behavior
Add the missing features and limitations
Add the benchmarks
2025-03-18 13:41:24 +00:00
Colum Ferry
0082081d5c
feat(angular): add convert-to-rspack generator (#29860)
## Current Behavior
Nx currently does not offer an automated method for switching from an
Angular Webpack build to an Angular Rspack build.

## Expected Behavior
Provide a generator `convert-to-rspack` in `@nx/angular` that will allow
conversion from an Angular Webpack build to an Angular Rspack build.

Usage: `nx g convert-to-rspack --project=myapp`

## TODO
- [x] handle more builder options
- [x] take existing custom webpack configs and migrate into the rspack
config that is created
2025-03-14 17:11:21 +00:00
Colum Ferry
a72ffcbe70
docs(angular): add angular rspack documentation (#30269)
## Current Behavior
Docs for Angular Rspack currently live on angular-rspack.dev

## Expected Behavior
Migrate docs for Angular Rspack to nx.dev
2025-03-14 16:46:27 +00:00
Leosvel Pérez Espinosa
2d69aa12bf
feat(misc): enable ts solution setup by default for new workspaces (#30372)
## Current Behavior

To create a new workspace that uses the new TS solution setup the
`--workspaces` flag must be provided (Node, React, and Vue stacks).

## Expected Behavior

New workspaces should be created by default using the new TS solution
setup (Node, React, and Vue stacks). Users can opt out of it by
providing the `--no-workspaces` flag.

## Related Issue(s)

Fixes #
2025-03-14 17:42:31 +01:00
Max Kless
4e61793371 docs(misc): mention new AI features & more on Nx Console getting started page 2025-03-13 08:37:18 +01:00
alisson
d1a7ac96ce
docs(angular): fix typo in dynamic mfe section (#30311)
The documentation currently states:  
> "Add a `module-federation.manifest.json` file to the `src/public/`
folder in our Dashboard application..."

However, the correct location for the file is `public/` and **not**
`src/public/`. This could lead to confusion when implementing the
example, as the folder structure may differ.

So I fixed it to public/

This issue was reported here: [Issue
#30020](https://github.com/nrwl/nx/issues/30020).
2025-03-10 17:44:43 +00:00
Juri
8fa50e7f0d docs(core): add MCP video link to enhance AI docs 2025-03-07 17:13:35 +01:00
MaxKless
ebac21df16
docs(misc): add info & installation instructions for new MCP (#30205) 2025-03-06 17:47:10 +01:00
Nicholas Cunningham
7ba707e7b3
docs(linter): add support for esm in eslint api docs (#30277) 2025-03-05 11:46:26 -07:00
Juri
437bad4aac docs(misc): add description frontmatter for better SEO 2025-03-04 16:58:14 +01:00
Isaac Mann
c698b1ef9c
docs(core): maintain ts monorepos feature (#30256)
Adds the Maintain TypeScript Monorepos feature page
2025-03-04 10:06:24 -05:00
Jack Hsu
b992e2586b
fix(js): do not add typecheck target if tsc is used for build (#30211)
This PR adds support for skipping `typecheck` targets when using
`@nx/js/typescript`. Inside `tsconfig.json` for each project, you can
set `nx.addTypecheckTarget` to `false` to not infer `typecheck`.

This allows use to skip `typecheck` for JS projects using `tsc` to
build. Since `tsc` is already used during build, we don't need to run
`typecheck` that is just duplicated work.

<!-- 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
JS libs using `tsc` to build will do typechecking twice. Once during
`build` and once during `typecheck`.

## Expected Behavior
JS libs using `tsc` do not infer `typecheck` by default. And users can
change this behavior by setting `nx.addTypecheckTarget` in
`tsconfig.json`.

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

Fixes #

---------

Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
2025-02-28 16:08:45 -05:00
Samy M.
977e72b68c
docs(nx-dev): update version of supported versions (#30046) (#30231)
<!-- 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
The documentation currently states that `v16` is still supported, while
the correct version is `v17`.

## Expected Behavior
After this update, the documentation will correctly display `v17` as the
supported version instead of `v16`.

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

Fixes #30046 (if applicable).
2025-02-28 11:45:01 -07:00
Leosvel Pérez Espinosa
811bac5cf7
feat(angular): support angular 19.2.0 (#30088)
Add support for Angular 19.2.0.

## Current Behavior

## Expected Behavior

## Related Issue(s)

Fixes #
2025-02-27 08:55:45 -05:00
Philip Fulcher
7de6a7b0d7
docs(misc): update Custom DTE to Manual DTE (#30180)
## Current Behavior
* Using your own CI provider to distribute tasks is referred to in
multiple ways
* DTE configuration is beneath the Enterprise section of CI docs

## Expected Behavior
* Using your own CI provider to distribute tasks is referred to
consistently as "Manual DTE"
* DTE configuration is its own recipes section
 
## Related Issue(s)

---------

Co-authored-by: Isaac Mann <isaacplmann@users.noreply.github.com>
2025-02-26 09:16:55 -07:00
Steven Nance
44e7b41c4f
docs(release): document __INVALID__ conventional commit type (#30124) 2025-02-26 13:24:59 +04:00
Isaac Mann
cd361ef0ef
docs(core): react tutorial with workspaces (#30149)
Updates the react monorepo tutorial to use `--workspaces`
Small updates to the angular monorepo tutorial
2025-02-24 14:10:48 -05:00
Philip Fulcher
4367352a0a
docs(nx-dev): add updated graphql article (#30116) 2025-02-21 10:00:04 -07:00
Isaac Mann
a90de969ab
docs(core): remove standalone tutorials (#30125)
Remove standalone tutorials
2025-02-20 15:47:04 -05:00
James Henry
2a8200940a
docs(core): bring dependency management docs up to date with reality (#30123) 2025-02-20 18:47:48 +04:00
Miroslav Jonaš
a94bc7618a
docs(nx-dev): update troubleshoot-cache-misses.md (#28292)
<!-- 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-20 12:18:02 +00:00
James Henry
443d4fd27a
feat(core): support bun's new text-based lockfile and use bun publish within nx release (#30064) 2025-02-19 13:42:35 +04:00
Juri
5887baf27f docs(core): adds feature for LLM enhancing 2025-02-17 17:41:21 +01:00
Juri Strumpflohner
804df721a7
docs(misc): update links on adopting Nx page from Turbo (#30060) 2025-02-15 21:18:12 +04:00
James Henry
1257621031
docs(nx-dev): update migration guide (#30052) 2025-02-15 00:43:38 +04: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
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
Leosvel Pérez Espinosa
713b9fbaaf
feat(linter): add runtimeHelpers option to @nx/dependency-checks rule (#29954) 2025-02-11 15:30:07 +04:00
Philip Fulcher
d62b94f6a7
docs(core): remove references to dumb components (#29897)
## Current Behavior
Docs refer to smart and dumb components

## Expected Behavior
Docs refer to presentational and container components
2025-02-05 12:11:05 -07:00
Juri
041cecd6ff docs(release): link epic web nx release course 2025-02-05 16:22:51 +01:00
Benjamin Cabanes
61f9929f4a
docs(nx-dev): update nx powerpack links with UTM parameters (#29877)
Updated all Nx Powerpack-related links across documentation and UI components to include UTM parameters. This enhances referral tracking and improves analytics for link performance across different sources.
2025-02-04 15:45:55 -05:00
Juri
1059be666c docs(core): link TS related videos 2025-02-04 19:12:39 +01:00
Philip Fulcher
05e0679714
docs(nx-dev): migrating more blog posts (#29807) 2025-01-31 17:13:38 -08:00
Isaac Mann
ed1dd5fd44
docs(core): update ts migration recipe (#29815)
Updates migration to TS project references recipe
2025-01-31 15:18:22 -05:00
Philip Fulcher
8ca84f762e
docs(nx-dev): point blog links to internal blog (#29786) 2025-01-28 13:46:28 -07:00
Isaac Mann
87f1dda046
docs(core): fixes for custom tasks runner docs (#29785)
Tweaks to the new custom tasks runner docs
2025-01-28 12:31:15 -05:00
Victor Savkin
ca89f14eb3 docs(misc): add custom runners migration doc 2025-01-28 12:06:47 -05:00
Isaac Mann
84387f3611
feat(nx-dev): generate migration detail pages (#29580)
Generates list of migrations on the plugin overview page and a
standalone `/migrations` page.

To add sample code changes for a migration that has an implementation
file, create a `.md` file with the same name as the implementation file
in the same folder as the implementation file. i.e.
`move-cache-directory.md` for `move-cache-directory.ts`.

Migrations that have `packages` defined will have a table generated with
the package updates listed.

Separate PRs will be created to add sample code changes for each
migration with an implementation.

The migration list on the plugin overview page: [Angular
migrations](https://nx-dev-git-docs-migration-details-nrwl.vercel.app/nx-api/angular#migrations)
Standalone migration list page: [Angular
migrations](https://nx-dev-git-docs-migration-details-nrwl.vercel.app/nx-api/angular/migrations)
Sample migration with added markdown file details:
[17.0.0-move-cache-directory](https://nx-dev-git-docs-migration-details-nrwl.vercel.app/nx-api/nx#1700movecachedirectory)
Sample migration with only package updates: [Angular
20.4.0](https://nx-dev-git-docs-migration-details-nrwl.vercel.app/nx-api/angular#2040packageupdates)
Sample migration without any markdown file details:
[update-angular-cli-version-19-1-0](https://nx-dev-git-docs-migration-details-nrwl.vercel.app/nx-api/angular#updateangularcliversion1910)
- This last sample is very bare-bones and the reason why we need these
pages in the first place. People don't know what migrations are actually
doing. Follow up PRs will address pages like this.
2025-01-27 13:17:36 -05:00
saintfirewater
15fc599a10
docs(core): run run to run (#29516) 2025-01-24 23:22:38 +04:00