UNPKG

@gravityforms/gulp-tasks

Version:
83 lines (77 loc) 2.97 kB
import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { createRequire } from 'node:module'; import getConfig from '../../config.js'; import iconConfig from '../utils/icon-config.js'; import { trailingSlashIt } from '../utils/tools.js'; const cjsRequire = createRequire( import.meta.url ); const gulp = cjsRequire( 'gulp' ); const rename = cjsRequire( 'gulp-rename' ); const __dirname = path.dirname( fileURLToPath( import.meta.url ) ); const { config } = getConfig(); const designTokensPath = path.resolve( __dirname, '../../../design-tokens' ); const { childDir = '', designTokenDir = '', parentDir = '', target = 'admin', targetCssDir = '', } = iconConfig; export default Object.assign( {}, { iconsFonts() { return gulp .src( [ `${ config.paths.dev }/icons/${ target }/fonts/*`, ] ) .pipe( gulp.dest( config.paths.fonts ) ); }, iconsStyles() { const parentDirPath = parentDir ? `${ parentDir }/` : ''; const targetCssDirPath = targetCssDir ? targetCssDir : target; const childDirPath = childDir ? `/${ childDir }` : ''; return gulp .src( [ `${ config.paths.dev }/icons/${ target }/style.css`, ] ) .pipe( rename( '_icons.pcss' ) ) .pipe( gulp.dest( `${ config.paths.css_src }/${ parentDirPath }${ targetCssDirPath }${ childDirPath }/icons/` ) ); }, iconsVariables() { const parentDirPath = parentDir ? `${ parentDir }/` : ''; const targetCssDirPath = targetCssDir ? targetCssDir : target; const childDirPath = childDir ? `/${ childDir }` : ''; if ( designTokensPath && designTokenDir ) { return gulp .src( [ `${ config.paths.dev }/icons/${ target }/variables.scss`, ] ) .pipe( rename( 'icons.pcss' ) ) .pipe( gulp.dest( `${ trailingSlashIt( designTokensPath ) }${ trailingSlashIt( designTokenDir ) }custom-properties/${ parentDirPath }${ target }${ childDirPath }/` ) ); } return gulp .src( [ `${ config.paths.dev }/icons/${ target }/variables.scss`, ] ) .pipe( rename( '_icons.pcss' ) ) .pipe( gulp.dest( `${ config.paths.css_src }/${ parentDirPath }${ targetCssDirPath }${ childDirPath }/variables/` ) ); }, packagesDistJS() { return gulp .src( [ `${ trailingSlashIt( config.paths.npm_packages ) }components/dist/js/*.min.js`, `${ trailingSlashIt( config.paths.npm_packages ) }libraries/dist/libraries.min.js`, `${ trailingSlashIt( config.paths.npm_packages ) }react-utils/dist/react-utils.min.js`, `${ trailingSlashIt( config.paths.npm_packages ) }utils/dist/utils.min.js`, ] ) .pipe( gulp.dest( config.paths.js_dist ) ); }, tokensCss() { return gulp .src( [ `${ trailingSlashIt( designTokensPath ) }gravityforms/dist/*.pcss`, `${ trailingSlashIt( designTokensPath ) }gravitysmtp/dist/*.pcss`, `${ trailingSlashIt( designTokensPath ) }gravitycrm/dist/*.pcss`, ] ) .pipe( gulp.dest( `${ trailingSlashIt( config.paths.tokens_src ) }` ) ); }, }, config?.tasks?.builtins?.copy || {} );