UNPKG

@gravityforms/gulp-tasks

Version:
52 lines (41 loc) 1.72 kB
#!/usr/bin/env node const { exec } = require( 'child_process' ); const fs = require( 'fs' ); const path = require( 'path' ); const { promisify } = require( 'util' ); const getConfig = require( '../../config' ); const { config } = getConfig(); const sendSlackMessage = require( '../utils/send-slack-message' ); const { trailingSlashIt } = require( './util' ); 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();