52 Commits

Author SHA1 Message Date
Colum Ferry
82169ace03
feat(webpack): use sass-embedded and modern-compiler for sass (#29999)
## Current Behavior
Webpack and Rspack currently use `sass` and its Legacy API with
`sass-loader`.
There is also no method to pass stylePreprocessorOptions other than
`includePaths` to the loaders.


## Expected Behavior
Switch to using `modern-compiler` api to remove deprecation warnings and
improve build performance.
Allow users to choose between `sass` and `sass-embedded` for sass
compiler implementation.

Expand the `stylePreprocesserOptions` interface to accept
`includePaths`, `sassOptions` and `lessOptions` that will be passed to
the appropriate loader.
2025-02-24 12:44:19 -05:00
Colum Ferry
76d61ea5e6
feat(module-federation): consolidate module federation utils into module-federation package (#28919)
- feat(module-federation): consolidate module federation utils into
module-federation package
- chore(module-federation): fix tests and linting

<!-- 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 -->
Our current support for Module Federation relies on utilities that are
spread and duplicated across the `@nx/webpack` package and the
`@nx/rspack` package.



## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Now that we have a `@nx/module-federation` package, dedupe the utils and
consolidate them into a single package

## Todo
- [x] Migrations for React + Angular to install `@nx/module-federation`
and point `ModuleFederationConfig` export to that package from
webpack.config and rspack.config files
2024-11-18 14:15:10 -05:00
James Garbutt
e2f5eaabb5
cleanup(webpack): migrate to picocolors (#28315) 2024-11-05 13:13:54 +04:00
Jack Hsu
8e460f16d1
fix(webpack): update stylus version to fix security issue (#28646)
<!-- 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 #28541
2024-11-01 13:00:26 -04:00
Tobias Engelhardt
fb9c5ede84
fix(core): update http-proxy-middleware (#28607)
<!-- 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 #28577
2024-10-29 08:40:12 -04:00
Colum Ferry
f17e5efc08
fix(module-federation): ssr uses async-node with runtime plugin (#27492)
- fix(module-federation): SSR should work correctly
- fix(module-federation): ssr-dev-servers should wait for remotes before
starting final executor

<!-- 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 #
2024-09-04 11:33:24 -04:00
Colum Ferry
69fac0398f
fix(webpack): bump webpack-dev-server to 5.0.4 #27310 (#27375)
<!-- 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 -->
`webpack-dev-server` dependency is not up to date.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
`webpack-dev-server` dependency is up to date

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

Fixes #27310
2024-08-12 10:28:37 -04:00
Colum Ferry
a549b9b0c9
feat(module-federation): use proxy servers to proxy to single file server for static remotes (#26782)
<!-- 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 -->
Remotes that are served for a host are usually served from a single file
server running on a single port.
We perform some mapping logic during the build of the host application
to update the locations the remotes can be found at to point to the
single file server.

This works, but it's also wrong, as it breaks the flow that users
expect.
It also breaks dynamic remotes.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Continue to serve the remotes from a single file server, as this helps
reduce the amount of resources used on developers machines.
Use express to create proxy servers that will proxy requests from the
original remote location to the single file server.

This allows applications to continue to work without us having to
interfere and map any remote locations.
It also solves the issue with dynamic remotes.


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

Fixes #26318
2024-07-18 13:46:06 -04:00
Colum Ferry
483bcf3465
feat(module-federation): add nx-runtime-library-control-plugin (#26816)
- feat(module-federation): use @module-federation/enhanced for
withModuleFederation
- feat(module-federation): expose API for users to override module
federation plugin options
- fix(module-federation): angular mf ssr projects should not create
vendor chunks
- feat(module-federation): add nx-runtime-library-control-plugin

<!-- 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 -->
A common occurrence when working with NX Module Federation is that a
shared library may get resolved from a static remote.
Any changes to the shared lib are therefore not reflected in the dev
server.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Add the `nx-runtime-library-control-plugin` to ensure that shared
libraries are shared from a remote that is served via
webpack-dev-server.

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

Fixes #11615
2024-07-17 22:46:14 -04:00
Colum Ferry
a6522f71a1
feat(module-federation): use @module-federation/enhanced for withModuleFederation (#26777)
<!-- 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 -->
We currently use the `ModuleFederationPlugin` from `webpack` itself. 
This doesn't receive the same attention as the new
`@module-federation/enhanced` package, which is where all new work by
Zack Jackson and Bytedance is being conducted.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Our `withModuleFederation` utils should use the
`@module-federation/enhanced` package.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
#26322 
Fixes #
2024-07-05 09:48:17 -04:00
Nicholas Cunningham
b1dbf47aa2
feat(webpack): add convertConfigToWebpackPlugin (#26516)
This PR introduces functionality for users who currently use the
`withNx` and `withReact` plugins in their webpack configuration to
migrate to the `NxAppWebpackPlugin`.

The `nxUseLegacyPlugin` wraps the legacy style function so that it
continues to work with the standardized generated webpack config.

By implementing this change, the aim is to provide a consistent method
for users opting to transition to inferred targets. This ensures a
smoother migration process, offering better integration and reducing
potential configuration complexities.
2024-06-21 08:55:23 -04:00
Colum Ferry
558c91c909
chore(webpack): update source-map-loader to 5.0.0 #21933 (#26446)
<!-- 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` -->

## Current Behavior
<!-- This is the behavior we have today -->
Linked GH issue explains it well.
## 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 #21933
2024-06-07 13:00:41 -04:00
Jack Hsu
0c1e2e08f4
feat(web): update postcss to a version without security advisory (#23478)
https://github.com/advisories/GHSA-7fh5-64p2-3v2j

## 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 #
2024-06-05 09:10:56 -04:00
Jason Jean
7705757c62
fix(misc): adjust npm keywords (#24743)
<!-- 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` -->

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

NPM Keywords do not include those which are shown under the categories
under the `Discover packages` section. https://www.npmjs.com/

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

NPM Keywords include those which are shown under the categories under
the `Discover packages` section when applicable. https://www.npmjs.com/


![image](https://github.com/nrwl/nx/assets/8104246/ebbd4317-0336-4834-b4eb-0c673a358601)


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

Fixes #
2024-05-22 22:30:10 -04:00
Colum Ferry
448a83a116
fix(angular): ajv hoisting issue (#21641) 2024-02-06 21:21:12 +04:00
Dmitry Zakharov
8ee8f3ffc3
chore(repo): bump @babel/core plugin-transform-runtime to 7.23.2 (#20952) 2024-01-30 13:50:29 -05:00
Jack Hsu
742b9a1bcb
fix(webpack): add back deprecated Stylus support until v18 (#19810) 2023-10-23 16:15:30 -06:00
Colum Ferry
80fde79374
feat(misc): remove deprecated Angular CLI usage of schematics and builders (#19557) 2023-10-13 17:14:16 +01:00
Jack Hsu
8826a7737d
feat(react): remove stylus option from generators (#19441) 2023-10-12 12:49:45 -04:00
Jason Jean
c175f9ba11
fix(webpack): use new watcher for webpack build coordination plugin (#18822) 2023-08-25 09:06:47 -04:00
Emily Xiong
9d5a3830be
feat(misc): remove dotenv from executors (#18719) 2023-08-22 20:00:37 -04:00
Leosvel Pérez Espinosa
9cd0cf899a
fix(misc): set the correct dependency range for dotenv in plugins (#18573) 2023-08-10 13:02:50 -04:00
Jack Hsu
c97a8ac63b
feat(js): bump babel versions (#18220) 2023-07-20 11:04:16 -04:00
Colum Ferry
77bb4b7429
feat(angular): add support for TS Module Federation Config #15739 (#17876) 2023-07-12 16:14:52 +01:00
Jack Hsu
9c0c30edb4
fix(bundling): separate image and font resources so they do not conflict (#17763) 2023-06-26 09:18:27 -04:00
Colum Ferry
6305e7f497
fix(bundling): check for browserslist when setting terser ecma #17620 (#17708) 2023-06-21 18:00:05 +00:00
Katerina Skroumpelou
bf2c42c31e
feat(core): update stylus to latest version (#17519) 2023-06-09 09:11:04 -06:00
Katerina Skroumpelou
d5aca8bdf2
feat(webpack): bump css-minimizer-webpack-plugin version to latest (#17456) 2023-06-07 18:03:35 +03:00
Leosvel Pérez Espinosa
f45aa076da
feat(angular): support angular v16 (#15592) 2023-05-03 11:02:07 -04:00
Jason Jean
2d195007b0
feat(core): switch packages to use the @nx scope (#16069) 2023-04-14 19:56:37 -04:00
Jack Hsu
bfea455e64
fix(bundling): add missing @babel/core dependency to @nrwl/webpack (#16023) 2023-03-31 16:37:14 -04:00
Craigory Coppola
6834b658f7
fix(nx-plugin): allow some customization when running nx-plugins (#15438) 2023-03-21 18:35:55 -04:00
Phillip Barta
6751958143
cleanup(webpack): remove unused dependency webpack-merge (#15047) 2023-02-17 13:40:53 +02:00
Phillip Barta
0c230c8f8b
feat(webpack): update less to v4.1.3 (#15048) 2023-02-17 13:40:41 +02:00
Phillip Barta
673fff6dfb
cleanup(webpack): replace fs-extra.removeSync() with fs.rmSync() and remove dependency fs-extra (#15008) 2023-02-15 17:07:07 +02:00
Jack Hsu
d5332b4e23
feat(webpack): move web-specific options into withWeb plugin (#14590) 2023-01-26 14:17:13 -05:00
Jack Hsu
f1f69df470
feat(webpack): update babel-loader to 9.1.2 to fix hashing issues (#14527) 2023-01-20 14:52:57 -07:00
Phillip Barta
415d1c745c
fix(misc): loosen chalk version (#14276) 2023-01-13 17:44:11 -05:00
Phillip Barta
b1976796f1
chore(repo): updated dependency fs-extra to ^11.1.0 (#14232) 2023-01-12 10:25:17 -05:00
Jack Hsu
6feb56e014
feat(webpack): remove support for legacy browsers (#14190) (#14257) 2023-01-11 10:13:35 +02:00
Jack Hsu
fcc02d1932
feat(webpack): remove support for legacy browsers (#14190) 2023-01-09 12:15:37 +02:00
Jack Hsu
b63b6e43a4
feat(webpack): use webpack.sources instead of webpack-sources package (#14189) 2023-01-06 10:32:17 -05:00
Flavio Stutz
72a2bd6c68
chore(core): bump tsconfig-paths lib (#14084) (#14085) 2023-01-02 15:36:57 -05:00
Colum Ferry
b084dddff0
feat(angular): support for Angular 15 (#12112) 2022-11-17 09:31:45 -05:00
Denis Frenademetz
0391b42e7d
fix(react): upgrade loader-utils (#13021)
Fixes critical dependencies warnings in npm audit
2022-11-07 07:48:56 -07:00
Jason Jean
87b91a391a
chore(repo): update nx to 15.0.7-rc.0 (#12952) 2022-11-02 17:28:20 -04:00
Jack Hsu
f345b72ef9
fix(bundling): add missing css-loader dependency to @nrwl/webpack (#12928) 2022-11-01 20:27:59 +00:00
Jack Hsu
ed7db7c114
feat(bundling): add esbuild plugin (#12053) 2022-09-20 12:05:58 -04:00
Victor Savkin
6e6925f8e4
chore(repo): update to nx 14.7.6-beta.6 2022-09-17 15:59:06 -04:00
MaxKless
fd670d298b
docs(misc): update package descriptions to be more consistent (#12039) 2022-09-16 17:03:33 -04:00