suggestCodeGenerationPreDeployHook static method

Future<void> suggestCodeGenerationPreDeployHook(
  1. CommandLogger logger,
  2. ProjectLaunch projectSetup,
  3. String configFilePath
)

Implementation

static Future<void> suggestCodeGenerationPreDeployHook(
  final CommandLogger logger,
  final ProjectLaunch projectSetup,
  final String configFilePath,
) async {
  ScloudConfig? existingConfig;
  try {
    existingConfig = ScloudConfigIO.readFromFile(configFilePath);
  } catch (_) {
    logger.debug('Failed to read config file at $configFilePath');
  }

  final codeGenerationHook = 'serverpod generate';

  final existingPreDeploy = existingConfig?.scripts.preDeploy ?? [];
  if (existingPreDeploy.contains(codeGenerationHook)) return;

  final shouldAdd = await logger.confirm(
    'Would you like to run code generation (`serverpod generate`) before deploy?',
    defaultValue: true,
  );

  if (!shouldAdd) return;
  projectSetup.suggestedPreDeployScripts.add(codeGenerationHook);
}