plugin.js 708 B

12345678910111213141516171819202122232425262728293031
  1. const defineHelper = require("../../../helpers/define-helper").default;
  2. const dependencyDeep = defineHelper(__dirname, "dependencyDeep", `
  3. export default function fn() {}
  4. `)
  5. const dependency = defineHelper(__dirname, "dependency", `
  6. import f from "${dependencyDeep}";
  7. export default function fn() { return f; }
  8. `);
  9. const main = defineHelper(__dirname, "main", `
  10. import dep from "${dependency}";
  11. export default function helper() {
  12. return dep();
  13. }
  14. `);
  15. module.exports = function() {
  16. return {
  17. visitor: {
  18. Identifier(path) {
  19. if (path.node.name !== "REPLACE_ME") return;
  20. const helper = this.addHelper(main);
  21. path.replaceWith(helper);
  22. },
  23. },
  24. };
  25. };