UNPKG

@gravityforms/gulp-tasks

Version:
40 lines (34 loc) 1.69 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 footer = cjsRequire( 'gulp-footer' ); 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( {}, { iconsVariables() { const parentDirPath = parentDir ? `${ parentDir }/` : ''; const targetCssDirPath = targetCssDir ? targetCssDir : target; const childDirPath = childDir ? `/${ childDir }` : ''; if ( designTokensPath && designTokenDir ) { return gulp.src( `${ trailingSlashIt( designTokensPath ) }${ trailingSlashIt( designTokenDir ) }custom-properties/${ parentDirPath }${ target }${ childDirPath }/icons.js` ) .pipe( footer( '}\n' ) ) .pipe( gulp.dest( `${ trailingSlashIt( designTokensPath ) }${ trailingSlashIt( designTokenDir ) }custom-properties/${ parentDirPath }${ target }${ childDirPath }/` ) ); } return gulp.src( `${ config.paths.css_src }/${ parentDirPath }${ targetCssDirPath }${ childDirPath }/variables/_icons.pcss` ) .pipe( footer( '}\n' ) ) .pipe( gulp.dest( `${ config.paths.css_src }/${ parentDirPath }${ targetCssDirPath }${ childDirPath }/variables/` ) ); }, }, config?.tasks?.builtins?.footer || {} );