UNPKG

@gravityforms/gulp-tasks

Version:
136 lines (120 loc) 4.82 kB
const fs = require( 'fs' ); const path = require( 'path' ); const paths = require( './paths' ); const fileExists = ( filePath ) => fs.existsSync( filePath ); const commonCssFiles = [ path.join( paths.css_src, 'common', 'common-css-utilities.pcss' ), path.join( paths.css_src, 'common', 'gravity-forms-common-icons.pcss' ), ]; const adminCssFiles = [ path.join( paths.css_src, 'admin', 'admin.pcss' ), path.join( paths.css_src, 'admin', 'admin-css-utilities.pcss' ), path.join( paths.css_src, 'admin', 'admin-icons.pcss' ), path.join( paths.css_src, 'admin', 'deprecated', 'font-awesome.pcss' ), path.join( paths.css_src, 'admin', 'editor.pcss' ), path.join( paths.css_src, 'admin', 'settings.pcss' ), path.join( paths.css_src, 'admin', 'blocks.pcss' ), ]; const adminComponentsCssFiles = [ path.join( paths.css_src, 'admin', 'admin-components.pcss' ), path.join( paths.css_src, 'admin', 'setup-wizard.pcss' ), path.join( paths.css_src, 'admin', 'template-library.pcss' ), ]; const themeCssFiles = [ path.join( paths.css_src, 'theme', 'gravity', 'basic.pcss' ), path.join( paths.css_src, 'theme', 'gravity', 'theme.pcss' ), ]; const themeFrameworkCssFiles = [ path.join( paths.css_src, 'theme', 'framework', 'gravity-forms-theme-reset.pcss' ), path.join( paths.css_src, 'theme', 'foundation', 'gravity-forms-theme-foundation.pcss' ), path.join( paths.css_src, 'theme', 'foundation', 'theme-foundation.pcss' ), path.join( paths.css_src, 'theme', 'foundation', 'gravity-forms-theme-foundation-admin.pcss' ), path.join( paths.css_src, 'theme', 'foundation', 'theme-foundation-admin.pcss' ), path.join( paths.css_src, 'theme', 'framework', 'gravity-forms-theme-framework.pcss' ), path.join( paths.css_src, 'theme', 'framework', 'theme-framework.pcss' ), path.join( paths.css_src, 'theme', 'framework', 'gravity-forms-theme-framework-admin.pcss' ), path.join( paths.css_src, 'theme', 'framework', 'theme-framework-admin.pcss' ), path.join( paths.css_src, 'theme', 'orbital', 'gravity-forms-orbital-theme.pcss' ), ]; const filterExistingFiles = ( files ) => files.filter( fileExists ); const postCssConfig = {}; const addToExportIfFilesExist = ( key, files ) => { const existingFiles = filterExistingFiles( files ); if ( existingFiles.length > 0 ) { postCssConfig[ key ] = { src: existingFiles }; } }; addToExportIfFilesExist( 'commonCss', commonCssFiles ); addToExportIfFilesExist( 'adminCss', adminCssFiles ); addToExportIfFilesExist( 'adminComponentsCss', adminComponentsCssFiles ); addToExportIfFilesExist( 'themeCss', themeCssFiles ); addToExportIfFilesExist( 'themeFrameworkCss', themeFrameworkCssFiles ); let pluginData; try { const commonProps = require( '@gravityforms/design-tokens/gravityforms/custom-properties/common' ); const orbitalProps = require( '@gravityforms/design-tokens/gravityforms/custom-properties/theme/orbital' ); const orbitalMedia = require( '@gravityforms/design-tokens/gravityforms/custom-media/theme/orbital' ); const commonMixins = require( '@gravityforms/design-tokens/gravityforms/mixins/common' ); const frameworkMixins = require( '@gravityforms/design-tokens/gravityforms/mixins/theme/framework' ); const orbitalMixins = require( '@gravityforms/design-tokens/gravityforms/mixins/theme/orbital' ); const gravityMixins = require( '@gravityforms/design-tokens/gravityforms/mixins/theme/gravity' ); const adminProps = require( '@gravityforms/design-tokens/gravityforms/custom-properties/admin' ); const adminMedia = require( '@gravityforms/design-tokens/gravityforms/custom-media/admin' ); const adminMixins = require( '@gravityforms/design-tokens/gravityforms/mixins/admin' ); pluginData = { themeFramework: { customProperties: { common: { ...commonProps }, orbital: { ...orbitalProps }, }, customMedia: [ { customMedia: orbitalMedia }, ], mixins: { ...commonMixins, ...frameworkMixins, ...orbitalMixins, ...gravityMixins, }, }, customProperties: { common: [ { customProperties: commonProps }, ], admin: [ { customProperties: commonProps }, { customProperties: adminProps }, ], theme: { gravity: [ { customProperties: commonProps }, { customProperties: require( '@gravityforms/design-tokens/gravityforms/custom-properties/theme/gravity' ) }, ], }, }, customMedia: { admin: [ { customMedia: adminMedia }, ], theme: { gravity: [ { customMedia: require( '@gravityforms/design-tokens/gravityforms/custom-media/theme/gravity' ) }, ], }, }, mixins: { common: commonMixins, admin: { ...commonMixins, ...adminMixins, }, theme: { gravity: gravityMixins, }, }, }; } catch ( error ) { pluginData = {}; } postCssConfig.pluginData = pluginData; module.exports = postCssConfig;