plugin.js 589 B

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