@gravityforms/gulp-tasks
Version:
Configurable Gulp tasks for use in Gravity Forms projects.
47 lines (43 loc) • 1.39 kB
JavaScript
import { createRequire } from 'node:module';
import getConfig from '../../../config.js';
const require = createRequire( import.meta.url );
const { config } = getConfig();
const customPropertySets = config?.postcss?.pluginData?.customProperties?.adminGravity || [];
const customPropertyData = Object.assign( {}, ...customPropertySets );
const passCount = Math.max( 1, customPropertySets.length );
const postCssReplacePlugin = Array.from( { length: passCount }, () =>
require( 'postcss-replace' )( {
pattern: /var\(([^\s]+?)\)/g,
data: customPropertyData,
} )
);
export default config?.postcss?.plugins?.adminGravity || [
require( 'postcss-import-ext-glob' )( {
sort: 'asc',
} ),
require( 'postcss-import' )( {
path: [
`./${ config.paths.root }`,
`./${ config.paths.css_dist }`,
`./${ config.paths.legacy_css }`,
],
} ),
require( 'postcss-mixins' )( {
mixins: config?.postcss?.pluginData?.mixins?.adminGravity || {},
} ),
require( 'postcss-custom-media' )( {
importFrom: config?.postcss?.pluginData?.customMedia?.adminGravity || {},
} ),
...postCssReplacePlugin,
require( 'postcss-extend' ),
require( 'postcss-nested' ),
require( 'postcss-preset-env' )( {
stage: 0,
autoprefixer: { grid: true },
features: {
'focus-within-pseudo-class': false,
'focus-visible-pseudo-class': false,
'logical-properties-and-values': false,
},
} ),
];