Skip to content

Commit 00336d8

Browse files
jaysooFrozenPandaz
authored andcommitted
fix(web): remove hard dependencies to @nrwl/vite and @nrwl/webpack (#14408)
(cherry picked from commit e0bd338)
1 parent ecf7bef commit 00336d8

File tree

4 files changed

+24
-13
lines changed

4 files changed

+24
-13
lines changed

packages/web/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@
4343
"@nrwl/js": "file:../js",
4444
"@nrwl/linter": "file:../linter",
4545
"@nrwl/rollup": "file:../rollup",
46-
"@nrwl/vite": "file:../vite",
47-
"@nrwl/webpack": "file:../webpack",
4846
"@nrwl/workspace": "file:../workspace",
4947
"babel-plugin-const-enum": "^1.0.1",
5048
"babel-plugin-macros": "^2.8.0",

packages/web/src/executors/dev-server/dev-server.impl.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,19 @@
22
* This is here for backwards-compat.
33
* TODO(jack): remove in Nx 16.
44
*/
5-
import { devServerExecutor, WebDevServerOptions } from '@nrwl/webpack';
5+
import { ExecutorContext } from '@nrwl/devkit';
66

7-
export { devServerExecutor, WebDevServerOptions };
7+
export async function* devServerExecutor(
8+
options: any,
9+
context: ExecutorContext
10+
) {
11+
const { devServerExecutor: baseDevServerExecutor } = require('@nrwl/webpack');
12+
yield* baseDevServerExecutor(
13+
{
14+
...options,
15+
target: 'web',
16+
},
17+
context
18+
);
19+
}
820
export default devServerExecutor;

packages/web/src/executors/webpack/webpack.impl.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,9 @@
33
* TODO(jack): Remove in Nx 16.
44
*/
55
import { ExecutorContext } from '@nrwl/devkit';
6-
import type { WebpackExecutorOptions } from '@nrwl/webpack';
7-
import { webpackExecutor as baseWebpackExecutor } from '@nrwl/webpack';
86

9-
export async function* webpackExecutor(
10-
options: WebpackExecutorOptions,
11-
context: ExecutorContext
12-
) {
7+
export async function* webpackExecutor(options: any, context: ExecutorContext) {
8+
const { webpackExecutor: baseWebpackExecutor } = require('@nrwl/webpack');
139
yield* baseWebpackExecutor(
1410
{
1511
...options,

packages/web/src/generators/application/application.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { join } from 'path';
2-
import { webpackProjectGenerator } from '@nrwl/webpack';
32
import { cypressProjectGenerator } from '@nrwl/cypress';
43
import {
54
addDependenciesToPackageJson,
65
addProjectConfiguration,
76
convertNxGenerator,
7+
ensurePackage,
88
extractLayoutDirectory,
99
formatFiles,
1010
generateFiles,
@@ -25,9 +25,8 @@ import { swcCoreVersion } from '@nrwl/js/src/utils/versions';
2525
import { Linter, lintProjectGenerator } from '@nrwl/linter';
2626
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
2727
import { getRelativePathToRootTsConfig } from '@nrwl/workspace/src/utilities/typescript';
28-
import { viteConfigurationGenerator, vitestGenerator } from '@nrwl/vite';
2928

30-
import { swcLoaderVersion } from '../../utils/versions';
29+
import { nxVersion, swcLoaderVersion } from '../../utils/versions';
3130
import { webInitGenerator } from '../init/init';
3231
import { Schema } from './schema';
3332

@@ -75,6 +74,8 @@ async function setupBundler(tree: Tree, options: NormalizedSchema) {
7574
];
7675

7776
if (options.bundler === 'webpack') {
77+
await ensurePackage(tree, '@nrwl/webpack', nxVersion);
78+
const { webpackProjectGenerator } = require('@nrwl/webpack');
7879
await webpackProjectGenerator(tree, {
7980
project: options.projectName,
8081
main,
@@ -194,6 +195,8 @@ export async function applicationGenerator(host: Tree, schema: Schema) {
194195
await addProject(host, options);
195196

196197
if (options.bundler === 'vite') {
198+
await ensurePackage(host, '@nrwl/vite', nxVersion);
199+
const { viteConfigurationGenerator } = require('@nrwl/vite');
197200
// We recommend users use `import.meta.env.MODE` and other variables in their code to differentiate between production and development.
198201
// See: https://vitejs.dev/guide/env-and-mode.html
199202
host.delete(joinPathFragments(options.appProjectRoot, 'src/environments'));
@@ -209,6 +212,8 @@ export async function applicationGenerator(host: Tree, schema: Schema) {
209212
}
210213

211214
if (options.bundler !== 'vite' && options.unitTestRunner === 'vitest') {
215+
await ensurePackage(host, '@nrwl/vite', nxVersion);
216+
const { vitestGenerator } = require('@nrwl/vite');
212217
const vitestTask = await vitestGenerator(host, {
213218
uiFramework: 'none',
214219
project: options.projectName,

0 commit comments

Comments
 (0)