childProcess.fork does not accept a file:// path. It requires a regular path. The resolveFileUrl function I put in the rollup config returned a file:// path for ESM bundles and a regular path for CJS bundles. This meant that CJS bundles worked but ESM bundles didn't. This PR removes the resolveFileUrl in favor of rollup's built-in version, which always returns a file:// path. Then when we pass it to childProcess.fork we use fileURLToPath to switch it back.
Unfortunately we don't have any test cases for using Jest's experimental ESM with pleasantest. I manually created a repo to test this. I hope to add a monorepo setup to pleasantest so that we can create test cases with Jest's experimental ESM without forcing us to switch all our tests over.
childProcess.fork
does not accept afile://
path. It requires a regular path. TheresolveFileUrl
function I put in the rollup config returned afile://
path for ESM bundles and a regular path for CJS bundles. This meant that CJS bundles worked but ESM bundles didn't. This PR removes theresolveFileUrl
in favor of rollup's built-in version, which always returns afile://
path. Then when we pass it tochildProcess.fork
we usefileURLToPath
to switch it back.Unfortunately we don't have any test cases for using Jest's experimental ESM with pleasantest. I manually created a repo to test this. I hope to add a monorepo setup to pleasantest so that we can create test cases with Jest's experimental ESM without forcing us to switch all our tests over.