plugin.js 742 B

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