UNPKG

@gravityforms/gulp-tasks

Version:
45 lines (41 loc) 1.68 kB
const gulp = require( 'gulp' ); const { promisify } = require( 'util' ); const hashsum = require( 'gulp-hashsum' ); const path = require( 'path' ); const fs = require( 'fs' ); const rename = promisify( fs.rename ); const getPluginVersion = require( '../utils/get-plugin-version' ); const sendSlackMessage = require( '../utils/send-slack-message' ); const getConfig = require('../../config'); const { config } = getConfig(); module.exports = Object.assign( {}, { release() { const version = process.env.GRAVITY_PLUGIN_VERSION || getPluginVersion( config.paths.root, config.settings.rootPluginFile ); const checksumFilename = `${ config.settings.slug }_${ version }.md5`; const checksumDir = path.join( config.paths.root, 'checksums' ); const destPath = path.join( checksumDir, checksumFilename ); if ( ! fs.existsSync( checksumDir ) ) { fs.mkdirSync( checksumDir, { recursive: true } ); } return gulp.src( config?.checksum?.release?.src || [] ) .pipe( hashsum( { dest: config.paths.root, filename: checksumFilename, } ) ) .on( 'error', async function( err ) { console.error( 'Checksum creation error:', err ); await sendSlackMessage( `Failed to create checksums during build: ${ err }`, 'error' ); process.exit( 1 ); } ) .on( 'end', async () => { const srcPath = path.join( config.paths.root, checksumFilename ); try { await rename( srcPath, destPath ); console.log( `Checksum file moved to ${ destPath }` ); } catch ( err ) { await sendSlackMessage( `Failed to move checksums during build: ${ err }`, 'error' ); process.exit( 1 ); } } ); }, }, config?.tasks?.builtins?.checksum || {} );