During the move to pnpm 3.5.3 and rush 5.9.1, I deleted the shrinkwrap file and ran a rush update --full --purge. It successfully makes it through the pnpm install step but fails during the linking phase and receive this error,
ERROR: Internal Error: Cannot find installed dependency "@microsoft/api-extractor" in "C:\dev\imodeljs\imodeljs\common\temp\node_modules\.local\C%3A%2Fdev%2Fimodeljs%2Fimodeljs%2Fcommon%2Ftemp%2Fprojects%2Fbuild-tools.tgz\node_modules"
You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
The actual file path that exists in the .local folder for the package is, "C:\dev\imodeljs\imodeljs\common\temp\node_modules\.local\C%3A%2Fdev%2Fimodeljs%2Fimodeljs%2Fcommon%2Ftemp%2Fprojects%2Fbuild-tools.tgz_2a665c89609864b4e75bc5365d7f8f56".
It looks like this may be related to how pnpm resolves peer dependencies, https://pnpm.js.org/docs/en/how-peers-are-resolved.html, but that's just a guess based on some of the other paths in the .local folder,
"C:\dev\imodeljs\imodeljs\common\temp\node_modules\.local\C%3A%2Fdev%2Fimodeljs%2Fimodeljs%2Fcommon%2Ftemp%2Fprojects%2Fpresentation-frontend.tgz_jsdom@11.12.0"
"C:\dev\imodeljs\imodeljs\common\temp\node_modules\.local\C%3A%2Fdev%2Fimodeljs%2Fimodeljs%2Fcommon%2Ftemp%2Fprojects%2Fpresentation-integration-tests.tgz_jsdom@11.12.0"
If you'd like to reproduce the issue, the iModel.js repo when updated to use the new rush and pnpm versions will work. I can always make a separate repro repo if needed with the updated versions.
During the move to pnpm 3.5.3 and rush 5.9.1, I deleted the shrinkwrap file and ran a
rush update --full --purge. It successfully makes it through the pnpm install step but fails during the linking phase and receive this error,The actual file path that exists in the .local folder for the package is,
"C:\dev\imodeljs\imodeljs\common\temp\node_modules\.local\C%3A%2Fdev%2Fimodeljs%2Fimodeljs%2Fcommon%2Ftemp%2Fprojects%2Fbuild-tools.tgz_2a665c89609864b4e75bc5365d7f8f56".It looks like this may be related to how pnpm resolves peer dependencies, https://pnpm.js.org/docs/en/how-peers-are-resolved.html, but that's just a guess based on some of the other paths in the
.localfolder,If you'd like to reproduce the issue, the iModel.js repo when updated to use the new rush and pnpm versions will work. I can always make a separate repro repo if needed with the updated versions.