Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
**What's the problem this PR addresses?** When chaining Yarn PNP ESM loader with [import-in-the-middle](https://github.com/DataDog/import-in-the-middle) loader, INVALID_URL_SCHEME is thrown because `fileURLToPath()` is run on a parent URL of `node:util?iitm=true` generated by the IITM loader. ``` 2023-03-30T21:40:58.280Z 3364766 U TypeError [ERR_INVALID_URL_SCHEME]: The URL must be of scheme file 2023-03-30T21:40:58.280Z 3364766 U at new NodeError (node:internal/errors:399:5) 2023-03-30T21:40:58.280Z 3364766 U at fileURLToPath (node:internal/url:1212:11) 2023-03-30T21:40:58.280Z 3364766 U at resolve$1 (file:///home/lizf/eve-roster/.pnp.loader.mjs:1993:77) 2023-03-30T21:40:58.280Z 3364766 U at nextResolve (node:internal/modules/esm/hooks:654:28) 2023-03-30T21:40:58.280Z 3364766 U at Hooks.resolve (node:internal/modules/esm/hooks:309:30) 2023-03-30T21:40:58.280Z 3364766 U at ESMLoader.resolve (node:internal/modules/esm/loader:312:26) 2023-03-30T21:40:58.280Z 3364766 U at ESMLoader.getModuleJob (node:internal/modules/esm/loader:172:38) 2023-03-30T21:40:58.281Z 3364766 U at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40) 2023-03-30T21:40:58.281Z 3364766 U at link (node:internal/modules/esm/module_job:75:36) { 2023-03-30T21:40:58.281Z 3364766 U code: 'ERR_INVALID_URL_SCHEME' 2023-03-30T21:40:58.281Z 3364766 U } 2023-03-30T21:40:58.281Z 3364766 U 2023-03-30T21:40:58.281Z 3364766 U Node.js v19.8.1 ``` **How did you fix it?** Ensure fileURLToPath() is only run on file URLs by explicitly checking the URL protocol; if it is not `file`, then default to CWD. **Checklist** - [x] I have read the [Contributing Guide](https://yarnpkg.com/advanced/contributing). - [x] I have set the packages that need to be released for my changes to be effective. - [x] I will check that all automated PR checks pass before the PR gets reviewed. --------- Co-authored-by: merceyz <[email protected]>
- Loading branch information