@nx/react 24.0.0-beta.1 → 24.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -5
- package/dist/internal.d.ts +1 -0
- package/dist/internal.js +3 -1
- package/dist/plugins/component-testing/index.js +92 -33
- package/dist/plugins/storybook/index.js +18 -18
- package/dist/plugins/with-react.d.ts +3 -7
- package/dist/plugins/with-react.js +5 -19
- package/dist/src/generators/application/application.js +1 -36
- package/dist/src/generators/application/files/base-rspack/rspack.config.js__tmpl__ +1 -24
- package/dist/src/generators/application/files/base-webpack/webpack.config.js__tmpl__ +1 -26
- package/dist/src/generators/application/lib/add-e2e.js +5 -6
- package/dist/src/generators/application/lib/add-linting.js +0 -1
- package/dist/src/generators/application/lib/add-project.js +0 -167
- package/dist/src/generators/application/lib/bundlers/add-rsbuild.js +0 -1
- package/dist/src/generators/application/lib/bundlers/add-vite.js +0 -2
- package/dist/src/generators/application/lib/bundlers/add-webpack.js +0 -1
- package/dist/src/generators/application/lib/create-application-files.d.ts +0 -1
- package/dist/src/generators/application/lib/create-application-files.js +2 -11
- package/dist/src/generators/application/lib/normalize-options.js +0 -4
- package/dist/src/generators/application/schema.d.ts +0 -2
- package/dist/src/generators/cypress-component-configuration/cypress-component-configuration.js +1 -9
- package/dist/src/generators/cypress-component-configuration/schema.d.ts +0 -1
- package/dist/src/generators/init/init.js +3 -5
- package/dist/src/generators/init/schema.d.ts +0 -1
- package/dist/src/generators/library/lib/add-linting.js +0 -1
- package/dist/src/generators/library/lib/add-rollup-build-target.js +3 -47
- package/dist/src/generators/library/lib/normalize-options.js +0 -4
- package/dist/src/generators/library/library.js +1 -4
- package/dist/src/generators/library/schema.d.ts +0 -1
- package/dist/src/generators/storybook-configuration/configuration.js +1 -9
- package/dist/src/generators/storybook-configuration/schema.d.ts +0 -1
- package/dist/src/migrations/update-23-2-0/add-optional-module-federation-packages.js +2 -1
- package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.d.ts +4 -0
- package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.js +13 -0
- package/dist/src/migrations/update-24-0-0/register-typescript-plugin-for-typecheck.md +40 -0
- package/dist/src/plugins/router-plugin.d.ts +0 -1
- package/dist/src/plugins/router-plugin.js +5 -42
- package/dist/src/utils/ast-utils.d.ts +0 -1
- package/dist/src/utils/ast-utils.js +0 -23
- package/dist/src/utils/ct-utils.js +54 -14
- package/dist/src/utils/deprecation.d.ts +1 -1
- package/dist/src/utils/deprecation.js +3 -5
- package/dist/src/utils/versions.d.ts +0 -7
- package/dist/src/utils/versions.js +2 -9
- package/executors.json +1 -17
- package/generators.json +0 -27
- package/migrations.json +6 -0
- package/package.json +17 -47
- package/dist/mf/dynamic-federation.d.ts +0 -69
- package/dist/mf/dynamic-federation.js +0 -141
- package/dist/mf/index.d.ts +0 -1
- package/dist/mf/index.js +0 -8
- package/dist/module-federation.d.ts +0 -5
- package/dist/module-federation.js +0 -20
- package/dist/src/executors/module-federation-dev-server/lib/index.d.ts +0 -2
- package/dist/src/executors/module-federation-dev-server/lib/index.js +0 -5
- package/dist/src/executors/module-federation-dev-server/lib/normalize-options.d.ts +0 -4
- package/dist/src/executors/module-federation-dev-server/lib/normalize-options.js +0 -19
- package/dist/src/executors/module-federation-dev-server/lib/start-remotes.d.ts +0 -5
- package/dist/src/executors/module-federation-dev-server/lib/start-remotes.js +0 -33
- package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +0 -6
- package/dist/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +0 -80
- package/dist/src/executors/module-federation-dev-server/schema.d.ts +0 -19
- package/dist/src/executors/module-federation-dev-server/schema.json +0 -142
- package/dist/src/executors/module-federation-ssr-dev-server/lib/index.d.ts +0 -2
- package/dist/src/executors/module-federation-ssr-dev-server/lib/index.js +0 -5
- package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.d.ts +0 -4
- package/dist/src/executors/module-federation-ssr-dev-server/lib/normalize-options.js +0 -23
- package/dist/src/executors/module-federation-ssr-dev-server/lib/start-remotes.d.ts +0 -5
- package/dist/src/executors/module-federation-ssr-dev-server/lib/start-remotes.js +0 -34
- package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +0 -3
- package/dist/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +0 -83
- package/dist/src/executors/module-federation-ssr-dev-server/schema.d.ts +0 -29
- package/dist/src/executors/module-federation-ssr-dev-server/schema.json +0 -81
- package/dist/src/executors/module-federation-static-server/module-federation-static-server.impl.d.ts +0 -12
- package/dist/src/executors/module-federation-static-server/module-federation-static-server.impl.js +0 -244
- package/dist/src/executors/module-federation-static-server/schema.d.ts +0 -3
- package/dist/src/executors/module-federation-static-server/schema.json +0 -16
- package/dist/src/generators/federate-module/federate-module.d.ts +0 -4
- package/dist/src/generators/federate-module/federate-module.js +0 -67
- package/dist/src/generators/federate-module/lib/utils.d.ts +0 -23
- package/dist/src/generators/federate-module/lib/utils.js +0 -99
- package/dist/src/generators/federate-module/schema.d.ts +0 -15
- package/dist/src/generators/federate-module/schema.json +0 -89
- package/dist/src/generators/host/files/common/src/app/__fileName__.js__tmpl__ +0 -40
- package/dist/src/generators/host/files/common/src/main.js__tmpl__ +0 -13
- package/dist/src/generators/host/files/common/tsconfig.lint.json__tmpl__ +0 -19
- package/dist/src/generators/host/files/common-ts/src/app/__fileName__.tsx__tmpl__ +0 -41
- package/dist/src/generators/host/files/common-ts/src/main.ts__tmpl__ +0 -13
- package/dist/src/generators/host/files/rspack-common/src/app/__fileName__.jsx__tmpl__ +0 -42
- package/dist/src/generators/host/files/rspack-common/src/main.jsx__tmpl__ +0 -13
- package/dist/src/generators/host/files/rspack-common/tsconfig.lint.json__tmpl__ +0 -19
- package/dist/src/generators/host/files/rspack-module-federation/module-federation.config.js__tmpl__ +0 -24
- package/dist/src/generators/host/files/rspack-module-federation/rspack.config.js__tmpl__ +0 -42
- package/dist/src/generators/host/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +0 -66
- package/dist/src/generators/host/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -27
- package/dist/src/generators/host/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +0 -68
- package/dist/src/generators/host/files/rspack-module-federation-ssr/server.ts__tmpl__ +0 -28
- package/dist/src/generators/host/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +0 -49
- package/dist/src/generators/host/files/rspack-module-federation-ssr/tsconfig.server.json__tmpl__ +0 -17
- package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -22
- package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +0 -68
- package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +0 -28
- package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +0 -49
- package/dist/src/generators/host/files/rspack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +0 -17
- package/dist/src/generators/host/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -28
- package/dist/src/generators/host/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +0 -67
- package/dist/src/generators/host/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +0 -42
- package/dist/src/generators/host/files/webpack-module-federation/module-federation.config.js__tmpl__ +0 -24
- package/dist/src/generators/host/files/webpack-module-federation/webpack.config.js__tmpl__ +0 -17
- package/dist/src/generators/host/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +0 -39
- package/dist/src/generators/host/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -19
- package/dist/src/generators/host/files/webpack-module-federation-ssr/server.ts__tmpl__ +0 -28
- package/dist/src/generators/host/files/webpack-module-federation-ssr/tsconfig.server.json__tmpl__ +0 -17
- package/dist/src/generators/host/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +0 -17
- package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -16
- package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +0 -28
- package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/tsconfig.server.json__tmpl__ +0 -17
- package/dist/src/generators/host/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +0 -17
- package/dist/src/generators/host/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -28
- package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +0 -40
- package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +0 -18
- package/dist/src/generators/host/host.d.ts +0 -4
- package/dist/src/generators/host/host.js +0 -174
- package/dist/src/generators/host/lib/add-module-federation-files.d.ts +0 -6
- package/dist/src/generators/host/lib/add-module-federation-files.js +0 -92
- package/dist/src/generators/host/lib/normalize-host-name.d.ts +0 -2
- package/dist/src/generators/host/lib/normalize-host-name.js +0 -12
- package/dist/src/generators/host/lib/setup-ssr-for-host.d.ts +0 -6
- package/dist/src/generators/host/lib/setup-ssr-for-host.js +0 -59
- package/dist/src/generators/host/lib/update-module-federation-e2e-project.d.ts +0 -3
- package/dist/src/generators/host/lib/update-module-federation-e2e-project.js +0 -19
- package/dist/src/generators/host/lib/update-module-federation-tsconfig.d.ts +0 -3
- package/dist/src/generators/host/lib/update-module-federation-tsconfig.js +0 -34
- package/dist/src/generators/host/schema.d.ts +0 -44
- package/dist/src/generators/host/schema.json +0 -173
- package/dist/src/generators/remote/files/common/src/main.js__tmpl__ +0 -1
- package/dist/src/generators/remote/files/common/src/remote-entry.js__tmpl__ +0 -1
- package/dist/src/generators/remote/files/common-ts/src/main.ts__tmpl__ +0 -1
- package/dist/src/generators/remote/files/common-ts/src/remote-entry.ts__tmpl__ +0 -1
- package/dist/src/generators/remote/files/rspack-common/src/main.jsx__tmpl__ +0 -1
- package/dist/src/generators/remote/files/rspack-common/src/remote-entry.js__tmpl__ +0 -1
- package/dist/src/generators/remote/files/rspack-module-federation/module-federation.config.js__tmpl__ +0 -12
- package/dist/src/generators/remote/files/rspack-module-federation/rspack.config.js__tmpl__ +0 -45
- package/dist/src/generators/remote/files/rspack-module-federation/rspack.config.prod.js__tmpl__ +0 -1
- package/dist/src/generators/remote/files/rspack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -15
- package/dist/src/generators/remote/files/rspack-module-federation-ssr/rspack.config.js__tmpl__ +0 -71
- package/dist/src/generators/remote/files/rspack-module-federation-ssr/server.ts__tmpl__ +0 -45
- package/dist/src/generators/remote/files/rspack-module-federation-ssr/src/main.server.tsx__tmpl__ +0 -45
- package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -19
- package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/rspack.config.ts__tmpl__ +0 -71
- package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/server.ts__tmpl__ +0 -45
- package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/src/main.server.tsx__tmpl__ +0 -45
- package/dist/src/generators/remote/files/rspack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +0 -19
- package/dist/src/generators/remote/files/rspack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -16
- package/dist/src/generators/remote/files/rspack-module-federation-ts/rspack.config.prod.ts__tmpl__ +0 -1
- package/dist/src/generators/remote/files/rspack-module-federation-ts/rspack.config.ts__tmpl__ +0 -45
- package/dist/src/generators/remote/files/rspack-module-federation-ts/tsconfig.lint.json__tmpl__ +0 -19
- package/dist/src/generators/remote/files/webpack-module-federation/module-federation.config.js__tmpl__ +0 -12
- package/dist/src/generators/remote/files/webpack-module-federation/webpack.config.js__tmpl__ +0 -17
- package/dist/src/generators/remote/files/webpack-module-federation/webpack.config.prod.js__tmpl__ +0 -1
- package/dist/src/generators/remote/files/webpack-module-federation-ssr/module-federation.server.config.js__tmpl__ +0 -9
- package/dist/src/generators/remote/files/webpack-module-federation-ssr/server.ts__tmpl__ +0 -45
- package/dist/src/generators/remote/files/webpack-module-federation-ssr/webpack.server.config.js__tmpl__ +0 -17
- package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/module-federation.server.config.ts__tmpl__ +0 -13
- package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/server.ts__tmpl__ +0 -45
- package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/tsconfig.lint.json__tmpl__ +0 -19
- package/dist/src/generators/remote/files/webpack-module-federation-ssr-ts/webpack.server.config.ts__tmpl__ +0 -17
- package/dist/src/generators/remote/files/webpack-module-federation-ts/module-federation.config.ts__tmpl__ +0 -16
- package/dist/src/generators/remote/files/webpack-module-federation-ts/tsconfig.lint.json__tmpl__ +0 -19
- package/dist/src/generators/remote/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__ +0 -1
- package/dist/src/generators/remote/files/webpack-module-federation-ts/webpack.config.ts__tmpl__ +0 -17
- package/dist/src/generators/remote/lib/add-remote-to-dynamic-host.d.ts +0 -2
- package/dist/src/generators/remote/lib/add-remote-to-dynamic-host.js +0 -12
- package/dist/src/generators/remote/lib/setup-package-json-exports-for-remote.d.ts +0 -3
- package/dist/src/generators/remote/lib/setup-package-json-exports-for-remote.js +0 -30
- package/dist/src/generators/remote/lib/setup-ssr-for-remote.d.ts +0 -4
- package/dist/src/generators/remote/lib/setup-ssr-for-remote.js +0 -61
- package/dist/src/generators/remote/lib/setup-tspath-for-remote.d.ts +0 -3
- package/dist/src/generators/remote/lib/setup-tspath-for-remote.js +0 -14
- package/dist/src/generators/remote/lib/update-host-with-remote.d.ts +0 -2
- package/dist/src/generators/remote/lib/update-host-with-remote.js +0 -79
- package/dist/src/generators/remote/remote.d.ts +0 -6
- package/dist/src/generators/remote/remote.js +0 -201
- package/dist/src/generators/remote/schema.d.ts +0 -39
- package/dist/src/generators/remote/schema.json +0 -173
- package/dist/src/generators/setup-ssr/files/server.ts__tmpl__ +0 -28
- package/dist/src/generators/setup-ssr/files/src/main.server.tsx__tmpl__ +0 -47
- package/dist/src/generators/setup-ssr/files/tsconfig.server.json__tmpl__ +0 -17
- package/dist/src/generators/setup-ssr/schema.d.ts +0 -8
- package/dist/src/generators/setup-ssr/schema.json +0 -54
- package/dist/src/generators/setup-ssr/setup-ssr.d.ts +0 -4
- package/dist/src/generators/setup-ssr/setup-ssr.js +0 -198
- package/dist/src/module-federation/ast-utils.d.ts +0 -8
- package/dist/src/module-federation/ast-utils.js +0 -101
- package/dist/src/rules/update-module-federation-project.d.ts +0 -11
- package/dist/src/rules/update-module-federation-project.js +0 -72
- package/dist/src/utils/add-mf-env-to-inputs.d.ts +0 -2
- package/dist/src/utils/add-mf-env-to-inputs.js +0 -29
- package/dist/src/utils/module-federation-deprecation.d.ts +0 -12
- package/dist/src/utils/module-federation-deprecation.js +0 -46
- package/dist/src/utils/normalize-remote.d.ts +0 -8
- package/dist/src/utils/normalize-remote.js +0 -31
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {composePlugins, withNx} from '@nx/webpack';
|
|
2
|
-
import {withReact} from '@nx/react';
|
|
3
|
-
import {withModuleFederationForSSR} from '@nx/module-federation/webpack';
|
|
4
|
-
|
|
5
|
-
import baseConfig from './module-federation.config';
|
|
6
|
-
|
|
7
|
-
const defaultConfig = {
|
|
8
|
-
...baseConfig
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
// Nx plugins for webpack to build config object from Nx options and context.
|
|
12
|
-
/**
|
|
13
|
-
* DTS Plugin is disabled in Nx Workspaces as Nx already provides Typing support for Module Federation
|
|
14
|
-
* The DTS Plugin can be enabled by setting dts: true
|
|
15
|
-
* Learn more about the DTS Plugin here: https://module-federation.io/configure/dts.html
|
|
16
|
-
*/
|
|
17
|
-
export default composePlugins(withNx(), withReact({ssr: true}), withModuleFederationForSSR(defaultConfig, { dts: false }));
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { ModuleFederationConfig } from '@nx/module-federation';
|
|
2
|
-
|
|
3
|
-
const config: ModuleFederationConfig = {
|
|
4
|
-
name: '<%= projectName %>',
|
|
5
|
-
/**
|
|
6
|
-
* To use a remote that does not exist in your current Nx Workspace
|
|
7
|
-
* You can use the tuple-syntax to define your remote
|
|
8
|
-
*
|
|
9
|
-
* remotes: [['my-external-remote', 'https://nx-angular-remote.netlify.app']]
|
|
10
|
-
*
|
|
11
|
-
* You _may_ need to add a `remotes.d.ts` file to your `src/` folder declaring the external remote for tsc, with the
|
|
12
|
-
* following content:
|
|
13
|
-
*
|
|
14
|
-
* declare module 'my-external-remote';
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
remotes: [
|
|
18
|
-
<%_ if (static) {
|
|
19
|
-
remotes.forEach(function(r) { _%>
|
|
20
|
-
"<%= r.fileName %>",
|
|
21
|
-
<%_ }); } _%>
|
|
22
|
-
],
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Nx requires a default export of the config to allow correct resolution of the module federation graph.
|
|
27
|
-
**/
|
|
28
|
-
export default config;
|
package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.prod.ts__tmpl__
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { composePlugins, withNx } from '@nx/webpack';
|
|
2
|
-
import { withReact } from '@nx/react';
|
|
3
|
-
import { withModuleFederation } from '@nx/module-federation/webpack';
|
|
4
|
-
import type { ModuleFederationConfig } from '@nx/module-federation';
|
|
5
|
-
|
|
6
|
-
import baseConfig from './module-federation.config';
|
|
7
|
-
|
|
8
|
-
const prodConfig: ModuleFederationConfig = {
|
|
9
|
-
...baseConfig,
|
|
10
|
-
/*
|
|
11
|
-
* Remote overrides for production.
|
|
12
|
-
* Each entry is a pair of a unique name and the URL where it is deployed.
|
|
13
|
-
*
|
|
14
|
-
* e.g.
|
|
15
|
-
* remotes: [
|
|
16
|
-
* ['app1', 'http://app1.example.com'],
|
|
17
|
-
* ['app2', 'http://app2.example.com'],
|
|
18
|
-
* ]
|
|
19
|
-
*
|
|
20
|
-
* You can also use a full path to the remoteEntry.js file if desired.
|
|
21
|
-
*
|
|
22
|
-
* remotes: [
|
|
23
|
-
* ['app1', 'http://example.com/path/to/app1/remoteEntry.js'],
|
|
24
|
-
* ['app2', 'http://example.com/path/to/app2/remoteEntry.js'],
|
|
25
|
-
* ]
|
|
26
|
-
*/
|
|
27
|
-
remotes: [
|
|
28
|
-
<%_ remotes.forEach(function(r) { _%>
|
|
29
|
-
['<%= r.fileName %>', 'http://localhost:<%= r.port %>/'],
|
|
30
|
-
<%_ }); _%>
|
|
31
|
-
],
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// Nx plugins for webpack to build config object from Nx options and context.
|
|
35
|
-
/**
|
|
36
|
-
* DTS Plugin is disabled in Nx Workspaces as Nx already provides Typing support for Module Federation
|
|
37
|
-
* The DTS Plugin can be enabled by setting dts: true
|
|
38
|
-
* Learn more about the DTS Plugin here: https://module-federation.io/configure/dts.html
|
|
39
|
-
*/
|
|
40
|
-
export default composePlugins(withNx(), withReact(), withModuleFederation(prodConfig, { dts: false }));
|
package/dist/src/generators/host/files/webpack-module-federation-ts/webpack.config.ts__tmpl__
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import {composePlugins, withNx} from '@nx/webpack';
|
|
2
|
-
import {withReact} from '@nx/react';
|
|
3
|
-
import {withModuleFederation} from '@nx/module-federation/webpack';
|
|
4
|
-
import type { ModuleFederationConfig } from '@nx/module-federation';
|
|
5
|
-
|
|
6
|
-
import baseConfig from './module-federation.config';
|
|
7
|
-
|
|
8
|
-
const config: ModuleFederationConfig = {
|
|
9
|
-
...baseConfig,
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
// Nx plugins for webpack to build config object from Nx options and context.
|
|
13
|
-
/**
|
|
14
|
-
* DTS Plugin is disabled in Nx Workspaces as Nx already provides Typing support for Module Federation
|
|
15
|
-
* The DTS Plugin can be enabled by setting dts: true
|
|
16
|
-
* Learn more about the DTS Plugin here: https://module-federation.io/configure/dts.html
|
|
17
|
-
*/
|
|
18
|
-
export default composePlugins(withNx(), withReact(), withModuleFederation(config, { dts: false }));
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hostGenerator = hostGenerator;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const internal_1 = require("@nx/devkit/internal");
|
|
6
|
-
const assert_supported_react_version_1 = require("../../utils/assert-supported-react-version");
|
|
7
|
-
const internal_2 = require("@nx/eslint/internal");
|
|
8
|
-
const devkit_1 = require("@nx/devkit");
|
|
9
|
-
const update_module_federation_project_1 = require("../../rules/update-module-federation-project");
|
|
10
|
-
const application_1 = tslib_1.__importDefault(require("../application/application"));
|
|
11
|
-
const normalize_options_1 = require("../application/lib/normalize-options");
|
|
12
|
-
const remote_1 = tslib_1.__importDefault(require("../remote/remote"));
|
|
13
|
-
const setup_ssr_1 = tslib_1.__importDefault(require("../setup-ssr/setup-ssr"));
|
|
14
|
-
const add_module_federation_files_1 = require("./lib/add-module-federation-files");
|
|
15
|
-
const normalize_remote_1 = require("../../utils/normalize-remote");
|
|
16
|
-
const setup_ssr_for_host_1 = require("./lib/setup-ssr-for-host");
|
|
17
|
-
const update_module_federation_e2e_project_1 = require("./lib/update-module-federation-e2e-project");
|
|
18
|
-
const add_mf_env_to_inputs_1 = require("../../utils/add-mf-env-to-inputs");
|
|
19
|
-
const js_1 = require("@nx/js");
|
|
20
|
-
const internal_3 = require("@nx/js/internal");
|
|
21
|
-
const versions_1 = require("../../utils/versions");
|
|
22
|
-
const update_module_federation_tsconfig_1 = require("./lib/update-module-federation-tsconfig");
|
|
23
|
-
const normalize_host_name_1 = require("./lib/normalize-host-name");
|
|
24
|
-
const module_federation_deprecation_1 = require("../../utils/module-federation-deprecation");
|
|
25
|
-
async function hostGenerator(host, schema) {
|
|
26
|
-
(0, assert_supported_react_version_1.assertSupportedReactVersion)(host);
|
|
27
|
-
(0, module_federation_deprecation_1.warnReactHostGeneratorDeprecation)();
|
|
28
|
-
const tasks = [];
|
|
29
|
-
const name = await (0, normalize_host_name_1.normalizeHostName)(host, schema.directory, schema.name);
|
|
30
|
-
const options = {
|
|
31
|
-
...(await (0, normalize_options_1.normalizeOptions)(host, {
|
|
32
|
-
...schema,
|
|
33
|
-
name,
|
|
34
|
-
})),
|
|
35
|
-
js: schema.js ?? false,
|
|
36
|
-
typescriptConfiguration: schema.js
|
|
37
|
-
? false
|
|
38
|
-
: (schema.typescriptConfiguration ?? true),
|
|
39
|
-
dynamic: schema.dynamic ?? false,
|
|
40
|
-
// TODO(colum): remove when Webpack MF works with Crystal
|
|
41
|
-
addPlugin: !schema.bundler || schema.bundler === 'rspack' ? true : false,
|
|
42
|
-
bundler: schema.bundler ?? 'rspack',
|
|
43
|
-
// The schema carries no default, so supply one here: remotes are numbered up
|
|
44
|
-
// from the host's port (`options.port + 1` below), which needs a concrete value.
|
|
45
|
-
port: schema.port ?? schema.devServerPort ?? 4200,
|
|
46
|
-
};
|
|
47
|
-
// Check to see if remotes are provided and also check if --dynamic is provided
|
|
48
|
-
// if both are check that the remotes are valid names else throw an error.
|
|
49
|
-
if (options.dynamic && options.remotes?.length > 0) {
|
|
50
|
-
options.remotes.forEach((remote) => {
|
|
51
|
-
const isValidRemote = (0, js_1.isValidVariable)(remote);
|
|
52
|
-
if (!isValidRemote.isValid) {
|
|
53
|
-
throw new Error(`Invalid remote name provided: ${remote}. ${isValidRemote.message}`);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
await (0, internal_1.ensureRootProjectName)(options, 'application');
|
|
58
|
-
const initTask = await (0, application_1.default)(host, {
|
|
59
|
-
...options,
|
|
60
|
-
directory: options.appProjectRoot,
|
|
61
|
-
name: options.name,
|
|
62
|
-
// The target use-case is loading remotes as child routes, thus always enable routing.
|
|
63
|
-
routing: true,
|
|
64
|
-
skipFormat: true,
|
|
65
|
-
});
|
|
66
|
-
tasks.push(initTask);
|
|
67
|
-
// In TS solution setup, update package.json to use simple name instead of scoped name
|
|
68
|
-
if ((0, internal_3.isUsingTsSolutionSetup)(host)) {
|
|
69
|
-
const hostPackageJsonPath = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'package.json');
|
|
70
|
-
if (host.exists(hostPackageJsonPath)) {
|
|
71
|
-
(0, devkit_1.updateJson)(host, hostPackageJsonPath, (json) => {
|
|
72
|
-
json.name = options.projectName;
|
|
73
|
-
return json;
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
const remotesWithPorts = [];
|
|
78
|
-
if (schema.remotes) {
|
|
79
|
-
let remotePort = options.port + 1;
|
|
80
|
-
for (const remote of schema.remotes) {
|
|
81
|
-
const remoteName = await (0, normalize_remote_1.normalizeRemoteName)(host, remote, options);
|
|
82
|
-
remotesWithPorts.push({ name: remoteName, port: remotePort });
|
|
83
|
-
const remoteTask = await (0, remote_1.default)(host, {
|
|
84
|
-
name: remote,
|
|
85
|
-
directory: (0, normalize_remote_1.normalizeRemoteDirectory)(remote, options),
|
|
86
|
-
style: options.style,
|
|
87
|
-
unitTestRunner: options.unitTestRunner,
|
|
88
|
-
e2eTestRunner: options.e2eTestRunner,
|
|
89
|
-
linter: options.linter,
|
|
90
|
-
port: remotePort,
|
|
91
|
-
ssr: options.ssr,
|
|
92
|
-
skipFormat: true,
|
|
93
|
-
typescriptConfiguration: options.typescriptConfiguration,
|
|
94
|
-
js: options.js,
|
|
95
|
-
dynamic: options.dynamic,
|
|
96
|
-
host: options.projectName,
|
|
97
|
-
skipPackageJson: options.skipPackageJson,
|
|
98
|
-
bundler: options.bundler,
|
|
99
|
-
});
|
|
100
|
-
tasks.push(remoteTask);
|
|
101
|
-
remotePort++;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
(0, add_module_federation_files_1.addModuleFederationFiles)(host, options, remotesWithPorts);
|
|
105
|
-
(0, update_module_federation_project_1.updateModuleFederationProject)(host, options, true);
|
|
106
|
-
(0, update_module_federation_e2e_project_1.updateModuleFederationE2eProject)(host, options);
|
|
107
|
-
(0, update_module_federation_tsconfig_1.updateModuleFederationTsconfig)(host, options);
|
|
108
|
-
// Add remotes as devDependencies in TS solution setup
|
|
109
|
-
if ((0, internal_3.isUsingTsSolutionSetup)(host) && remotesWithPorts.length > 0) {
|
|
110
|
-
addRemotesAsHostDependencies(host, options.projectName, remotesWithPorts);
|
|
111
|
-
}
|
|
112
|
-
if (options.ssr) {
|
|
113
|
-
if (options.bundler !== 'rspack') {
|
|
114
|
-
const setupSsrTask = await (0, setup_ssr_1.default)(host, {
|
|
115
|
-
project: options.projectName,
|
|
116
|
-
serverPort: options.port,
|
|
117
|
-
skipFormat: true,
|
|
118
|
-
});
|
|
119
|
-
tasks.push(setupSsrTask);
|
|
120
|
-
}
|
|
121
|
-
const setupSsrForHostTask = await (0, setup_ssr_for_host_1.setupSsrForHost)(host, options, options.projectName, remotesWithPorts);
|
|
122
|
-
tasks.push(setupSsrForHostTask);
|
|
123
|
-
const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
|
|
124
|
-
if (options.bundler !== 'rspack') {
|
|
125
|
-
projectConfig.targets.server.options.webpackConfig = (0, devkit_1.joinPathFragments)(projectConfig.root, `webpack.server.config.${options.typescriptConfiguration ? 'ts' : 'js'}`);
|
|
126
|
-
}
|
|
127
|
-
(0, devkit_1.updateProjectConfiguration)(host, options.projectName, projectConfig);
|
|
128
|
-
}
|
|
129
|
-
if (!(0, internal_2.isTypedLintingEnabled)(options)) {
|
|
130
|
-
host.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.lint.json'));
|
|
131
|
-
}
|
|
132
|
-
(0, add_mf_env_to_inputs_1.addMfEnvToTargetDefaultInputs)(host, options.bundler);
|
|
133
|
-
const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, { '@module-federation/enhanced': versions_1.moduleFederationEnhancedVersion }, {
|
|
134
|
-
'@nx/web': versions_1.nxVersion,
|
|
135
|
-
'@nx/module-federation': versions_1.nxVersion,
|
|
136
|
-
// The webpack path also generates a `serve-static` target running the
|
|
137
|
-
// `module-federation-static-server` executor, which proxies via express.
|
|
138
|
-
...(options.bundler !== 'rspack'
|
|
139
|
-
? {
|
|
140
|
-
express: versions_1.expressVersion,
|
|
141
|
-
'http-proxy-middleware': versions_1.httpProxyMiddlewareVersion,
|
|
142
|
-
}
|
|
143
|
-
: {}),
|
|
144
|
-
}, undefined, true);
|
|
145
|
-
tasks.push(installTask);
|
|
146
|
-
// The TS config templates use extensionless relative imports and
|
|
147
|
-
// `__dirname`, which Node's native type stripping cannot load.
|
|
148
|
-
if (options.typescriptConfiguration) {
|
|
149
|
-
tasks.push((0, internal_3.addSwcRegisterDependencies)(host));
|
|
150
|
-
}
|
|
151
|
-
if (!options.skipFormat) {
|
|
152
|
-
await (0, devkit_1.formatFiles)(host);
|
|
153
|
-
}
|
|
154
|
-
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
155
|
-
}
|
|
156
|
-
function addRemotesAsHostDependencies(tree, hostName, remotes) {
|
|
157
|
-
const hostConfig = (0, devkit_1.readProjectConfiguration)(tree, hostName);
|
|
158
|
-
const hostPackageJsonPath = (0, devkit_1.joinPathFragments)(hostConfig.root, 'package.json');
|
|
159
|
-
if (!tree.exists(hostPackageJsonPath)) {
|
|
160
|
-
throw new Error(`Host package.json not found at ${hostPackageJsonPath}. ` +
|
|
161
|
-
`TypeScript solution setup requires package.json for all projects.`);
|
|
162
|
-
}
|
|
163
|
-
const packageManager = (0, devkit_1.detectPackageManager)(tree.root);
|
|
164
|
-
const versionSpec = packageManager === 'npm' ? '*' : 'workspace:*';
|
|
165
|
-
(0, devkit_1.updateJson)(tree, hostPackageJsonPath, (json) => {
|
|
166
|
-
json.devDependencies ??= {};
|
|
167
|
-
for (const remote of remotes) {
|
|
168
|
-
// Use simple remote name directly to match module-federation.config.ts
|
|
169
|
-
json.devDependencies[remote.name] = versionSpec;
|
|
170
|
-
}
|
|
171
|
-
return json;
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
exports.default = hostGenerator;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addModuleFederationFiles = addModuleFederationFiles;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const internal_1 = require("@nx/js/internal");
|
|
6
|
-
const maybe_js_1 = require("../../../utils/maybe-js");
|
|
7
|
-
const create_application_files_1 = require("../../application/lib/create-application-files");
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
function addModuleFederationFiles(host, options, defaultRemoteManifest) {
|
|
10
|
-
const templateVariables = options.bundler === 'rspack'
|
|
11
|
-
? {
|
|
12
|
-
...(0, create_application_files_1.getDefaultTemplateVariables)(host, options),
|
|
13
|
-
rspackPluginOptions: {
|
|
14
|
-
...(0, create_application_files_1.createNxRspackPluginOptions)(options, (0, devkit_1.offsetFromRoot)(options.appProjectRoot), false),
|
|
15
|
-
mainServer: `./server.ts`,
|
|
16
|
-
},
|
|
17
|
-
static: !options?.dynamic,
|
|
18
|
-
remotes: defaultRemoteManifest.map(({ name, port }) => {
|
|
19
|
-
return {
|
|
20
|
-
...(0, devkit_1.names)(name),
|
|
21
|
-
port,
|
|
22
|
-
};
|
|
23
|
-
}),
|
|
24
|
-
}
|
|
25
|
-
: {
|
|
26
|
-
...(0, devkit_1.names)(options.projectName),
|
|
27
|
-
...options,
|
|
28
|
-
static: !options?.dynamic,
|
|
29
|
-
tmpl: '',
|
|
30
|
-
remotes: defaultRemoteManifest.map(({ name, port }) => {
|
|
31
|
-
return {
|
|
32
|
-
...(0, devkit_1.names)(name),
|
|
33
|
-
port,
|
|
34
|
-
};
|
|
35
|
-
}),
|
|
36
|
-
};
|
|
37
|
-
const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
|
|
38
|
-
const pathToMFManifest = (0, devkit_1.joinPathFragments)((0, internal_1.getProjectSourceRoot)(projectConfig, host), 'assets/module-federation.manifest.json');
|
|
39
|
-
// Module federation requires bootstrap code to be dynamically imported.
|
|
40
|
-
// Renaming original entry file so we can use `import(./bootstrap)` in
|
|
41
|
-
// new entry file.
|
|
42
|
-
host.rename((0, devkit_1.joinPathFragments)(options.appProjectRoot, (0, maybe_js_1.maybeJs)({ js: options.js, useJsx: options.bundler === 'rspack' }, 'src/main.tsx')), (0, devkit_1.joinPathFragments)(options.appProjectRoot, (0, maybe_js_1.maybeJs)({ js: options.js, useJsx: options.bundler === 'rspack' }, 'src/bootstrap.tsx')));
|
|
43
|
-
(0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/${options.js
|
|
44
|
-
? options.bundler === 'rspack'
|
|
45
|
-
? 'rspack-common'
|
|
46
|
-
: 'common'
|
|
47
|
-
: 'common-ts'}`), options.appProjectRoot, templateVariables);
|
|
48
|
-
const pathToModuleFederationFiles = options.typescriptConfiguration
|
|
49
|
-
? `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ts`
|
|
50
|
-
: `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation`;
|
|
51
|
-
// New entry file is created here.
|
|
52
|
-
(0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/${pathToModuleFederationFiles}`), options.appProjectRoot, templateVariables);
|
|
53
|
-
function deleteFileIfExists(host, filePath) {
|
|
54
|
-
if (host.exists(filePath)) {
|
|
55
|
-
host.delete(filePath);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
function processBundlerConfigFile(options, host, fileName) {
|
|
59
|
-
const pathToBundlerConfig = (0, devkit_1.joinPathFragments)(options.appProjectRoot, fileName);
|
|
60
|
-
deleteFileIfExists(host, pathToBundlerConfig);
|
|
61
|
-
}
|
|
62
|
-
if (options.typescriptConfiguration) {
|
|
63
|
-
if (options.bundler === 'rspack') {
|
|
64
|
-
processBundlerConfigFile(options, host, 'rspack.config.js');
|
|
65
|
-
processBundlerConfigFile(options, host, 'rspack.config.prod.js');
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
processBundlerConfigFile(options, host, 'webpack.config.js');
|
|
69
|
-
processBundlerConfigFile(options, host, 'webpack.config.prod.js');
|
|
70
|
-
}
|
|
71
|
-
// Delete TypeScript prod config in TS solution setup - not needed in Crystal
|
|
72
|
-
if ((0, internal_1.isUsingTsSolutionSetup)(host)) {
|
|
73
|
-
const prodConfigFileName = options.bundler === 'rspack'
|
|
74
|
-
? 'rspack.config.prod.ts'
|
|
75
|
-
: 'webpack.config.prod.ts';
|
|
76
|
-
processBundlerConfigFile(options, host, prodConfigFileName);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (options.dynamic) {
|
|
80
|
-
processBundlerConfigFile(options, host, 'webpack.config.prod.js');
|
|
81
|
-
processBundlerConfigFile(options, host, 'webpack.config.prod.ts');
|
|
82
|
-
processBundlerConfigFile(options, host, 'rspack.config.prod.js');
|
|
83
|
-
processBundlerConfigFile(options, host, 'rspack.config.prod.ts');
|
|
84
|
-
if (!host.exists(pathToMFManifest)) {
|
|
85
|
-
host.write(pathToMFManifest, `{
|
|
86
|
-
${defaultRemoteManifest
|
|
87
|
-
.map(({ name, port }) => `"${name}": "http://localhost:${port}/mf-manifest.json"`)
|
|
88
|
-
.join(',\n')}
|
|
89
|
-
}`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeHostName = normalizeHostName;
|
|
4
|
-
const internal_1 = require("@nx/devkit/internal");
|
|
5
|
-
async function normalizeHostName(tree, directory, name) {
|
|
6
|
-
const { projectName } = await (0, internal_1.determineProjectNameAndRootOptions)(tree, {
|
|
7
|
-
name,
|
|
8
|
-
directory,
|
|
9
|
-
projectType: 'application',
|
|
10
|
-
});
|
|
11
|
-
return projectName;
|
|
12
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
2
|
-
import type { NormalizedSchema } from '../schema';
|
|
3
|
-
export declare function setupSsrForHost(tree: Tree, options: NormalizedSchema, appName: string, defaultRemoteManifest: {
|
|
4
|
-
name: string;
|
|
5
|
-
port: number;
|
|
6
|
-
}[]): Promise<GeneratorCallback>;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupSsrForHost = setupSsrForHost;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const versions_1 = require("../../../utils/versions");
|
|
6
|
-
const create_application_files_1 = require("../../application/lib/create-application-files");
|
|
7
|
-
async function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
|
|
8
|
-
const tasks = [];
|
|
9
|
-
let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
10
|
-
if (options.bundler !== 'rspack') {
|
|
11
|
-
project.targets.serve.executor =
|
|
12
|
-
'@nx/react:module-federation-ssr-dev-server';
|
|
13
|
-
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
14
|
-
}
|
|
15
|
-
const pathToModuleFederationSsrFiles = options.typescriptConfiguration
|
|
16
|
-
? `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr-ts`
|
|
17
|
-
: `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr`;
|
|
18
|
-
const templateVariables = options.bundler === 'rspack'
|
|
19
|
-
? {
|
|
20
|
-
...(0, create_application_files_1.getDefaultTemplateVariables)(tree, options),
|
|
21
|
-
rspackPluginOptions: {
|
|
22
|
-
...(0, create_application_files_1.createNxRspackPluginOptions)(options, (0, devkit_1.offsetFromRoot)(options.appProjectRoot), false),
|
|
23
|
-
mainServer: `./server.ts`,
|
|
24
|
-
},
|
|
25
|
-
port: Number(options?.port) || 4200,
|
|
26
|
-
appName,
|
|
27
|
-
static: !options?.dynamic,
|
|
28
|
-
remotes: defaultRemoteManifest.map(({ name, port }) => {
|
|
29
|
-
return {
|
|
30
|
-
...(0, devkit_1.names)(name),
|
|
31
|
-
port,
|
|
32
|
-
};
|
|
33
|
-
}),
|
|
34
|
-
}
|
|
35
|
-
: {
|
|
36
|
-
...options,
|
|
37
|
-
static: !options?.dynamic,
|
|
38
|
-
port: Number(options?.port) || 4200,
|
|
39
|
-
appName,
|
|
40
|
-
tmpl: '',
|
|
41
|
-
browserBuildOutputPath: project.targets.build?.options?.outputPath,
|
|
42
|
-
remotes: defaultRemoteManifest.map(({ name, port }) => {
|
|
43
|
-
return {
|
|
44
|
-
...(0, devkit_1.names)(name),
|
|
45
|
-
port,
|
|
46
|
-
};
|
|
47
|
-
}),
|
|
48
|
-
};
|
|
49
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToModuleFederationSsrFiles}`), project.root, templateVariables);
|
|
50
|
-
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
51
|
-
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
52
|
-
cors: versions_1.corsVersion,
|
|
53
|
-
isbot: versions_1.isbotVersion,
|
|
54
|
-
express: versions_1.expressVersion,
|
|
55
|
-
'@types/express': versions_1.typesExpressVersion,
|
|
56
|
-
}, {}, undefined, true);
|
|
57
|
-
tasks.push(installTask);
|
|
58
|
-
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
59
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateModuleFederationE2eProject = updateModuleFederationE2eProject;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
function updateModuleFederationE2eProject(host, options) {
|
|
6
|
-
try {
|
|
7
|
-
let projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.e2eProjectName);
|
|
8
|
-
if (projectConfig.targets.e2e.executor !== '@nx/playwright:playwright') {
|
|
9
|
-
projectConfig.targets.e2e.options = {
|
|
10
|
-
...projectConfig.targets.e2e.options,
|
|
11
|
-
baseUrl: `http://localhost:${options.port}`,
|
|
12
|
-
};
|
|
13
|
-
(0, devkit_1.updateProjectConfiguration)(host, options.e2eProjectName, projectConfig);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
// nothing
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateModuleFederationTsconfig = updateModuleFederationTsconfig;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const internal_1 = require("@nx/js/internal");
|
|
6
|
-
function updateModuleFederationTsconfig(host, options) {
|
|
7
|
-
const tsconfigPath = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.json');
|
|
8
|
-
const tsconfigRuntimePath = (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json');
|
|
9
|
-
if (!host.exists(tsconfigPath) || !host.exists(tsconfigRuntimePath))
|
|
10
|
-
return;
|
|
11
|
-
if ((0, internal_1.isUsingTsSolutionSetup)(host)) {
|
|
12
|
-
// Update references to match what `nx sync` does.
|
|
13
|
-
if (options.remotes?.length) {
|
|
14
|
-
(0, devkit_1.updateJson)(host, tsconfigPath, (json) => {
|
|
15
|
-
json.references ??= [];
|
|
16
|
-
for (const remote of options.remotes) {
|
|
17
|
-
const remotePath = `../${remote}`;
|
|
18
|
-
if (!json.references.some((ref) => ref.path === remotePath))
|
|
19
|
-
json.references.push({ path: remotePath });
|
|
20
|
-
}
|
|
21
|
-
return json;
|
|
22
|
-
});
|
|
23
|
-
(0, devkit_1.updateJson)(host, tsconfigRuntimePath, (json) => {
|
|
24
|
-
json.references ??= [];
|
|
25
|
-
for (const remote of options.remotes) {
|
|
26
|
-
const remotePath = `../${remote}/tsconfig.app.json`;
|
|
27
|
-
if (!json.references.some((ref) => ref.path === remotePath))
|
|
28
|
-
json.references.push({ path: remotePath });
|
|
29
|
-
}
|
|
30
|
-
return json;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { LinterType } from '@nx/js';
|
|
2
|
-
import type { SupportedStyles } from '../../../typings/style';
|
|
3
|
-
|
|
4
|
-
export interface Schema {
|
|
5
|
-
classComponent?: boolean;
|
|
6
|
-
compiler?: 'babel' | 'swc';
|
|
7
|
-
port?: number;
|
|
8
|
-
/** @deprecated Use {@link Schema.port} instead. This option will be removed in Nx v24. */
|
|
9
|
-
devServerPort?: number;
|
|
10
|
-
directory: string;
|
|
11
|
-
e2eTestRunner: 'cypress' | 'playwright' | 'none';
|
|
12
|
-
globalCss?: boolean;
|
|
13
|
-
js?: boolean;
|
|
14
|
-
linter?: LinterType;
|
|
15
|
-
name?: string;
|
|
16
|
-
remotes?: string[];
|
|
17
|
-
enableTypedLinting?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* @deprecated Use `enableTypedLinting` instead. This option will be removed in Nx v24.
|
|
20
|
-
*/
|
|
21
|
-
setParserOptionsProject?: boolean;
|
|
22
|
-
skipFormat?: boolean;
|
|
23
|
-
skipNxJson?: boolean;
|
|
24
|
-
skipPackageJson?: boolean;
|
|
25
|
-
ssr?: boolean;
|
|
26
|
-
strict?: boolean;
|
|
27
|
-
style: SupportedStyles;
|
|
28
|
-
tags?: string;
|
|
29
|
-
unitTestRunner: 'jest' | 'vitest' | 'none';
|
|
30
|
-
minimal?: boolean;
|
|
31
|
-
typescriptConfiguration?: boolean;
|
|
32
|
-
dynamic?: boolean;
|
|
33
|
-
addPlugin?: boolean;
|
|
34
|
-
bundler?: 'rspack' | 'webpack';
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface NormalizedSchema extends Schema {
|
|
38
|
-
// `normalizeOptions` always resolves this, so it is no longer optional.
|
|
39
|
-
linter: LinterType;
|
|
40
|
-
appProjectRoot: string;
|
|
41
|
-
e2eProjectName: string;
|
|
42
|
-
projectName: string;
|
|
43
|
-
addPlugin?: boolean;
|
|
44
|
-
}
|