applying transfer to react app

This commit is contained in:
Tyler Koenig
2021-09-20 16:54:47 -04:00
parent 8819f31dd0
commit c612b7d702
37373 changed files with 3775588 additions and 2871 deletions
+36
View File
@@ -0,0 +1,36 @@
"use strict";
exports.__esModule = true;
exports.default = void 0;
const elements = ['svg', 'Svg'];
const plugin = ({
types: t
}) => ({
visitor: {
JSXOpeningElement: {
enter(path) {
if (!elements.some(element => path.get('name').isJSXIdentifier({
name: element
}))) return;
const requiredAttributes = ['width', 'height'];
const attributeValue = '1em';
path.get('attributes').forEach(attributePath => {
if (!attributePath.isJSXAttribute()) return;
const index = requiredAttributes.indexOf(attributePath.node.name.name);
if (index === -1) return;
const value = attributePath.get('value');
value.replaceWith(t.stringLiteral(attributeValue));
requiredAttributes.splice(index, 1);
});
requiredAttributes.forEach(attribute => {
path.pushContainer('attributes', t.jsxAttribute(t.jsxIdentifier(attribute), t.stringLiteral(attributeValue)));
});
}
}
}
});
var _default = plugin;
exports.default = _default;