102 Commits

Author SHA1 Message Date
Colum Ferry
7351a1a25e
feat(react): add rspack module federation support (#27696)
- feat(react): add remote rspack module federation support
- feat(react): add host rspack module federation support
- feat(react): add federate module rspack module federation support
- fix(react): migration test

<!-- 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 do not have an option to generate a react host and remote with rspack


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Add rspack as an option when generating host and remote

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

Fixes #
2024-09-06 09:54:27 -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
396a5deea9
fix(module-federation): ensure target defaults are set correctly #27448 (#27472)
<!-- 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 -->
Target Defaults set up for the Module Federation builds is incorrect or
missing.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Target Defaults for Module Federation builds is set up correctly

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

Fixes #27448
2024-08-16 15:00:45 +01:00
Nicholas Cunningham
edced6c3ee
fix(module-federation): Add migration for ssr server file to run on it's own port (#27411)
<!-- 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, if you have a SSR Mfe project and you run multiple ssr
projects using the 'serve' target it would fail due to conflicting ports
unless explicitly set `PORT=4202 node dist/acme/server.js`.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Now the default is to have the server take the same port as it was
generated with so that if you run multiple server apps that depends on
other apps in dev mode there will be no conflicts.

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

Fixes #
2024-08-14 16:11:39 +00:00
Colum Ferry
225a8e019c
fix(module-federation): turn dts off by default #27198 (#27403)
- fix(angular): turn mf dts off by default #27198
- fix(react): turn mf dts off by default
- fix(react): add migration to turn module federation dts off by default
- fix(angular): add migration to turn module federation dts off by
default

<!-- 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 -->
Nx already provides Typing support for Module Federation projects. The
`@module-federation/enhanced` package has typing support turned on by
default but it can be problematic.


## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Turn off `@module-federation/enhanced` own dts plugin providing typing
support in favour of Nx's own typing support

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

Fixes #27198
2024-08-14 14:14:37 +01: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
Jason Jean
a64a7e2db9
feat(core): cleanup for v19 (#22993) 2024-05-01 12:12:32 -04:00
Colum Ferry
81df8485a1
fix(module-federation): ensure targetDefaults for module federation executors are setup correctly (#22282) 2024-03-12 19:33:27 +00:00
Isaac Mann
7c231e34fb
fix(core): module federation migration for project with no targets (#21536) 2024-02-02 10:50:13 -05:00
Colum Ferry
f0f5039962
fix(module-federation): ensure the static remotes env var is used for task hashing #21390 (#21414) 2024-01-31 17:06:12 +00:00
Jason Jean
47e9fc8ed6
feat(misc): remove migrations for v14 and under (#19552) 2023-10-11 10:46:17 -04:00
Emily Xiong
fc76d6f683
bugfix(react): not update tsconfig node apps (#19466) 2023-10-05 14:22:59 -06:00
Jack Hsu
f110d0c0e6
chore(react): update unit tests to use "as-provided" when generating apps/libs (#18893) 2023-08-30 09:13:05 -06:00
Isaac Mann
1ac034ba60 docs(core): move package recipes 2023-08-25 14:32:13 +02:00
Nicholas Cunningham
85f4737b37
fix(react): add typings to types instead of files (#18501) 2023-08-07 20:41:37 +02:00
Miroslav Jonaš
b3174587a9
fix(react): add babel/core when babel/preset-react is preset (#18462) 2023-08-03 21:33:56 +02:00
Emily Xiong
623ef1dcf6
feat(react): upgrade react-router-dom to 6.11.2 (#17078) 2023-05-23 10:02:21 -04:00
Miroslav Jonaš
846320a6b9
chore(repo): enable enforce-module-boundaries on nx repo (#16864) 2023-05-10 11:35:33 -04:00
Nicholas Cunningham
832fa71488
fix(react): bump migration version (#16822) 2023-05-06 14:32:11 -06:00
Nicholas Cunningham
4750a1daa4
fix(react): remove outdated packages (#16786) 2023-05-05 14:42:43 -04:00
Miroslav Jonaš
2dd59c3b57
feat(core): extract js related code from affected and hasher (#16244) 2023-04-18 10:42:05 -04:00
Jason Jean
2d195007b0
feat(core): switch packages to use the @nx scope (#16069) 2023-04-14 19:56:37 -04:00
Caleb Ukle
85b3315b34
chore(misc): update snapshots to latest format (#16276) 2023-04-14 11:29:06 -04:00
Jason Jean
4a55ee9a33
fix(js): run prettier with default options when theres no prettierrc (#15888) 2023-03-27 18:00:24 -04:00
Colum Ferry
c3a58e9c1d
feat(core): move forEachExecutorOptions to devkit (#15547) 2023-03-10 17:04:10 +00:00
Katerina Skroumpelou
bb51e98190
fix(react): install @nrwl/webpack when migrating (#15062) 2023-02-17 13:33:18 +02:00
Jack Hsu
cda00d9687
fix(webpack): config migrations should account for different configurations (#14672) 2023-01-27 20:50:25 +00:00
Katerina Skroumpelou
dba4a065ca
feat(react): migrate webpack config (#14663) 2023-01-27 09:57:38 -05:00
Jack Hsu
d7536aa7e3 feat(core): clean up workspace configuration code 2023-01-23 19:35:15 -05:00
Katerina Skroumpelou
6b6ab4e397
chore(vite): fix name of vite executor in test (#13693) 2022-12-07 10:41:48 -05:00
Jack Hsu
5b7dba1cb7
fix(react): clean-up after dependency removal from @nrwl/react (#13563) 2022-12-02 16:58:07 +00:00
Jack Hsu
cded83b2c5
feat(react): remove unnecessary dependencies from @nrwl/react (#13525) 2022-12-01 17:06:32 -05:00
Jack Hsu
08689b03be
fix(react): generate new libs with @nrwl/rollup:rollup instead of @nr… (#13526) 2022-12-01 04:38:36 +00:00
Victor Savkin
16fd4374d6 feat(misc): derive workspace layout dynamically 2022-11-23 15:45:13 -05:00
Miroslav Jonaš
ab6f62a9b5
feat(core): move runtime-lint-utils to eslint plugin (#13222) 2022-11-18 12:24:53 +01:00
Craigory Coppola
9b63ce167a
feat(core): don't generate workspace.json for v2 workspaces (#12127) 2022-09-27 23:16:22 +00:00
Jack Hsu
f49769a34a
feat(webpack): add webpack plugin (#11966) 2022-09-12 21:19:50 +01:00
Caleb Ukle
657b2bff5a
feat(testing): support jest 28 (#10857)
* feat(testing): support jest 28

WIP jest migration

* fix(testing): jest-environment-jsdom must be explicitly added now

* fix(testing): add rxjs to the transform lsit

* fix(testing): jest ts-jest updates and resolver issues

* feat(testing): remove test runner for react native jest

* feat(testing): add preprocessor for react native jest

* fix(testing): update query to handle tsx file syntax, remove rxjs transform

* chore(repo): remove file from accident commit

* chore(testing): update migration to target 14.6 for RN jest preprocessor

* fix(testing): call passed in packageFilter if preset

* docs(testing): add resolver env var to troubleshooting guide

* chore(repo): prep resolver for jest 28 migration

* fix(testing): update deps to handle esbuild-wasm service error

* fix(testing): switch to testEnvironmentOptions for cjs loading vs resolver list

* fix(testing): force babel-jest preset in transformer for project transforms

* chore(testing): address PR feedback

* fix(testing): address pr feedback, remove react-native transform

* chore(testing): update createTreeWithEmptyWorkspace calls

* chore(testing): address pr feedback

* feat(testing): add migration script for react native to rename .babelrc to babel.config.json

* chore(testing): nx format after rebase

* chore(testing): fix display name for @nrwl/js

Co-authored-by: Emily Xiong <xiongemi@gmail.com>
2022-08-18 18:40:31 -04:00
Craigory Coppola
458fc36014
chore(misc): split create tree with empty workspace to remove parameter (#10188)
* feat(devkit): split create-empty-tree to different functions

* chore(repo): apply migration for createEmptyTree

* cleanup(misc): fix tests that migration misses
2022-08-11 19:24:04 -04:00
Ihor
57a6ebcfcd
fix(react): fix typo in testing-library migrations 2022-07-15 14:46:38 -04:00
Noriyuki Shinpuku
a2c22eb63a
fix(react): fix external option for @emotion/react (#7870) 2022-05-30 13:36:45 -04:00
Jonathan Wagner
c35b13dd26
fix(react): migrations should not crash when adding development configuration (#10261) 2022-05-12 14:30:33 -04:00
Chau Tran
512237caf7
feat(core): add nx.json, workspace.json, and project.json JSON schemas (#10228)
* feat(core): add nx.json, workspace.json, and project.json JSON schemas

ISSUES CLOSED: #8574, #2299

* fix(core): add ajv to test generated config files based on JSON schema

* fix(core): only add $schema to project.json if it is standalone and in create mode

* feat(core): add migration to add json schema to config files for 14.2.0

* fix(core): adjust schemas

* chore(core): adjust tests across repo to adhere to JSON schema if generated

* fix(core): construct the json schema object instead of using a boolean flag

* chore(core): add ajv tests for workspacejson and nxjson

* chore(core): remove unnecessary standalone check
2022-05-10 15:05:26 -05:00
Victor Savkin
920d8aa355
chore(repo): update repo to nx14 (#9908) 2022-04-20 21:40:12 -04:00
Jack Hsu
ff3b3a717c
fix(react): update migrations to work for projects without targets (#9906) 2022-04-20 18:59:30 +00:00
Jack Hsu
e7447685cc
fix(react): update migration to work without targets (#9901) 2022-04-20 18:25:57 +00:00
Jack Hsu
2b421117bf
feat(react): add default development configuration for React and Next.js apps (#9892) 2022-04-20 04:27:19 +00:00
Jack Hsu
25c63b6795
feat(react): upgrade to React 18 (#9847)
BREAKING CHANGE: react-router API has changed, and @testing-library/react-hooks has been deprecated (See: https://nx.dev/guides/react-18)
2022-04-19 11:50:27 -04:00
Jack Hsu
67a5b4169f
fix(react): migrate react-test-renderer correctly (#9811) 2022-04-13 09:29:58 -04:00
Jack Hsu
b02beb551b
feat(react): update to react 18 (#9613) 2022-03-30 17:48:37 +00:00