@gravityforms/gulp-tasks
Version:
Configurable Gulp tasks for use in Gravity Forms projects.
41 lines (35 loc) • 1.33 kB
JavaScript
/**
* @description Register a component default export in the generated component map.
*
* @since 9.1.2
*
* @param {Object} params Registration parameters.
* @param {Object} params.componentMap Generated component map.
* @param {string} params.context Component context.
* @param {string} params.defaultExport Component default export.
* @param {string} params.defaultExportName Generated import identifier.
* @param {string} params.externalPath Component external path.
* @param {string} params.importPath Component import path.
*
* @return {void}
*/
const registerComponentDefaultExport = ( {
componentMap,
context,
defaultExport,
defaultExportName,
externalPath,
importPath,
} ) => {
const importPathParts = importPath.replace( /\/$/, '' ).split( '/' );
if ( importPathParts.length > 3 && importPath.includes( `react/${ context }` ) ) {
const namespacePath = `${ externalPath }.${ importPathParts[ 3 ] }`;
if ( ! Object.prototype.hasOwnProperty.call( componentMap, namespacePath ) ) {
componentMap[ namespacePath ] = '{}';
}
componentMap[ `${ namespacePath }.${ defaultExport }` ] = defaultExportName;
return;
}
componentMap[ `${ externalPath }.${ defaultExport }` ] = defaultExportName;
};
export default registerComponentDefaultExport;