import type { Plugin } from 'rollup' /** * Rollup plugin that replaces `var __require = import.meta.require;` * with a Node.js compatible version that falls back to createRequire * when import.meta.require is not available (e.g. in Node.js runtime). * * This replicates the post-processing done in the original build.ts. */ export default function importMetaRequirePlugin(): Plugin { return { name: 'import-meta-require', renderChunk(code) { const pattern = 'var __require = import.meta.require;' const replacement = 'var __require = typeof import.meta.require === "function" ? import.meta.require : (await import("module")).createRequire(import.meta.url);' if (code.includes(pattern)) { return code.replace(pattern, replacement) } return null }, } }