ExportDefaultDeclaration()

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);
          }
        }
      },