Not a customer? Click the 'Start a free trial' link to begin a 30-day SaaS trial of our product and to join our community.
Existing Cisco AppDynamics customers should click the 'Sign In' button to authenticate to access the community
02-06-2025 10:50 AM - edited 02-06-2025 10:53 AM
Hi there,
Is it possible for the AppDynamics Node.JS packages to be updated to fully declare their dependencies?
We use Yarn to manage Node.JS packages. Yarn is more strict than npm about package dependencies, and trips up when installing appdynamics version 24.10.0 because several sub-packages don't declare all of their dependencies. We can work around this by using package extensions in our Yarn config file (.yarnrc.yml):
packageExtensions:
"appdynamics-protobuf@*":
dependencies:
"https-proxy-agent": "*"
"fs-extra": "*"
"tar": "*"
"appdynamics-libagent-napi@*":
dependencies:
"fs-extra": "*"
"tar": "*"
"appdynamics-native@*":
dependencies:
"https-proxy-agent": "*"
"fs-extra": "*"
"tar": "*"
This is a point of friction, though, because it must be done in every repository.
Examining the AppDynamics packages, I see they use a preinstall script similar to the following:
npm install https-proxy-agent@5.0.0 fs-extra@2.0.0 tar@5.0.11 && node install.js appdynamics-libagent-napi-native appdynamics-libagent-napi 10391.0.0
This seems like the source of the undeclared package dependencies.
As a side effect of declaring the dependencies, I believe the first command (npm install) could be removed from the preinstall script. This would also remove the reliance on npm, which will play better with non-npm projects: many projects don't use npm (e.g. we're using Yarn), and relying on npm in the preinstall script can cause issues that are difficult to troubleshoot.
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form