Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

Compare installed versions of packages. #48

Closed
2 tasks
nachoaldamav opened this issue Sep 13, 2022 · 3 comments
Closed
2 tasks

Compare installed versions of packages. #48

nachoaldamav opened this issue Sep 13, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@nachoaldamav
Copy link
Owner

Looks like this problem is related to duplicated dependencies with different versions.

  • Compare installed versions and skip if the package is suitable.
  • Cache manifests to speed up fetching.

Originally posted by @nachoaldamav in #38 (comment)

@nachoaldamav nachoaldamav added the enhancement New feature or request label Sep 13, 2022
@nachoaldamav
Copy link
Owner Author

nachoaldamav commented Sep 13, 2022

The new system to compare installed versions works with the following projects.

Tests

  • Vite
  • next.js
  • Remix
  • Monorepo

@nachoaldamav
Copy link
Owner Author

Found errors with Remix projects, multiple versions of esbuild are installed.

This is caused because a subdependency installs the version * (latest) before the fixed version of @remix-run/dev.

Potential fix

  • Skip * versions and add it to __SKIPPED array.
  • After all the dependencies and subdependencies are installed, try to install the __SKIPPED packages (ignore them if the package is already in the root node_modules.

@nachoaldamav
Copy link
Owner Author

nachoaldamav commented Sep 14, 2022

Found errors with Remix projects, multiple versions of esbuild are installed.

This is caused because a subdependency installs the version * (latest) before the fixed version of @remix-run/dev.

Potential fix

  • Skip * versions and add it to __SKIPPED array.
  • After all the dependencies and subdependencies are installed, try to install the __SKIPPED packages (ignore them if the package is already in the root node_modules.

Partially fixed, now some sub-dependencies are not installed because the .fnpm parent file is not updated.

Example

rollup-plugin-node-polyfills is a dependency of @esbuild-plugins/node-modules-polyfill.
The .fnpm file of @esbuild-plugins/node-modules-polyfill is empty which means that it's dependencies are not installed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant