mirror of
https://github.com/hanzoai/babel.git
synced 2026-10-30 14:46:06 +00:00
44 lines
1016 B
JavaScript
44 lines
1016 B
JavaScript
import { stringifyMetadata } from "../../../../scripts/build-helper-metadata.ts";
|
|
import defineHelper, {
|
|
defineHelperAndGetMetadata,
|
|
} from "../../../helpers/define-helper.js";
|
|
|
|
export default function (babel) {
|
|
const dependency = defineHelper(babel, import.meta.url, "dependency", `
|
|
export default function fn() {}
|
|
`);
|
|
|
|
const { id: main, metadata } = defineHelperAndGetMetadata(
|
|
babel,
|
|
import.meta.url,
|
|
"main",
|
|
`
|
|
import dep from "${dependency}";
|
|
|
|
export default function helper() {
|
|
let x = dep;
|
|
return function (dep) {
|
|
return x() + dep;
|
|
}
|
|
}
|
|
`
|
|
);
|
|
|
|
return {
|
|
visitor: {
|
|
Identifier(path) {
|
|
if (path.node.name !== "REPLACE_ME") return;
|
|
const helper = this.addHelper(main);
|
|
path.replaceWith(helper);
|
|
},
|
|
Program(path) {
|
|
babel.types.addComment(
|
|
path.node,
|
|
"trailing",
|
|
`"main" metadata:${stringifyMetadata(metadata)}`
|
|
);
|
|
},
|
|
},
|
|
};
|
|
}
|