@nx/react 23.2.0-beta.7 → 23.2.0-beta.9
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/module-federation.d.ts +1 -2
- package/dist/module-federation.js +2 -3
- package/dist/plugins/component-testing/webpack-fallback.js +5 -0
- package/dist/src/generators/application/application.js +12 -25
- package/dist/src/generators/application/lib/add-linting.js +2 -3
- package/dist/src/generators/application/lib/create-application-files.d.ts +1 -1
- package/dist/src/generators/application/schema.d.ts +1 -1
- package/dist/src/generators/application/schema.json +5 -0
- package/dist/src/generators/host/files/rspack-module-federation/module-federation.config.js__tmpl__ +1 -1
- package/dist/src/generators/host/lib/setup-ssr-for-host.js +7 -8
- package/dist/src/generators/library/lib/update-app-routes.js +1 -2
- package/dist/src/generators/remote/lib/setup-ssr-for-remote.js +8 -9
- package/package.json +17 -17
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { withModuleFederation } from '@nx/module-federation/webpack';
|
|
2
|
-
import { withModuleFederationForSSR } from '@nx/module-federation/webpack';
|
|
1
|
+
import { withModuleFederation, withModuleFederationForSSR } from '@nx/module-federation/webpack';
|
|
3
2
|
/**
|
|
4
3
|
* @deprecated Use `@nx/module-federation/webpack` instead. This will be removed in Nx v22.
|
|
5
4
|
*/
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.withModuleFederationForSSR = exports.withModuleFederation = void 0;
|
|
4
4
|
const webpack_1 = require("@nx/module-federation/webpack");
|
|
5
5
|
Object.defineProperty(exports, "withModuleFederation", { enumerable: true, get: function () { return webpack_1.withModuleFederation; } });
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "withModuleFederationForSSR", { enumerable: true, get: function () { return webpack_2.withModuleFederationForSSR; } });
|
|
6
|
+
Object.defineProperty(exports, "withModuleFederationForSSR", { enumerable: true, get: function () { return webpack_1.withModuleFederationForSSR; } });
|
|
8
7
|
// Support for older generated code: `const withModuleFederation = require('@nx/react/module-federation')`
|
|
9
8
|
/**
|
|
10
9
|
* @deprecated Use `@nx/module-federation/webpack` instead. This will be removed in Nx v22.
|
|
@@ -18,4 +17,4 @@ module.exports.withModuleFederation = webpack_1.withModuleFederation;
|
|
|
18
17
|
/**
|
|
19
18
|
* @deprecated Use `@nx/module-federation/webpack` instead. This will be removed in Nx v22.
|
|
20
19
|
*/
|
|
21
|
-
module.exports.withModuleFederationForSSR =
|
|
20
|
+
module.exports.withModuleFederationForSSR = webpack_1.withModuleFederationForSSR;
|
|
@@ -78,6 +78,11 @@ const loaderModulesOptions = {
|
|
|
78
78
|
modules: {
|
|
79
79
|
mode: 'local',
|
|
80
80
|
getLocalIdent: webpack_1.getCSSModuleLocalIdent,
|
|
81
|
+
// css-loader 7 defaults namedExport to true, and to camel-case-only
|
|
82
|
+
// locals when it is off. Generated components import the default
|
|
83
|
+
// export and reference class names as authored, so pin both.
|
|
84
|
+
namedExport: false,
|
|
85
|
+
exportLocalsConvention: 'asIs',
|
|
81
86
|
},
|
|
82
87
|
importLoaders: 1,
|
|
83
88
|
};
|
|
@@ -6,9 +6,8 @@ const tslib_1 = require("tslib");
|
|
|
6
6
|
const internal_1 = require("@nx/devkit/internal");
|
|
7
7
|
const assert_supported_react_version_1 = require("../../utils/assert-supported-react-version");
|
|
8
8
|
const devkit_1 = require("@nx/devkit");
|
|
9
|
-
const internal_2 = require("@nx/devkit/internal");
|
|
10
9
|
const js_1 = require("@nx/js");
|
|
11
|
-
const
|
|
10
|
+
const internal_2 = require("@nx/js/internal");
|
|
12
11
|
const create_ts_config_1 = require("../../utils/create-ts-config");
|
|
13
12
|
const init_1 = tslib_1.__importDefault(require("../init/init"));
|
|
14
13
|
const create_application_files_1 = require("./lib/create-application-files");
|
|
@@ -35,13 +34,12 @@ async function applicationGenerator(tree, schema) {
|
|
|
35
34
|
async function applicationGeneratorInternal(tree, schema) {
|
|
36
35
|
(0, assert_supported_react_version_1.assertSupportedReactVersion)(tree);
|
|
37
36
|
const tasks = [];
|
|
38
|
-
const addTsPlugin = (0,
|
|
37
|
+
const addTsPlugin = (0, internal_2.shouldConfigureTsSolutionSetup)(tree, schema.addPlugin, schema.useTsSolution);
|
|
39
38
|
const jsInitTask = await (0, js_1.initGenerator)(tree, {
|
|
40
39
|
...schema,
|
|
41
40
|
tsConfigName: schema.rootProject ? 'tsconfig.json' : 'tsconfig.base.json',
|
|
42
41
|
skipFormat: true,
|
|
43
42
|
addTsPlugin,
|
|
44
|
-
formatter: schema.formatter,
|
|
45
43
|
platform: 'web',
|
|
46
44
|
});
|
|
47
45
|
tasks.push(jsInitTask);
|
|
@@ -49,22 +47,11 @@ async function applicationGeneratorInternal(tree, schema) {
|
|
|
49
47
|
options.useReactRouter =
|
|
50
48
|
options.routing && options.bundler === 'vite'
|
|
51
49
|
? (options.useReactRouter ??
|
|
52
|
-
(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
name: 'Yes',
|
|
59
|
-
message: 'I want to use react-router [ https://reactrouter.com/start/framework/routing ]',
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: 'No',
|
|
63
|
-
message: 'I do not want to use react-router for server-side rendering',
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
initial: 0,
|
|
67
|
-
}, { response: 'No' }).then((r) => r.response === 'Yes')))
|
|
50
|
+
((0, internal_1.isInteractive)()
|
|
51
|
+
? await (0, internal_1.confirmationPrompt)({
|
|
52
|
+
message: 'Would you like to use react-router for server-side rendering?',
|
|
53
|
+
})
|
|
54
|
+
: false))
|
|
68
55
|
: false;
|
|
69
56
|
const initTask = await (0, init_1.default)(tree, {
|
|
70
57
|
...options,
|
|
@@ -76,7 +63,7 @@ async function applicationGeneratorInternal(tree, schema) {
|
|
|
76
63
|
const nxJson = (0, devkit_1.readNxJson)(tree) ?? {};
|
|
77
64
|
const existing = findBuildDefault(nxJson.targetDefaults);
|
|
78
65
|
if (!existing) {
|
|
79
|
-
(0,
|
|
66
|
+
(0, internal_1.upsertTargetDefault)(tree, nxJson, {
|
|
80
67
|
target: 'build',
|
|
81
68
|
cache: true,
|
|
82
69
|
dependsOn: ['^build'],
|
|
@@ -84,7 +71,7 @@ async function applicationGeneratorInternal(tree, schema) {
|
|
|
84
71
|
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
85
72
|
}
|
|
86
73
|
else if (!existing.dependsOn) {
|
|
87
|
-
(0,
|
|
74
|
+
(0, internal_1.upsertTargetDefault)(tree, nxJson, {
|
|
88
75
|
target: 'build',
|
|
89
76
|
dependsOn: ['^build'],
|
|
90
77
|
});
|
|
@@ -108,7 +95,7 @@ async function applicationGeneratorInternal(tree, schema) {
|
|
|
108
95
|
// If we are using the new TS solution
|
|
109
96
|
// We need to update the workspace file (package.json or pnpm-workspaces.yaml) to include the new project
|
|
110
97
|
if (options.isUsingTsSolutionConfig) {
|
|
111
|
-
await (0,
|
|
98
|
+
await (0, internal_2.addProjectToTsSolutionWorkspace)(tree, options.appProjectRoot);
|
|
112
99
|
}
|
|
113
100
|
const lintTask = await (0, add_linting_1.addLinting)(tree, options);
|
|
114
101
|
tasks.push(lintTask);
|
|
@@ -157,14 +144,14 @@ async function applicationGeneratorInternal(tree, schema) {
|
|
|
157
144
|
});
|
|
158
145
|
}
|
|
159
146
|
// Only for the new TS solution
|
|
160
|
-
(0,
|
|
147
|
+
(0, internal_2.updateTsconfigFiles)(tree, options.appProjectRoot, 'tsconfig.app.json', {
|
|
161
148
|
jsx: 'react-jsx',
|
|
162
149
|
module: 'esnext',
|
|
163
150
|
moduleResolution: 'bundler',
|
|
164
151
|
}, options.linter === 'eslint'
|
|
165
152
|
? ['eslint.config.js', 'eslint.config.cjs', 'eslint.config.mjs']
|
|
166
153
|
: undefined, options.useReactRouter ? 'app' : 'src');
|
|
167
|
-
(0,
|
|
154
|
+
(0, internal_2.sortPackageJsonFields)(tree, options.appProjectRoot);
|
|
168
155
|
if (!options.skipFormat) {
|
|
169
156
|
await (0, devkit_1.formatFiles)(tree);
|
|
170
157
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addLinting = addLinting;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const internal_1 = require("@nx/eslint/internal");
|
|
6
|
-
const devkit_2 = require("@nx/devkit");
|
|
7
6
|
const internal_2 = require("@nx/js/internal");
|
|
8
7
|
const lint_1 = require("../../../utils/lint");
|
|
9
8
|
const versions_1 = require("../../../utils/versions");
|
|
@@ -43,7 +42,7 @@ async function addLinting(host, options) {
|
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
if (!options.skipPackageJson) {
|
|
46
|
-
const installTask = (0,
|
|
45
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies, undefined, true);
|
|
47
46
|
const addSwcTask = (0, internal_2.addSwcDependencies)(host);
|
|
48
47
|
tasks.push(installTask, addSwcTask);
|
|
49
48
|
}
|
|
@@ -51,7 +50,7 @@ async function addLinting(host, options) {
|
|
|
51
50
|
await ignoreReactRouterFilesInEslintConfig(host, options.appProjectRoot);
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
|
-
return (0,
|
|
53
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
55
54
|
}
|
|
56
55
|
async function ignoreReactRouterFilesInEslintConfig(tree, projectRoot) {
|
|
57
56
|
if (!(0, internal_2.detectLinters)(tree).includes('eslint')) {
|
|
@@ -29,7 +29,7 @@ export declare function getDefaultTemplateVariables(host: Tree, options: Normali
|
|
|
29
29
|
minimal?: boolean;
|
|
30
30
|
nxCloudToken?: string;
|
|
31
31
|
useTsSolution?: boolean;
|
|
32
|
-
formatter?: 'prettier' | 'none';
|
|
32
|
+
formatter?: 'prettier' | 'oxfmt' | 'none';
|
|
33
33
|
useProjectJson?: boolean;
|
|
34
34
|
linter: import("@nx/js").LinterType;
|
|
35
35
|
projectName: string;
|
|
@@ -102,6 +102,11 @@
|
|
|
102
102
|
"enum": ["eslint", "oxlint", "none"],
|
|
103
103
|
"x-priority": "important"
|
|
104
104
|
},
|
|
105
|
+
"formatter": {
|
|
106
|
+
"description": "The tool to use for code formatting.",
|
|
107
|
+
"type": "string",
|
|
108
|
+
"enum": ["none", "prettier", "oxfmt"]
|
|
109
|
+
},
|
|
105
110
|
"unitTestRunner": {
|
|
106
111
|
"type": "string",
|
|
107
112
|
"enum": ["vitest", "jest", "none"],
|
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupSsrForHost = setupSsrForHost;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const devkit_2 = require("@nx/devkit");
|
|
6
5
|
const versions_1 = require("../../../utils/versions");
|
|
7
6
|
const create_application_files_1 = require("../../application/lib/create-application-files");
|
|
8
7
|
async function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
|
|
9
8
|
const tasks = [];
|
|
10
|
-
let project = (0,
|
|
9
|
+
let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
11
10
|
if (options.bundler !== 'rspack') {
|
|
12
11
|
project.targets.serve.executor =
|
|
13
12
|
'@nx/react:module-federation-ssr-dev-server';
|
|
14
|
-
(0,
|
|
13
|
+
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
15
14
|
}
|
|
16
15
|
const pathToModuleFederationSsrFiles = options.typescriptConfiguration
|
|
17
16
|
? `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr-ts`
|
|
@@ -28,7 +27,7 @@ async function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
|
|
|
28
27
|
static: !options?.dynamic,
|
|
29
28
|
remotes: defaultRemoteManifest.map(({ name, port }) => {
|
|
30
29
|
return {
|
|
31
|
-
...(0,
|
|
30
|
+
...(0, devkit_1.names)(name),
|
|
32
31
|
port,
|
|
33
32
|
};
|
|
34
33
|
}),
|
|
@@ -42,13 +41,13 @@ async function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
|
|
|
42
41
|
browserBuildOutputPath: project.targets.build?.options?.outputPath,
|
|
43
42
|
remotes: defaultRemoteManifest.map(({ name, port }) => {
|
|
44
43
|
return {
|
|
45
|
-
...(0,
|
|
44
|
+
...(0, devkit_1.names)(name),
|
|
46
45
|
port,
|
|
47
46
|
};
|
|
48
47
|
}),
|
|
49
48
|
};
|
|
50
|
-
(0,
|
|
51
|
-
const installTask = (0,
|
|
49
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToModuleFederationSsrFiles}`), project.root, templateVariables);
|
|
50
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
52
51
|
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
53
52
|
cors: versions_1.corsVersion,
|
|
54
53
|
isbot: versions_1.isbotVersion,
|
|
@@ -56,5 +55,5 @@ async function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
|
|
|
56
55
|
'@types/express': versions_1.typesExpressVersion,
|
|
57
56
|
}, {}, undefined, true);
|
|
58
57
|
tasks.push(installTask);
|
|
59
|
-
return (0,
|
|
58
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
60
59
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.updateAppRoutes = updateAppRoutes;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const ast_utils_1 = require("../../../utils/ast-utils");
|
|
6
|
-
const ast_utils_2 = require("../../../utils/ast-utils");
|
|
7
6
|
const maybe_js_1 = require("../../../utils/maybe-js");
|
|
8
7
|
const versions_1 = require("../../../utils/versions");
|
|
9
8
|
const internal_1 = require("@nx/js/internal");
|
|
@@ -32,7 +31,7 @@ function updateAppRoutes(host, options) {
|
|
|
32
31
|
const { content: componentContent, source: componentSource } = readComponent(host, appComponentPath);
|
|
33
32
|
const isComponentRouterPresent = componentContent.match(/react-router-dom/);
|
|
34
33
|
if (!isComponentRouterPresent) {
|
|
35
|
-
const changes = (0, devkit_1.applyChangesToString)(componentContent, (0,
|
|
34
|
+
const changes = (0, devkit_1.applyChangesToString)(componentContent, (0, ast_utils_1.addInitialRoutes)(appComponentPath, componentSource));
|
|
36
35
|
host.write(appComponentPath, changes);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupSsrForRemote = setupSsrForRemote;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const devkit_2 = require("@nx/devkit");
|
|
6
5
|
const versions_1 = require("../../../utils/versions");
|
|
7
6
|
const create_application_files_1 = require("../../application/lib/create-application-files");
|
|
8
7
|
async function setupSsrForRemote(tree, options, appName) {
|
|
9
8
|
const tasks = [];
|
|
10
|
-
const project = (0,
|
|
9
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
11
10
|
const pathToModuleFederationSsrFiles = options.typescriptConfiguration
|
|
12
11
|
? `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr-ts`
|
|
13
12
|
: `${options.bundler === 'rspack' ? 'rspack-' : 'webpack-'}module-federation-ssr`;
|
|
@@ -29,28 +28,28 @@ async function setupSsrForRemote(tree, options, appName) {
|
|
|
29
28
|
browserBuildOutputPath: project.targets.build?.options?.outputPath,
|
|
30
29
|
serverBuildOutputPath: project.targets.server?.options?.outputPath,
|
|
31
30
|
};
|
|
32
|
-
(0,
|
|
31
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToModuleFederationSsrFiles}`), project.root, templateVariables);
|
|
33
32
|
// For hosts to use when running remotes in static mode.
|
|
34
33
|
const originalOutputPath = (project.targets.build?.options?.outputPath ??
|
|
35
34
|
options.isUsingTsSolutionConfig)
|
|
36
35
|
? 'dist'
|
|
37
|
-
: (0,
|
|
36
|
+
: (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(options.appProjectRoot), 'dist', options.appProjectRoot != '.'
|
|
38
37
|
? options.appProjectRoot
|
|
39
38
|
: options.projectName);
|
|
40
39
|
const serverOptions = project.targets.server?.options;
|
|
41
40
|
const serverOutputPath = serverOptions?.outputPath ??
|
|
42
|
-
(0,
|
|
41
|
+
(0, devkit_1.joinPathFragments)(originalOutputPath, 'server');
|
|
43
42
|
const serverOutputName = serverOptions?.outputFileName ?? 'main.js';
|
|
44
43
|
project.targets['serve-static'] = {
|
|
45
44
|
dependsOn: ['build', 'server'],
|
|
46
45
|
executor: 'nx:run-commands',
|
|
47
46
|
defaultConfiguration: 'development',
|
|
48
47
|
options: {
|
|
49
|
-
command: `PORT=${options.devServerPort ?? 4200} node ${(0,
|
|
48
|
+
command: `PORT=${options.devServerPort ?? 4200} node ${(0, devkit_1.joinPathFragments)(serverOutputPath, serverOutputName)}`,
|
|
50
49
|
},
|
|
51
50
|
};
|
|
52
|
-
(0,
|
|
53
|
-
const installTask = (0,
|
|
51
|
+
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
52
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
54
53
|
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
55
54
|
cors: versions_1.corsVersion,
|
|
56
55
|
isbot: versions_1.isbotVersion,
|
|
@@ -58,5 +57,5 @@ async function setupSsrForRemote(tree, options, appName) {
|
|
|
58
57
|
'@types/express': versions_1.typesExpressVersion,
|
|
59
58
|
}, {}, undefined, true);
|
|
60
59
|
tasks.push(installTask);
|
|
61
|
-
return (0,
|
|
60
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
62
61
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/react",
|
|
3
|
-
"version": "23.2.0-beta.
|
|
3
|
+
"version": "23.2.0-beta.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.",
|
|
6
6
|
"repository": {
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"react-dom": ">=18.0.0 <20.0.0",
|
|
97
97
|
"express": "^4.21.2",
|
|
98
98
|
"http-proxy-middleware": "^3.0.7",
|
|
99
|
-
"@nx/module-federation": "23.2.0-beta.
|
|
99
|
+
"@nx/module-federation": "23.2.0-beta.9"
|
|
100
100
|
},
|
|
101
101
|
"peerDependenciesMeta": {
|
|
102
102
|
"babel-plugin-react-compiler": {
|
|
@@ -118,27 +118,27 @@
|
|
|
118
118
|
"minimatch": "10.2.5",
|
|
119
119
|
"tslib": "^2.3.0",
|
|
120
120
|
"semver": "^7.6.3",
|
|
121
|
-
"@nx/devkit": "23.2.0-beta.
|
|
122
|
-
"@nx/js": "23.2.0-beta.
|
|
123
|
-
"@nx/eslint": "23.2.0-beta.
|
|
124
|
-
"@nx/web": "23.2.0-beta.
|
|
121
|
+
"@nx/devkit": "23.2.0-beta.9",
|
|
122
|
+
"@nx/js": "23.2.0-beta.9",
|
|
123
|
+
"@nx/eslint": "23.2.0-beta.9",
|
|
124
|
+
"@nx/web": "23.2.0-beta.9"
|
|
125
125
|
},
|
|
126
126
|
"devDependencies": {
|
|
127
127
|
"express": "^4.21.2",
|
|
128
128
|
"http-proxy-middleware": "^3.0.7",
|
|
129
|
-
"@nx/cypress": "23.2.0-beta.
|
|
130
|
-
"@nx/module-federation": "23.2.0-beta.
|
|
131
|
-
"@nx/playwright": "23.2.0-beta.
|
|
132
|
-
"@nx/rollup": "23.2.0-beta.
|
|
133
|
-
"@nx/rsbuild": "23.2.0-beta.
|
|
134
|
-
"@nx/vite": "23.2.0-beta.
|
|
135
|
-
"@nx/vitest": "23.2.0-beta.
|
|
136
|
-
"@nx/webpack": "23.2.0-beta.
|
|
137
|
-
"@nx/storybook": "23.2.0-beta.
|
|
138
|
-
"nx": "23.2.0-beta.
|
|
129
|
+
"@nx/cypress": "23.2.0-beta.9",
|
|
130
|
+
"@nx/module-federation": "23.2.0-beta.9",
|
|
131
|
+
"@nx/playwright": "23.2.0-beta.9",
|
|
132
|
+
"@nx/rollup": "23.2.0-beta.9",
|
|
133
|
+
"@nx/rsbuild": "23.2.0-beta.9",
|
|
134
|
+
"@nx/vite": "23.2.0-beta.9",
|
|
135
|
+
"@nx/vitest": "23.2.0-beta.9",
|
|
136
|
+
"@nx/webpack": "23.2.0-beta.9",
|
|
137
|
+
"@nx/storybook": "23.2.0-beta.9",
|
|
138
|
+
"nx": "23.2.0-beta.9"
|
|
139
139
|
},
|
|
140
140
|
"optionalDependencies": {
|
|
141
|
-
"@nx/vite": "23.2.0-beta.
|
|
141
|
+
"@nx/vite": "23.2.0-beta.9"
|
|
142
142
|
},
|
|
143
143
|
"publishConfig": {
|
|
144
144
|
"access": "public"
|