UNPKG

@gravityforms/gulp-tasks

Version:
53 lines (41 loc) 1.7 kB
#!/usr/bin/env node import { exec } from 'node:child_process'; import fs from 'node:fs'; import path from 'node:path'; import { promisify } from 'node:util'; import getConfig from '../../config.js'; import sendSlackMessage from '../utils/send-slack-message.js'; import { trailingSlashIt } from './util.js'; const { config } = getConfig(); const root = trailingSlashIt( config?.paths?.root || '' ); const execAsync = promisify( exec ); const init = async () => { try { const composerJsonPath = path.join( root, 'composer.json' ); if ( fs.existsSync( composerJsonPath ) ) { const composerJson = JSON.parse( fs.readFileSync( composerJsonPath, 'utf8' ) ); if ( composerJson.require && Object.keys( composerJson.require ).length > 0 ) { console.log( 'Installing composer dependencies...' ); const composerLockPath = path.join( root, 'composer.lock' ); const vendorPath = path.join( root, 'vendor' ); if ( fs.existsSync( composerLockPath ) ) { fs.rmSync( composerLockPath ); } if ( fs.existsSync( vendorPath ) ) { fs.rmSync( vendorPath, { recursive: true, force: true } ); } await execAsync( `cd "${ root }" && composer install --no-dev --ignore-platform-reqs` ); console.log( 'Installed composer dependencies successfully.' ); } else { console.log( 'No \'require\' section found in composer.json. Skipping composer install.' ); } } else { console.log( 'No composer.json found. Skipping composer install.' ); } } catch ( error ) { console.error( 'Error during script execution:', error ); await sendSlackMessage( `Composer install failed during build: ${ error.message }`, 'error' ); process.exit( 1 ); } }; init();