import got from 'got'
import { Module } from 'module'
/**
* 从 URL 加载 commonjs 模块
*/
export async function requireRemote<T>(url: string) {
const mod = new Module(url)
const code = await got.get(url).text()
// @ts-ignore
// https://github.com/nodejs/node/blob/da0ede1ad55a502a25b4139f58aab3fb1ee3bf3f/lib/internal/modules/cjs/loader.js#L1055
mod._compile(code, url)
return mod.exports as T
}
export const requireRemoteTS = requireRemote<typeof import('typescript')>('https://cdn.jsdelivr.net/gh/microsoft/TypeScript/lib/typescript.js')