All files / libs/tools/plugin/src/executors/nx-get-shas executor.ts

100% Statements 35/35
100% Branches 1/1
100% Functions 1/1
100% Lines 35/35

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 24 25 26 27 28 29 30 31 32 33 34 35 361x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x  
import { writeFile } from 'node:fs/promises';
 
import { type Executor } from '@nx/devkit';
 
import { debug } from './debug';
import { logger } from './logger';
import { getHeadAndBaseShas } from './nx-get-shas';
import { type NxGetShasExecutorSchema } from './schema.d';
 
export const executor: Executor<NxGetShasExecutorSchema> = async (
  { outputFile = 'nx-shas.env', token, projectId, ref, depth = 20 },
  { isVerbose = false },
) => {
  debug.enabled ||= isVerbose;
 
  const { head, base } = await getHeadAndBaseShas({
    token,
    projectId,
    ref,
    depth,
  });
 
  // write in file
  await writeFile(outputFile, `NX_HEAD=${head}\nNX_BASE=${base}\n`);
 
  debug('Wrote NX_HEAD and NX_BASE to %s', outputFile);
 
  logger.info(`Run \`source ${outputFile}\` to export NX_HEAD and NX_BASE for affected usage.`);
 
  return {
    success: true,
  };
};
 
export default executor;