diff --git a/packages/rspack/src/plugins/utils/apply-base-config.ts b/packages/rspack/src/plugins/utils/apply-base-config.ts index d37ab15094..de5ad3a85a 100644 --- a/packages/rspack/src/plugins/utils/apply-base-config.ts +++ b/packages/rspack/src/plugins/utils/apply-base-config.ts @@ -240,8 +240,13 @@ function applyNxDependentConfig( plugins.push(new NxTsconfigPathsRspackPlugin({ ...options, tsConfig })); } - // New TS Solution already has a typecheck target - if (!options?.skipTypeChecking && !isUsingTsSolution) { + // New TS Solution already has a typecheck target but allow it to run during serve + if ( + (!options?.skipTypeChecking && !isUsingTsSolution) || + (isUsingTsSolution && + options?.skipTypeChecking === false && + process.env['WEBPACK_SERVE']) + ) { const { TsCheckerRspackPlugin } = require('ts-checker-rspack-plugin'); plugins.push( new TsCheckerRspackPlugin({ diff --git a/packages/webpack/src/plugins/nx-webpack-plugin/lib/apply-base-config.ts b/packages/webpack/src/plugins/nx-webpack-plugin/lib/apply-base-config.ts index 7b93076ba6..14a8a5eccb 100644 --- a/packages/webpack/src/plugins/nx-webpack-plugin/lib/apply-base-config.ts +++ b/packages/webpack/src/plugins/nx-webpack-plugin/lib/apply-base-config.ts @@ -243,8 +243,13 @@ function applyNxDependentConfig( plugins.push(new NxTsconfigPathsWebpackPlugin({ ...options, tsConfig })); } - // New TS Solution already has a typecheck target - if (!options?.skipTypeChecking && !isUsingTsSolution) { + // New TS Solution already has a typecheck target but allow it to run during serve + if ( + (!options?.skipTypeChecking && !isUsingTsSolution) || + (isUsingTsSolution && + options?.skipTypeChecking === false && + process.env['WEBPACK_SERVE']) + ) { const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); plugins.push( new ForkTsCheckerWebpackPlugin({