diff --git a/src/builder/rollup.ts b/src/builder/rollup.ts index 1fb0584..5c9a75b 100644 --- a/src/builder/rollup.ts +++ b/src/builder/rollup.ts @@ -1,5 +1,6 @@ import { writeFile, mkdir } from 'fs/promises' import { promises as fsp } from 'fs' +import { pathToFileURL } from 'url' import type { RollupOptions, OutputOptions, OutputChunk } from 'rollup' import { rollup } from 'rollup' import commonjs from '@rollup/plugin-commonjs' @@ -36,7 +37,8 @@ export async function rollupBuild (ctx: BuildContext) { if (ctx.options.rollup.emitCJS) { await writeFile(output + '.cjs', `${shebang}module.exports = require(${JSON.stringify(jitiPath)})(null, { interopDefault: true })('${entry.input}')`) } - await writeFile(output + '.mjs', `${shebang}import jiti from ${JSON.stringify(jitiPath)};\nexport default jiti(null, { interopDefault: true })('${entry.input}');`) + // Use file:// protocol for windows compatibility + await writeFile(output + '.mjs', `${shebang}import jiti from ${JSON.stringify(pathToFileURL(jitiPath).href)};\nexport default jiti(null, { interopDefault: true })('${entry.input}');`) await writeFile(output + '.d.ts', `export * from '${entry.input}';\nexport { default } from '${entry.input}';`) if (shebang) {