UNPKG

rollup-plugin-data-qa

Version:

[![npm](https://img.shields.io/npm/dm/rollup-plugin-data-qa.svg)](https://www.npmjs.com/package/rollup-plugin-data-qa) [![semantic-release](https://img.shields.io/badge/semantic-release-e10079.svg?logo=semantic-release)](https://github.com/semantic-releas

53 lines (52 loc) 1.91 kB
const require_pluginConstants = require("../../pluginConstants.cjs"); const require_index = require("../../utils/isObjectAssigning/index.cjs"); const require_index$1 = require("../../utils/magicString/appendObject/index.cjs"); const require_index$2 = require("../../utils/magicString/insertToObject/index.cjs"); const require_index$3 = require("../../utils/magicString/overwriteWithObject/index.cjs"); const require_index$4 = require("../../utils/react/isReactNode/index.cjs"); let lodash_es = require("lodash-es"); //#region src/core/injectReactFunctionComponent/index.ts function injectReactFunctionComponent({ node, code, componentName, childOverrideParent = false }) { if (!require_index$4.default(node)) return false; const tagProps = node.arguments[1]; if (!tagProps?.start && (0, lodash_es.isEmpty)(tagProps?.properties)) return false; if (!(tagProps.value !== null)) { require_index$3.default({ code, startPosition: tagProps.start, endPosition: tagProps.end, attrs: { [require_pluginConstants.DATA_QA]: componentName } }); return true; } if (require_index.default(tagProps)) { const firstArgs = tagProps.arguments?.[0]; if (!firstArgs) return false; require_index$2.default({ code, node: firstArgs, attrs: { [require_pluginConstants.DATA_QA]: componentName }, childOverrideParent }); return true; } if ((0, lodash_es.isEmpty)(tagProps.properties)) { require_index$2.default({ code, node: tagProps, attrs: { [require_pluginConstants.DATA_QA]: componentName }, childOverrideParent }); return true; } const properties = tagProps.properties; require_index$1.default({ code, startPosition: childOverrideParent ? (0, lodash_es.last)(properties).end : properties[0].start, attrs: { [require_pluginConstants.DATA_QA]: componentName }, childOverrideParent }); return true; } //#endregion exports.default = injectReactFunctionComponent;