cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Update Node.JS agent package to declare dependencies?

Drew .Gingerich
New Member

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.

0 REPLIES 0