helperPlugin.js
460 Bytes
import { HELPERS } from './constants.js';
import { addNamed } from '@babel/helper-module-imports';
export default function importHelperPlugin() {
return {
pre(file) {
const cachedHelpers = {};
file.set('helperGenerator', name => {
if (!file.availableHelper(name)) {
return;
}
if (cachedHelpers[name]) {
return cachedHelpers[name];
}
return (cachedHelpers[name] = addNamed(file.path, name, HELPERS));
});
},
};
}