cloudfour / pleasantest

⛵ Write real-browser tests with Testing Library in Jest
https://pleasantest.dev
MIT License
172 stars 2 forks source link

Bugfix: fix URL path for childProcess.fork when using Pleasantest from ESM #726

Closed calebeby closed 1 year ago

calebeby commented 1 year ago

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.