cfn-forge
Version:
CloudFormation deployment automation tool with git-based workflows
58 lines (49 loc) • 1.79 kB
JavaScript
/**
* Post-install script for cfn-forge
* Handles shell completion setup and displays installation message
*/
const fs = require('fs');
const path = require('path');
const os = require('os');
function displayWelcomeMessage() {
console.log('\n==================================================');
console.log(' CFN-Forge Installation Complete! ');
console.log('==================================================');
console.log('\nGet started with:');
console.log(' cfn-forge init - Initialize a new project');
console.log(' cfn-forge --help - Show all commands');
console.log(' cfn-forge templates - List available templates');
console.log('\nDocumentation: https://github.com/dmleblanc/cfn-forge');
console.log('==================================================\n');
}
function setupCompletions() {
try {
// Skip completion setup on Windows for now
if (process.platform === 'win32') {
console.log('Note: Shell completions are not yet available on Windows');
return;
}
// Future: Add shell completion setup for bash/zsh
// This would involve copying completion files to appropriate directories
} catch (error) {
// Silently fail - completions are optional
console.debug('Completion setup skipped:', error.message);
}
}
function main() {
try {
setupCompletions();
displayWelcomeMessage();
} catch (error) {
// Don't fail the installation if postinstall has issues
console.error('Warning: Post-install steps encountered an issue:', error.message);
// Exit successfully anyway
process.exit(0);
}
}
// Run if called directly
if (require.main === module) {
main();
}
module.exports = { setupCompletions, displayWelcomeMessage };