WarningImHack3r / npm-update-dependencies

Update NPM dependencies from your IDE
https://plugins.jetbrains.com/plugin/21105-npm-update-dependencies
9 stars 2 forks source link

Checking for updates while editing package.json #129

Open SCjona opened 2 days ago

SCjona commented 2 days ago

What is the issue?

When I update dependencies in a project with a few dependencies it starts rechecking for updates/deprecations and I cannot continue updating dependencies until it finishes.

See this video (quick fix popovers are not visible due to window capture recording) https://github.com/user-attachments/assets/120e64b6-5184-438b-b7a4-82c874ad520d

What are the steps to reproduce this issue?

You can reproduce this in this project & commit: https://github.com/Samedis-care/identity-management-frontend/tree/d054598b6bcd6654cd103c93a59373f9abe72b7e

What were you expecting to happen?

Highlights don't disappear and I can continue with quick fix actions to update the dependencies

Paste any relevant logs, error output, etc.

No response

What OS are you experiencing the problem on?

Linux

Additional platform information

WebStorm 2024.3 EAP
Build #WS-243.12818.48, built on September 11, 2024
Runtime version: 21.0.4+8-b589.3 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 6.6.51-1-lts
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 8192M
Cores: 16
Registry:
  ide.experimental.ui=true
  i18n.locale=
Non-Bundled Plugins:
  com.github.warningimhack3r.npmupdatedependencies (3.0.2)
  com.eny.i18n (2.6.2)
Current Desktop: KDE

Duplicates

WarningImHack3r commented 1 day ago

Hi there, multiple points here: What do you mean by "I cannot continue updating dependencies until it finishes"? Do you mean that it's blocking or that you want the scan to finish to fresh your immediate changes?

Also, why don't you use the "Update all" feature instead of upgrading one by one? If you want all except one or two, you can upgrade all and revert some lines with the Git feature in the margin. I guess you're doing that because you want some to the latest version and some others to the satisfying version or something?

About the plugin features: I don't control the scan trigger myself, the IDE does so it's a bit hard to overwrite that behavior. The highlighting is also controlled by the IDE and I also noticed myself it can be slow to update. I originally didn't think it could be an issue anyway, because package.json is not a file you edit as often as your source code; you add/upgrade some deps and move on, you know

SCjona commented 1 day ago

What do you mean by "I cannot continue updating dependencies until it finishes"? Do you mean that it's blocking or that you want the scan to finish to fresh your immediate changes?

I'm using the quick fix popovers to update the dependencies, so when the highlights disappear the quick fix actions disappear too, so I have to wait for it to finish and provide highlights again so I can continue with the quickfixes.

Also, why don't you use the "Update all" feature instead of upgrading one by one? If you want all except one or two, you can upgrade all and revert some lines with the Git feature in the margin. I guess you're doing that because you want some to the latest version and some others to the satisfying version or something?

There are like 6-7 packages which I currently don't update due to breaking changes which I do not have the capacity to fix right away (e.g. material ui v5 -> v6) and incompatibilities with other packages (e.g. eslint). I also prefer working off the package.json as kind of a task list and see which packages had updates and what kind of update (major version or minor version change). I agree I could do Update all and then review and revert the lines with the diff viewer, but for me personally I just rather work though the package.json directly. So I guess consider this more of an UX request.

About the plugin features: I don't control the scan trigger myself, the IDE does so it's a bit hard to overwrite that behavior. The highlighting is also controlled by the IDE and I also noticed myself it can be slow to update. I originally didn't think it could be an issue anyway, because package.json is not a file you edit as often as your source code; you add/upgrade some deps and move on, you know

I think the main culprit is just that Checking for updated/deprecated packages takes too long (especially deprecated packages; see the IDE status bar in the video). I think more aggressive caching could solve this issue, although I haven't looked at your code so I do not know if this is feasible.

WarningImHack3r commented 1 day ago

I'm using the quick fix popovers to update the dependencies, so when the highlights disappear the quick fix actions disappear too, so I have to wait for it to finish and provide highlights again so I can continue with the quickfixes.

I see!

There are like 6-7 packages which I currently don't update due to breaking changes which I do not have the capacity to fix right away (e.g. material ui v5 -> v6) and incompatibilities with other packages (e.g. eslint). I also prefer working off the package.json as kind of a task list and see which packages had updates and what kind of update (major version or minor version change). I agree I could do Update all and then review and revert the lines with the diff viewer, but for me personally I just rather work though the package.json directly. So I guess consider this more of an UX request.

Completely fair.

I think the main culprit is just that Checking for updated/deprecated packages takes too long (especially deprecated packages; see the IDE status bar in the video). I think more aggressive caching could solve this issue, although I haven't looked at your code so I do not know if this is feasible.

Every non-first check is already automatically cached, so there very isn't much I can do about it :(

The real solution would be a debouncing mechanism, even though as I said I do not myself trigger the scans... I might need to make a configurable manual debouncing, but it looks a bit hacky in my opinion.
What do you think?

SCjona commented 1 day ago

Are you sure the caching works?

I copied the log entries created while doing the updating in package.json from idea.log to log-excerpt.txt

Then I ran some line counts with the messages you log in NPMJSClient.

grep 'Getting latest version' log-excerpt.txt | wc -l
357
grep 'Getting all versions' log-excerpt.txt | wc -l
0
grep 'Getting deprecation status' log-excerpt.txt | wc -l
550

Looks like it did ~900 HTTP requests in 2 minutes (if i read your code correctly)

SCjona commented 1 day ago

This is a log excerpt for one of the packages I did not update:

grep '@mui/material' log-excerpt.txt
2024-09-17 08:59:59,010 [1613855]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 08:59:59,010 [1613855]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:03,969 [1618814]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:03,969 [1618814]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:04,796 [1619641]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:04,796 [1619641]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:08,892 [1623737]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:08,892 [1623737]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:11,499 [1626344]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:11,499 [1626344]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:16,489 [1631334]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:16,489 [1631334]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:17,326 [1632171]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:17,326 [1632171]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:21,422 [1636267]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:21,422 [1636267]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:23,992 [1638837]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:23,993 [1638838]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:28,634 [1643479]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:28,635 [1643480]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:29,475 [1644320]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:29,475 [1644320]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:33,761 [1648606]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:33,761 [1648606]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:34,713 [1649558]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:34,713 [1649558]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:39,076 [1653921]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:39,076 [1653921]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:41,302 [1656147]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:41,302 [1656147]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:46,250 [1661095]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:46,252 [1661097]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:47,178 [1662023]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:47,178 [1662023]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:52,126 [1666971]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:52,126 [1666971]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:00:53,336 [1668181]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:00:53,336 [1668181]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
2024-09-17 09:00:57,500 [1672345]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for @mui/material with comparator ^5.16.7
2024-09-17 09:00:57,500 [1672345]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for @mui/material are still valid, returning them
2024-09-17 09:01:01,010 [1675855]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package @mui/material
2024-09-17 09:01:01,010 [1675855]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package @mui/material
WarningImHack3r commented 1 day ago

Yep, you can see it returns the cached version in your last exempt "Getting*" ≠ fetching

You can try that yourself, try invalidating the plugin’s cache, edit the file to retrigger the scan, and you’ll see it’s significantly slower than the next ones (and the logs should slightly differ on that first scan)

SCjona commented 1 day ago

Yes version is cached, but what about deprecation status?

Also the following excerpt is from a package that was updated:

2024-09-17 09:00:02,254 [1617099]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:02,254 [1617099]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:04,320 [1619165]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1
2024-09-17 09:00:04,320 [1619165]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them
2024-09-17 09:00:07,742 [1622587]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:07,742 [1622587]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:09,143 [1623988]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1
2024-09-17 09:00:09,143 [1623988]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them
2024-09-17 09:00:13,109 [1627954]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:13,109 [1627954]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:16,890 [1631735]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1
2024-09-17 09:00:16,890 [1631735]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them
2024-09-17 09:00:19,000 [1633845]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:19,000 [1633845]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:21,723 [1636568]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1
2024-09-17 09:00:21,723 [1636568]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them
2024-09-17 09:00:25,918 [1640763]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:25,919 [1640764]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:28,986 [1643831]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1
2024-09-17 09:00:28,986 [1643831]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them
2024-09-17 09:00:31,248 [1646093]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:31,248 [1646093]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:34,163 [1649008]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2
2024-09-17 09:00:34,163 [1649008]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui
2024-09-17 09:00:34,163 [1649008]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:34,236 [1649081]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2
2024-09-17 09:00:34,236 [1649081]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui
2024-09-17 09:00:36,273 [1651118]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:36,273 [1651118]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:39,377 [1654222]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2
2024-09-17 09:00:39,377 [1654222]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui
2024-09-17 09:00:39,377 [1654222]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:39,441 [1654286]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2
2024-09-17 09:00:39,441 [1654286]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui
2024-09-17 09:00:43,029 [1657874]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:43,029 [1657874]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:46,601 [1661446]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2
2024-09-17 09:00:46,601 [1661446]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui
2024-09-17 09:00:46,601 [1661446]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:46,672 [1661517]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2
2024-09-17 09:00:46,672 [1661517]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui
2024-09-17 09:00:48,852 [1663697]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:48,853 [1663698]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:52,477 [1667322]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2
2024-09-17 09:00:52,477 [1667322]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui
2024-09-17 09:00:52,477 [1667322]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:52,543 [1667388]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2
2024-09-17 09:00:52,543 [1667388]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui
2024-09-17 09:00:55,055 [1669900]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:00:55,055 [1669900]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:57,951 [1672796]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2
2024-09-17 09:00:57,952 [1672797]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui
2024-09-17 09:00:57,952 [1672797]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui
2024-09-17 09:00:58,025 [1672870]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2
2024-09-17 09:00:58,025 [1672870]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui
2024-09-17 09:01:02,671 [1677516]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui
2024-09-17 09:01:02,671 [1677516]   INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui

looks like after the update the cache is no longer working (assuming NPMJSClient Getting latest version triggers a HTTP request)

WarningImHack3r commented 1 day ago

Yep both do use caching. You can see that with debug logs by adding com.github.warningimhack3r.npmupdatedependencies:all in Debug Log Settings (I think?) in a submenu of the Help menu

SCjona commented 1 day ago
This is with verbose logging: ``` 2024-09-17 20:33:37,605 [2014723] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:33:37,605 [2014723] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:33:37,605 [2014723] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:33:37,605 [2014723] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:33:37,672 [2014790] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:33:38,551 [2015669] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:33:38,551 [2015669] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:33:38,551 [2015669] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:33:38,551 [2015669] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:33:38,551 [2015669] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:33:41,566 [2018684] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:33:41,566 [2018684] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1 2024-09-17 20:33:41,567 [2018685] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them 2024-09-17 20:33:41,568 [2018686] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:33:44,500 [2021618] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:33:44,500 [2021618] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:33:44,500 [2021618] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:33:44,500 [2021618] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:33:44,569 [2021687] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:33:45,035 [2022153] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:33:45,036 [2022154] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:33:45,036 [2022154] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:33:45,036 [2022154] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:33:45,036 [2022154] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:33:47,340 [2024458] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:33:47,340 [2024458] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1 2024-09-17 20:33:47,341 [2024459] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them 2024-09-17 20:33:47,341 [2024459] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:33:53,468 [2030586] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:33:53,468 [2030586] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:33:53,468 [2030586] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:33:53,468 [2030586] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:33:53,544 [2030662] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:33:53,959 [2031077] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:33:53,959 [2031077] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:33:53,959 [2031077] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:33:53,959 [2031077] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:33:53,959 [2031077] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:33:55,870 [2032988] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 4/8 started: mdi-material-ui 2024-09-17 20:33:55,870 [2032988] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1 2024-09-17 20:33:55,870 [2032988] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them 2024-09-17 20:33:55,871 [2032989] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:33:59,079 [2036197] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 6/8 started: mdi-material-ui 2024-09-17 20:33:59,079 [2036197] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:33:59,079 [2036197] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:33:59,079 [2036197] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:33:59,143 [2036261] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:33:59,580 [2036698] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:33:59,580 [2036698] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:33:59,580 [2036698] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:33:59,580 [2036698] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:33:59,580 [2036698] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:03,091 [2040209] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:34:03,091 [2040209] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1 2024-09-17 20:34:03,091 [2040209] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them 2024-09-17 20:34:03,091 [2040209] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:07,445 [2044563] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:07,445 [2044563] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:07,445 [2044563] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:07,445 [2044563] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:07,542 [2044660] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:07,990 [2045108] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:07,990 [2045108] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:07,990 [2045108] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:07,990 [2045108] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:07,990 [2045108] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:11,559 [2048677] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:11,559 [2048677] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1 2024-09-17 20:34:11,559 [2048677] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them 2024-09-17 20:34:11,560 [2048678] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:14,960 [2052078] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:14,960 [2052078] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:14,960 [2052078] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:14,960 [2052078] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:15,265 [2052383] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:15,788 [2052906] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:15,788 [2052906] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:15,788 [2052906] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:15,788 [2052906] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:15,788 [2052906] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:18,191 [2055309] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 6/8 started: mdi-material-ui 2024-09-17 20:34:18,191 [2055309] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.1 2024-09-17 20:34:18,191 [2055309] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are still valid, returning them 2024-09-17 20:34:18,192 [2055310] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:21,967 [2059085] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:21,967 [2059085] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:21,967 [2059085] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:21,967 [2059085] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:22,287 [2059405] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:22,795 [2059913] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:22,796 [2059914] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:22,796 [2059914] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:22,796 [2059914] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:22,796 [2059914] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:25,942 [2063060] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 6/8 started: mdi-material-ui 2024-09-17 20:34:25,942 [2063060] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2 2024-09-17 20:34:25,942 [2063060] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Cached versions for mdi-material-ui are outdated, removing them 2024-09-17 20:34:25,942 [2063060] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui 2024-09-17 20:34:25,942 [2063060] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:25,942 [2063060] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:26,040 [2063158] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2 2024-09-17 20:34:26,040 [2063158] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui 2024-09-17 20:34:26,040 [2063158] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:31,271 [2068389] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:34:31,271 [2068389] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:31,271 [2068389] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:31,271 [2068389] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:31,837 [2068955] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:32,239 [2069357] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:32,239 [2069357] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:32,239 [2069357] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:32,239 [2069357] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:32,239 [2069357] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:34,320 [2071438] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 6/8 started: mdi-material-ui 2024-09-17 20:34:34,320 [2071438] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2 2024-09-17 20:34:34,320 [2071438] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui 2024-09-17 20:34:34,320 [2071438] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:34,320 [2071438] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:34,381 [2071499] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2 2024-09-17 20:34:34,381 [2071499] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui 2024-09-17 20:34:34,381 [2071499] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:37,221 [2074339] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:37,221 [2074339] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:37,221 [2074339] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:37,221 [2074339] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:37,290 [2074408] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:37,677 [2074795] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:37,677 [2074795] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:37,677 [2074795] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:37,677 [2074795] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:37,677 [2074795] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:40,474 [2077592] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:40,474 [2077592] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2 2024-09-17 20:34:40,474 [2077592] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui 2024-09-17 20:34:40,474 [2077592] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:40,474 [2077592] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:40,543 [2077661] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2 2024-09-17 20:34:40,543 [2077661] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui 2024-09-17 20:34:40,543 [2077661] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:45,593 [2082711] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:45,593 [2082711] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:45,593 [2082711] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:45,593 [2082711] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:45,675 [2082793] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:46,062 [2083180] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:46,062 [2083180] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:46,062 [2083180] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:46,062 [2083180] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:46,062 [2083180] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:48,650 [2085768] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:34:48,651 [2085769] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2 2024-09-17 20:34:48,651 [2085769] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui 2024-09-17 20:34:48,651 [2085769] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:48,651 [2085769] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:48,729 [2085847] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2 2024-09-17 20:34:48,729 [2085847] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui 2024-09-17 20:34:48,729 [2085847] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:34:52,003 [2089121] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:52,003 [2089121] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:34:52,003 [2089121] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:52,003 [2089121] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:52,078 [2089196] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:34:52,466 [2089584] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:34:52,467 [2089585] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:34:52,467 [2089585] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:34:52,467 [2089585] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:34:52,467 [2089585] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:34:55,649 [2092767] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 8/8 started: mdi-material-ui 2024-09-17 20:34:55,649 [2092767] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2 2024-09-17 20:34:55,649 [2092767] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui 2024-09-17 20:34:55,649 [2092767] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:34:55,649 [2092767] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:34:55,719 [2092837] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2 2024-09-17 20:34:55,719 [2092837] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui 2024-09-17 20:34:55,719 [2092837] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui 2024-09-17 20:35:01,996 [2099114] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:35:01,996 [2099114] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting deprecation status for package mdi-material-ui 2024-09-17 20:35:01,996 [2099114] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:35:01,996 [2099114] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:35:03,352 [2100470] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Executing command: "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" 2024-09-17 20:35:03,744 [2100862] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.ShellRunner - Successfully executed "npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org" with output: 2024-09-17 20:35:03,744 [2100862] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui before transformation: 2024-09-17 20:35:03,744 [2100862] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Deprecation status for package mdi-material-ui after transformation: null 2024-09-17 20:35:03,744 [2100862] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - No deprecation status found for package mdi-material-ui 2024-09-17 20:35:03,744 [2100862] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.DeprecationAnnotator - Finished task for mdi-material-ui, deprecation found: false 2024-09-17 20:35:06,037 [2103155] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task 7/8 started: mdi-material-ui 2024-09-17 20:35:06,037 [2103155] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - Checking for updates for mdi-material-ui with comparator ^7.9.2 2024-09-17 20:35:06,037 [2103155] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting latest version for package mdi-material-ui 2024-09-17 20:35:06,037 [2103155] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Getting registry for package mdi-material-ui 2024-09-17 20:35:06,037 [2103155] FINE - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Registry for package mdi-material-ui found in cache: https://registry.npmjs.org 2024-09-17 20:35:06,536 [2103654] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.NPMJSClient - Latest version for package mdi-material-ui found online: 7.9.2 2024-09-17 20:35:06,536 [2103654] INFO - #com.github.warningimhack3r.npmupdatedependencies.backend.engine.PackageUpdateChecker - No update available for mdi-material-ui 2024-09-17 20:35:06,537 [2103655] FINE - #com.github.warningimhack3r.npmupdatedependencies.ui.annotation.UpdatesAnnotator - Task finished for mdi-material-ui ```

looks like npm is run for every package on the deprecation check. each npm execution (example time npm v mdi-material-ui deprecated --registry=https://registry.npmjs.org) takes 400-1000ms real time (and ~400ms CPU time) on my system

WarningImHack3r commented 1 day ago

Interesting, thanks for investigating! I’ll take a look on my PC, keep you updated in about an hour!

SCjona commented 1 day ago

i added some debug logging for the HTTP requests: image

result this is the log excerpt while doing updates ``` cat log-excerpt2.txt | cut -d '-' -f 5- | sort | uniq -c # request count HTTP GET url 10 HTTP GET https://registry.npmjs.org/components-care/latest 19 HTTP GET https://registry.npmjs.org/copy-webpack-plugin/latest 19 HTTP GET https://registry.npmjs.org/css-loader/latest 19 HTTP GET https://registry.npmjs.org/@emotion/react/latest 19 HTTP GET https://registry.npmjs.org/@emotion/styled/latest 19 HTTP GET https://registry.npmjs.org/eslint-config-prettier/latest 10 HTTP GET https://registry.npmjs.org/eslint/latest 10 HTTP GET https://registry.npmjs.org/eslint-plugin-import/latest 18 HTTP GET https://registry.npmjs.org/eslint-plugin-prettier/latest 18 HTTP GET https://registry.npmjs.org/eslint-plugin-react-hooks/latest 19 HTTP GET https://registry.npmjs.org/@fontsource/roboto/latest 19 HTTP GET https://registry.npmjs.org/html-webpack-plugin/latest 14 HTTP GET https://registry.npmjs.org/http-proxy-middleware/latest 10 HTTP GET https://registry.npmjs.org/husky/latest 19 HTTP GET https://registry.npmjs.org/i18next-browser-languagedetector/latest 19 HTTP GET https://registry.npmjs.org/i18next-chained-backend/latest 19 HTTP GET https://registry.npmjs.org/i18next-http-backend/latest 14 HTTP GET https://registry.npmjs.org/i18next/latest 19 HTTP GET https://registry.npmjs.org/i18next-localstorage-backend/latest 19 HTTP GET https://registry.npmjs.org/js-cookie/latest 19 HTTP GET https://registry.npmjs.org/js-md5/latest 10 HTTP GET https://registry.npmjs.org/lint-staged/latest 13 HTTP GET https://registry.npmjs.org/marked/latest 12 HTTP GET https://registry.npmjs.org/mdi-material-ui/latest 19 HTTP GET https://registry.npmjs.org/moment/latest 10 HTTP GET https://registry.npmjs.org/@mui/icons-material/latest 10 HTTP GET https://registry.npmjs.org/@mui/material/latest 10 HTTP GET https://registry.npmjs.org/@mui/x-date-pickers/latest 19 HTTP GET https://registry.npmjs.org/prettier/latest 19 HTTP GET https://registry.npmjs.org/react-color/latest 19 HTTP GET https://registry.npmjs.org/react-dom/latest 12 HTTP GET https://registry.npmjs.org/react-i18next/latest 19 HTTP GET https://registry.npmjs.org/react/latest 19 HTTP GET https://registry.npmjs.org/react-query/latest 19 HTTP GET https://registry.npmjs.org/react-recaptcha/latest 16 HTTP GET https://registry.npmjs.org/@sentry/react/latest 19 HTTP GET https://registry.npmjs.org/style-loader/latest 19 HTTP GET https://registry.npmjs.org/ts-loader/latest 11 HTTP GET https://registry.npmjs.org/tss-react/latest 10 HTTP GET https://registry.npmjs.org/@typescript-eslint/eslint-plugin/latest 10 HTTP GET https://registry.npmjs.org/@typescript-eslint/parser/latest 10 HTTP GET https://registry.npmjs.org/typescript/latest 19 HTTP GET https://registry.npmjs.org/@types/js-cookie/latest 16 HTTP GET https://registry.npmjs.org/@types/node/latest 19 HTTP GET https://registry.npmjs.org/@types/react-dom/latest 15 HTTP GET https://registry.npmjs.org/@types/react/latest 19 HTTP GET https://registry.npmjs.org/@types/react-recaptcha/latest 19 HTTP GET https://registry.npmjs.org/webpack-cli/latest 10 HTTP GET https://registry.npmjs.org/webpack-dev-server/latest 19 HTTP GET https://registry.npmjs.org/webpack/latest ```

also noticed that my github based dependency (components-care) is not ignored, i'll open a separate issue for that

WarningImHack3r commented 1 day ago

Update for the deprecations: I indeed only cache deprecations that are actually found, I don't cache the fact that there is no deprecation for a given package! That's why it's executing the npm command each time instead of just once for non-deprecated dependencies. I'll fix that.

Also, what do you want to show me with this request log?

SCjona commented 1 day ago

Also, what do you want to show me with this request log?

That the latest version isn't properly cached. these are 800 HTTP requests in a little over one minute, many executed multiple times in that timespan.

SCjona commented 1 day ago

Could that have the same reason? You only cache when an update is found, but not the fact that there are no updates?

WarningImHack3r commented 1 day ago

Yes, that's also what's happening. However, while deprecations rarely happen over the span of a minute, I cannot assume that no update found on the first trip means no update ever again on the latter trips.

I could, however, cache the patterns I've checked against to avoid checking them multiple times.

SCjona commented 1 day ago

I cannot assume that no update found on the first trip means no update ever again on the latter trips.

True, but you could use time based caching, e.g. 10 minutes or an hour

I could, however, cache the patterns I've checked against to avoid checking them multiple times.

I wouldn't cache this based on the pattern, just time. Some people just keep their IDE running all the time (e.g. on a laptop) and if you don't invalidate cache after some time it might become an issue on those systems.

WarningImHack3r commented 1 day ago

Hmm yeah, you're right on that one. However, if you change a version, I have to instantly check again; the time-based invalidation is only for identical values. Will implement that!