Skip to content

Instantly share code, notes, and snippets.

@ZackDeRose
Created January 26, 2023 05:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ZackDeRose/c18821f3705406df05e77af8375fd25b to your computer and use it in GitHub Desktop.
Save ZackDeRose/c18821f3705406df05e77af8375fd25b to your computer and use it in GitHub Desktop.
import { ServeFullstackExecutorSchema } from './schema';
import { ExecutorContext } from '@nrwl/devkit';
import { ChildProcess, exec } from 'child_process';
const LARGE_BUFFER = 1024 * 1000000;
export default async function runExecutor(
options: ServeFullstackExecutorSchema,
_context: ExecutorContext
) {
await startBackendServer(options);
}
async function startBackendServer(options: ServeFullstackExecutorSchema) {
return new Promise(() => {
const childProcess = exec(`npx nx serve ${options.backendProject}`, {
maxBuffer: LARGE_BUFFER,
});
process.on('exit', () => childProcess.kill());
process.on('SIGTERM', () => childProcess.kill());
childProcess.stdout.on('data', (data) => {
if (data.includes('No errors found.')) {
// later we'll start our frontend serve here!
}
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment