All files / executors/start-lambda executor.ts

100% Statements 17/17
100% Branches 3/3
100% Functions 1/1
100% Lines 16/16

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  1x 1x 1x 1x     1x       10x   10x 10x 10x   10x 10x 8x   10x   10x       6x         1x  
import { ExecutorContext } from '@nx/devkit';
import { resolve } from 'node:path';
import { executeCommand } from '../../utils/execute-command';
import { getProjectRoot } from '../../utils/get-project-root';
import { getSamconfigPath } from '../../utils/get-samconfig-path';
import { StartLambdaExecutorSchema } from './schema';
 
export const runExecutor = async (
  options: StartLambdaExecutorSchema,
  context: ExecutorContext,
): Promise<{ success: boolean }> => {
  const projectRootResolved = resolve(context.root, getProjectRoot(context));
 
  const { predefinedArguments, __unparsed__ } = options;
  const samconfigPath = getSamconfigPath(__unparsed__, projectRootResolved);
  const command = `sam`;
 
  const args = [...(predefinedArguments ?? []), ...__unparsed__];
  if (samconfigPath) {
    args.unshift('--config-file', samconfigPath);
  }
  args.unshift('local', 'start-lambda');
 
  await executeCommand(command, args, {
    cwd: projectRootResolved,
  });
 
  return {
    success: true,
  };
};
 
export default runExecutor;