rollup-plugin-data-qa
Version:
[](https://www.npmjs.com/package/rollup-plugin-data-qa) [](https://github.com/semantic-releas
53 lines (52 loc) • 1.91 kB
JavaScript
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;