in packages/build-plugin-alt/src/babelPluginMeta.ts [75:92]
ExportDefaultDeclaration(path, state) {
// 如果不是入口文件,则不做任何处理
if (state.opts.filename !== state.filename) return;
if (t.isIdentifier(path.node.declaration)) {
const declarationName = path.node.declaration.name;
path.parentPath.traverse(injectMetaVisitor, { ...state.opts, declarationName, cache })
if (!cache.pluginNameAssignmentExists && state.opts?.meta?.pluginName) {
const generatedNode = template(`${declarationName}.pluginName = "${state.opts?.meta?.pluginName}"`)();
addInfoComment(generatedNode);
path.insertBefore(generatedNode);
}
if (!cache.metaAssignmentExists && state.opts?.meta?.meta) {
const generatedNode = template(`${declarationName}.meta = ${JSON.stringify(state.opts?.meta?.meta)}`)();
addInfoComment(generatedNode);
path.insertBefore(generatedNode);
}
}
},