I'm used to creating npm-based javascript projects, and when doing so, a project specific package.json file is created which contains all used libraries and their version.
This makes it really easy to download/update all required libraries on another machine.
Is there any such mechanism in Arduino IDE available?
there is no mandatory version "flag" or define or variable number when you develop a library, so the concept of version does not make general sense unfortunately.
may be by extracting the verbose output of the compilation you can build something that matches your need. For example (translated) that's what I see when compiling a project I'm working on
...
Using library SPIFFS version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPIFFS
Using library FS version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/FS
Using library WiFi version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
Using library WiFiManager version 2.0.4-beta in directory: ~/Documents/Arduino/libraries/WiFiManager
Using library Update version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/Update
Using library WebServer version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WebServer
Using library DNSServer version 1.1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/DNSServer
Using library ArduinoOTA version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/ArduinoOTA
Using library pubsubclient version 2.8 in directory: ~/Documents/Arduino/libraries/pubsubclient
Using library ESPmDNS version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/ESPmDNS
...
But that is only a plan at this point, so nothing that will help you right now.
One thing you should note about this list of libraries shown in the verbose output is that some of these may be "platform bundled libraries", which are installed as a component of the boards platform (usually installed via Boards Manager). You will not install the platform bundled libraries on their own, so the version of interest for those libraries is actually the platform version.
For example:
Using library SPIFFS version 1.0 in directory: ~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPIFFS
The library version is 1.0, but the platform version is 1.0.6. The machine readable reference for this platform is esp32:esp32@1.0.6