You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Investigate whether we can just parse yarn.lock instead of relying on yarn-manifest.nix.
The manifest would still be a useful optional addon for automatically calculated outputHashes for unplugged modules.
Most info is there in the lock file, dependencies, package names and references, but the difficult bits will probably be:
Working out Yarn virtual packages (for peer dependencies, see https://yarnpkg.com/advanced/lexicon#virtual-package), we rely on virtual packages quite a bit. I don't see any easy way of doing this without hacks like import-from-derivation, as virtual package info isn't found in the yarn lockfile.
Perhaps we first investigate removing virtuals from the manifest file and calculating them at runtime in generate-pnp-file and generate-lockfile, and then we're better positioned to parse the lockfile directly.
devDependencies... we'd probably have to source in package.json's of local packages into Nix and then read those to see which dependencies are devDependencies
bin paths, we can get this from the lock file, but we should source in the package.json for local packages and read the bin from there so that the lock file doesn't need to be regenerated when adding a new bin during local development
shouldBeUnplugged this is a real PITA, I don't think there's any way to avoid this one, so we'll still need the manifest for this and perhaps if the manifest is not provided (as we want to make it optional) then a side effect is any unplugged packages won't be unplugged, perhaps this isn't such a big deal
The text was updated successfully, but these errors were encountered:
Investigate whether we can just parse yarn.lock instead of relying on
yarn-manifest.nix
.The manifest would still be a useful optional addon for automatically calculated outputHashes for unplugged modules.
Most info is there in the lock file, dependencies, package names and references, but the difficult bits will probably be:
Working out Yarn virtual packages (for peer dependencies, see https://yarnpkg.com/advanced/lexicon#virtual-package), we rely on virtual packages quite a bit. I don't see any easy way of doing this without hacks like import-from-derivation, as virtual package info isn't found in the yarn lockfile.
Perhaps we first investigate removing virtuals from the manifest file and calculating them at runtime in
generate-pnp-file
andgenerate-lockfile
, and then we're better positioned to parse the lockfile directly.devDependencies... we'd probably have to source in package.json's of local packages into Nix and then read those to see which dependencies are devDependencies
bin paths, we can get this from the lock file, but we should source in the package.json for local packages and read the bin from there so that the lock file doesn't need to be regenerated when adding a new bin during local development
shouldBeUnplugged
this is a real PITA, I don't think there's any way to avoid this one, so we'll still need the manifest for this and perhaps if the manifest is not provided (as we want to make it optional) then a side effect is any unplugged packages won't be unplugged, perhaps this isn't such a big dealThe text was updated successfully, but these errors were encountered: