diff --git a/e2e/node/src/node-server.test.ts b/e2e/node/src/node-server.test.ts index af5a72f995..43bb152768 100644 --- a/e2e/node/src/node-server.test.ts +++ b/e2e/node/src/node-server.test.ts @@ -193,7 +193,9 @@ describe('Node Applications + webpack', () => { return config; }); - runCLI(`serve ${nodeApp1} --watch=false`); + await runCommandUntil(`serve ${nodeApp1} `, (output) => + output.includes('Hello World') + ); checkFilesExist(`dist/apps/${nodeApp1}/main.js`); checkFilesExist(`dist/apps/${nodeApp2}/main.js`); diff --git a/packages/express/src/generators/application/application.spec.ts b/packages/express/src/generators/application/application.spec.ts index 9be5d0df88..ce252df373 100644 --- a/packages/express/src/generators/application/application.spec.ts +++ b/packages/express/src/generators/application/application.spec.ts @@ -229,6 +229,7 @@ describe('app', () => { "buildTarget": "@proj/myapp:build:production", }, }, + "continuous": true, "defaultConfiguration": "development", "dependsOn": [ "build", diff --git a/packages/nest/src/generators/application/application.spec.ts b/packages/nest/src/generators/application/application.spec.ts index 6869b56ca7..09770919ad 100644 --- a/packages/nest/src/generators/application/application.spec.ts +++ b/packages/nest/src/generators/application/application.spec.ts @@ -62,6 +62,7 @@ describe('application generator', () => { "buildTarget": "my-node-app:build:production", }, }, + "continuous": true, "defaultConfiguration": "development", "dependsOn": [ "build", @@ -242,6 +243,7 @@ describe('application generator', () => { "buildTarget": "@proj/myapp:build:production", }, }, + "continuous": true, "defaultConfiguration": "development", "dependsOn": [ "build", diff --git a/packages/node/src/generators/application/application.spec.ts b/packages/node/src/generators/application/application.spec.ts index a3270c70c7..d9d748ea0e 100644 --- a/packages/node/src/generators/application/application.spec.ts +++ b/packages/node/src/generators/application/application.spec.ts @@ -51,6 +51,7 @@ describe('app', () => { "buildTarget": "my-node-app:build:production", }, }, + "continuous": true, "defaultConfiguration": "development", "dependsOn": [ "build", @@ -263,6 +264,7 @@ describe('app', () => { "buildTarget": "my-node-app:build:production", }, }, + "continuous": true, "defaultConfiguration": "development", "dependsOn": [ "build", @@ -626,6 +628,7 @@ describe('app', () => { "buildTarget": "@proj/myapp:build:production", }, }, + "continuous": true, "defaultConfiguration": "development", "dependsOn": [ "build", diff --git a/packages/node/src/generators/application/application.ts b/packages/node/src/generators/application/application.ts index 2dafdec2d7..fd95774c43 100644 --- a/packages/node/src/generators/application/application.ts +++ b/packages/node/src/generators/application/application.ts @@ -146,6 +146,7 @@ function getEsBuildConfig( function getServeConfig(options: NormalizedSchema): TargetConfiguration { return { + continuous: true, executor: '@nx/js:node', defaultConfiguration: 'development', // Run build, which includes dependency on "^build" by default, so the first run @@ -298,10 +299,18 @@ function addAppFiles(tree: Tree, options: NormalizedSchema) { function addProxy(tree: Tree, options: NormalizedSchema) { const projectConfig = readProjectConfiguration(tree, options.frontendProject); - if (projectConfig.targets && projectConfig.targets.serve) { + if ( + projectConfig.targets && + ['serve', 'dev'].find((t) => !!projectConfig.targets[t]) + ) { + const targetName = ['serve', 'dev'].find((t) => !!projectConfig.targets[t]); + projectConfig.targets[targetName].dependsOn = [ + ...(projectConfig.targets[targetName].dependsOn ?? []), + `${options.name}:serve`, + ]; const pathToProxyFile = `${projectConfig.root}/proxy.conf.json`; - projectConfig.targets.serve.options = { - ...projectConfig.targets.serve.options, + projectConfig.targets[targetName].options = { + ...projectConfig.targets[targetName].options, proxyConfig: pathToProxyFile, };