From 12a99c1fa2bb8ce9341cb9a62bd1faf8b8f265e0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 12 Apr 2022 21:27:37 +0200 Subject: [PATCH] fix(stub): use `file://` protocol for windows compatibility --- src/builder/rollup.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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) {