Files
claude-code/scripts/vite-plugin-import-meta-require.ts
2026-05-01 21:39:30 +08:00

26 lines
822 B
TypeScript

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