Я пытаюсь написать собственный плагин для преобразования Babel. Когда я вижу AST для компонента React в astxplorer.net , я вижу JSXElement в дереве как узел.
Но когда я пытаюсь зарегистрировать путь для посетителя JSXElement, ничего не регистрируется в консоли.
Реагирует на компонент
const HelloWorld = () => <span>Hello World</span>
Код для преобразования компонента и регистрируется JSXElement при посещении
transform.test.js
const { code, ast } = transformSync(HelloWorld, {
ast: true,
plugins: [
function myOwnPlugin() {
return {
visitor: {
JSXElement(path) {
// nothing logs to the console
console.log("Visiting: " + path);
}
}
};
},
]
});
Если это поможет, у меня есть transform.test.js
внутри проекта create-react-app
. CRA поставляется со встроенной предустановкой react-app
.
"babel": {
"presets": [
"react-app"
]
}
. Я запускаю тест с помощью команды jest transform.test.js
, и у меня есть преобразование babel-jest
, применяемое по умолчанию в настройке CRA jest.