新增: - backend/venv/ - Python 虚拟环境 - backend/start.sh - 启动脚本(使用虚拟环境) - backend/requirements.txt - 依赖列表 - .gitignore - 忽略虚拟环境和缓存文件 说明: - 每个项目使用独立虚拟环境 - 避免依赖冲突 - 启动脚本自动创建和激活虚拟环境
36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
"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; |