All files / utils finalizer.util.ts

100% Statements 8/8
100% Branches 2/2
100% Functions 1/1
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                      1x 1x 1x 1x   1x 1x 1x   1x    
import { exec } from 'child_process';
import { promisify } from 'util';
 
import { logger } from './logger';
 
/**
 * A generator finalizer:
 * - configures custom executors;
 * - lints generated source code.
 * @param schema generator schema
 */
export const finalizeGenerator = async <T>(schema: T) => {
  const tscConfigure = await promisify(exec)(`npx nx run tools:tsc-configure`);
  logger.printInfo(void 0, tscConfigure.stdout);
  logger.printError(void 0, tscConfigure.stderr);
 
  const lint = await promisify(exec)(`npx nx lint ${(schema as Record<string, string>)['name']} --fix`);
  logger.printInfo(void 0, lint.stdout);
  logger.printError(void 0, lint.stderr);
 
  return { success: tscConfigure.stderr === '' && lint.stderr === '' };
};