UNPKG

@gravityforms/gulp-tasks

Version:
274 lines (269 loc) 7.47 kB
const gulp = require( 'gulp' ); const fs = require( 'fs' ); const path = require( 'path' ); const getConfig = require( '../../config' ); const { config } = getConfig(); const shell = require( 'gulp-shell' ); const browserSync = require( 'browser-sync' ); const args = require( '../utils/get-args' ); function combineCommandParts( parts = [], glue = '&&' ) { if ( ! Array.isArray( parts ) ) { return ''; } return parts.join( glue ); } module.exports = Object.assign( {}, { composerInstall() { return gulp.src( './' ) .pipe( shell( 'npm run composer:install' ) ); }, exportComponents() { return gulp.src( './' ) .pipe( shell( 'npm run export:components' ) ); }, exportComponentsNoClean() { return gulp.src( './' ) .pipe( shell( 'npm run export:components:noclean' ) ); }, generateDesignTokenProps() { return gulp.src( './' ) .pipe( shell( 'npm run generate:props:all' ) ); }, generatePot() { return gulp.src( './' ) .pipe( shell( 'npm run generate:pot' ) ); }, linkMonorepo() { return gulp.src( './' ) .pipe( shell( 'npm run link:monorepo' ) ); }, packageWpCom() { return gulp.src( './' ) .pipe( shell( 'npm run package:wpcom' ) ); }, processJsHashes() { return gulp.src( './' ) .pipe( shell( 'npm run process:hash:js' ) ); }, restoreState() { return gulp.src( './' ) .pipe( shell( 'npm run restore:state' ) ); }, test() { return gulp.src( './' ) .pipe( shell( 'npm run test' ) ); }, scriptsThemeDev() { const server = browserSync.get( config.browserSync.serverName ); return gulp.src( './' ) .pipe( shell( 'npm run js:theme:dev' ) ) .on( 'finish', function() { if ( server.active ) { server.reload(); } } ); }, scriptsThemeDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:theme:dev:release' ) ); }, scriptsThemeProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:theme:prod' ) ); }, scriptsThemeProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:theme:prod:release' ) ); }, scriptsAdminDev() { const server = browserSync.get( config.browserSync.serverName ); return gulp.src( './' ) .pipe( shell( 'npm run js:admin:dev' ) ) .on( 'finish', function() { if ( server.active ) { server.reload(); } } ); }, scriptsAdminDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:admin:dev:release' ) ); }, scriptsAdminProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:admin:prod' ) ); }, scriptsAdminProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:admin:prod:release' ) ); }, scriptsAdminBlocksDev() { const server = browserSync.get( config.browserSync.serverName ); return gulp.src( './' ) .pipe( shell( 'npm run js:adminblocks:dev' ) ) .on( 'finish', function() { if ( server.active ) { server.reload(); } } ); }, scriptsAdminBlocksDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:adminblocks:dev:release' ) ); }, scriptsAdminBlocksProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:adminblocks:prod' ) ); }, scriptsAdminBlocksProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:adminblocks:prod:release' ) ); }, scriptsAdminSettingsDev() { const server = browserSync.get( config.browserSync.serverName ); return gulp.src( './' ) .pipe( shell( 'npm run js:adminsettings:dev' ) ) .on( 'finish', function() { if ( server.active ) { server.reload(); } } ); }, scriptsAdminSettingsDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:adminsettings:dev:release' ) ); }, scriptsAdminSettingsProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:adminsettings:prod' ) ); }, scriptsAdminSettingsProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:adminsettings:prod:release' ) ); }, scriptsAdminComponentsDev() { return gulp.src( './' ) .pipe( shell( 'npm run js:admincomponents:dev' ) ); }, scriptsAdminComponentsDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:admincomponents:dev:release' ) ); }, scriptsAdminComponentsProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:admincomponents:prod' ) ); }, scriptsAdminComponentsProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:admincomponents:prod:release' ) ); }, scriptsLegacyDev() { const server = browserSync.get( config.browserSync.serverName ); return gulp.src( './' ) .pipe( shell( 'npm run js:legacy:dev' ) ) .on( 'finish', function() { if ( server.active ) { server.reload(); } } ); }, scriptsLegacyDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:legacy:dev:release' ) ); }, scriptsLegacyProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:legacy:prod' ) ); }, scriptsLegacyProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:legacy:prod:release' ) ); }, scriptsLibrariesDev() { return gulp.src( './' ) .pipe( shell( 'npm run js:libraries:dev' ) ); }, scriptsLibrariesDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:libraries:dev:release' ) ); }, scriptsLibrariesProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:libraries:prod' ) ); }, scriptsLibrariesProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:libraries:prod:release' ) ); }, scriptsReactUtilsDev() { return gulp.src( './' ) .pipe( shell( 'npm run js:react-utils:dev' ) ); }, scriptsReactUtilsDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:react-utils:dev:release' ) ); }, scriptsReactUtilsProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:react-utils:prod' ) ); }, scriptsReactUtilsProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:react-utils:prod:release' ) ); }, scriptsUtilsDev() { return gulp.src( './' ) .pipe( shell( 'npm run js:utils:dev' ) ); }, scriptsUtilsDevRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:utils:dev:release' ) ); }, scriptsUtilsProd() { return gulp.src( './' ) .pipe( shell( 'npm run js:utils:prod' ) ); }, scriptsUtilsProdRelease() { return gulp.src( './' ) .pipe( shell( 'npm run js:utils:prod:release' ) ); }, updateSlackPackage() { return gulp.src( './' ) .pipe( shell( 'npm run slack:update:package' ) ); }, updateSlackPublish() { return gulp.src( './' ) .pipe( shell( 'npm run slack:update:publish' ) ); }, updateManagerVersion() { return gulp.src( './' ) .pipe( shell( 'npm run http:manager:update' ) ); }, uploadToDrive() { return gulp.src( './' ) .pipe( shell( 'npm run drive:upload' ) ); }, gitTagRelease() { return gulp.src( './' ) .pipe( shell( 'npm run git:tag:release' ) ); }, gitUploadRelease() { return gulp.src( './' ) .pipe( shell( 'npm run git:upload:release' ) ); }, webpackAddOns() { const { root } = config.paths; const webpackConfigPath = path.join( root, 'webpack.config.js' ); let command = 'echo "no webpack.config.js found, skipping legacy webpack build for Add-ons"'; if ( fs.existsSync( webpackConfigPath ) ) { command = combineCommandParts( [ `cd "${ root }"`, 'npm run build:dev', 'npm run build:prod', ] ); console.log( 'Running legacy webpack build for Add-ons: ', command ); } return gulp.src( './' ) .pipe( shell( command ) ); }, }, config?.tasks?.builtins?.shell || {} );